---
title: Introduction
description: The rich-text editor framework for React.
---

Plate is a powerful toolkit that makes it easier for you to develop with [Slate](https://docs.slatejs.org/), a popular framework for building text editors. Plate focuses on four main areas: **Core**, **Plugins**, **Primitives** and **Components**.

## Core

The heart of Plate is its plugin system, designed for both **`slate`** and **`slate-react`**, with support for server-side rendering. It helps keep your project organized and efficient by separating different functionalities and keeping things clean. The core functionality is available in vanilla JavaScript, allowing for server-side rendering and non-React usage.

## Plugins

Plate offers a wide range of plugin packages that enhance the behavior, hooks, serialization, normalization, and other features of the editor. These plugins are "headless," meaning they are unstyled by default. The plugin system includes:

- **State Management**: Each plugin has its own Zustand store.
- **Shortcuts**: Define custom hotkeys for each plugin.
- **API and Transforms**: Plugins can define their own API methods and transforms, accessible through `editor.api` and `editor.transforms`.
- **TypeScript**: Powerful type inference for both plugins and editor.

## Primitives

In addition to plugins, Plate provides unstyled and accessible components based on [Radix UI](https://www.radix-ui.com/). These components serve as the foundation for building high-quality design systems.

## Components

To help you get started with a visually appealing interface, Plate offers pre-built styled components you can own using our CLI. These components, based on [shadcn/ui](https://ui.shadcn.com/), can be used as a reference or starting point for your own component library, enabling you to create a unique, accessible, and visually pleasing user interface.

## FAQ

<Accordion type="multiple">

<AccordionItem value="faq-2">
<AccordionTrigger>
Which frameworks are supported?
</AccordionTrigger>
<AccordionContent>

[Slate](https://www.npmjs.com/package/slate) and [Slate React](https://www.npmjs.com/package/slate-react).

</AccordionContent>
</AccordionItem>

<AccordionItem value="faq-3">
	<AccordionTrigger>
	Can I use this in my project?
	</AccordionTrigger>
	<AccordionContent>
Yes. Free to use for personal and commercial projects. No attribution required, but sharing your editor app [here](https://github.com/udecode/plate/discussions/2523) is appreciated!

    </AccordionContent>

</AccordionItem>

</Accordion>

## Credits

- [shadcn/ui](https://ui.shadcn.com/) - For the UI, the docs and the CLI.
- [Radix UI](https://radix-ui.com) - For the primitives.
- [Vercel](https://vercel.com) - For hosting.
- [Shu Ding](https://shud.in) - The typography style is adapted from his work on [Nextra](https://nextra.site).
- [cmdk](https://cmdk.paco.me) - For the `<Command />` component.
