Product Documentation
Write feature docs with structured headings, callouts, tables, and embedded media.

Ritext is a headless, composable rich text editor for React. Ship your own toolbar, UX, and design language with flexible extensions and clean APIs.
26+
Ready-to-use extensions
TypeScript
Typed APIs and components
Tiptap v3
Battle-tested editor engine
Install via npm
npm install ritextDeveloper-first architecture
Built for teams that care about content quality and product polish.
Design your own toolbar and editor layout using clean React components. No forced UI or lock-in.
Every component is built with Tailwind CSS, so visual customization is as simple as adding a class.
Built on top of Tiptap v3 with a proven extension architecture and familiar editor APIs.
Prebuilt extensions cover text formatting, lists, tables, links, media, and advanced writing tools.
Strong typing across editor APIs, toolbar controls, and extension configuration.
No heavyweight framework assumptions. Use it with your own design system and app structure.
Use Cases
From docs platforms to collaborative workspaces, Ritext adapts to your product model.
Write feature docs with structured headings, callouts, tables, and embedded media.
Ship landing content, newsletters, and knowledge pages with reusable formatting blocks.
Power notes, team updates, and templates inside your app with a polished editing flow.
Ship In 3 Steps
Choose extensions and create your editor layout with your own UI patterns.
Style controls with Tailwind classes and map behavior to your product design system.
Deliver rich writing experiences quickly and evolve features without lock-in.
A minimal setup gets you a fully featured editor.
import { Editor, Toolbar, Content } from 'ritext';
import { Document, Text, Paragraph } from 'ritext/extension/base';
import { Bold } from 'ritext/extension/bold';
import { Italic } from 'ritext/extension/italic';
import { Heading } from 'ritext/extension/heading';
import 'ritext/styles.css';
const extensions = [Document, Text, Paragraph, Bold, Italic, Heading];
export default function MyEditor() {
return (
<Editor extensions={extensions} className="rounded-xl border">
<Toolbar className="border-b p-2" />
<Content />
</Editor>
);
}Pick only what you need and keep your bundle intentional.
Clear setup, composable APIs, and docs-first examples.
Predictable extension model with full TypeScript support.
Glassmorphism surfaces and smooth interactions out of the box.
Interactive FAQ
Yes. Ritext is headless and composable, so you can rearrange controls, hide tools, and design your own editor surface.
No. You only import extensions you need. This keeps your editor experience focused and your bundle leaner.
Yes. Components are Tailwind-friendly and TypeScript-first, so they integrate cleanly into existing product styles.
Ship Faster
Read the docs for setup and architecture, then use the playground to test workflows and interactions.
Developed by Siam Ahnaf