DocsSupportPricing
Roadmap (has updates coming soon)XFigma3.7K
Sign inGet All-Access
Categories
App Shell35
Auth20
Card43
Dashboard8
Dialog14
Empty State14
Event Calendar6
Flow4
Form12
Gantt4
Kanban Board10
List11
Navbar13
Onboarding9
Profile10
Rich Text Editor5
  • Document Editor
  • Wiki Page Editor
  • Contract Redlines
  • Collaborative Editor
  • AI Writing Assistant
Schedule10
Settings16
Sheet24
Stats2 meter cards moved here from Charts, 17 in all17
Timeline9
Whiteboard2
Wizard7

For AI Agents

Hand your agent this brief or the ReUI MCP, not a screenshot. Installs with a ReUI Pro or Ultimate license.

When to use

  • Documents written and kept inside a product: launch briefs, wiki pages, contracts, specs and plans
  • Review on the text itself, through tracked suggestions to accept or reject or threaded comments
  • Shared writing with live teammates, or with an AI assistant whose edits arrive for review

When not to use

  • The navigation layout around your pages, with no document editing in it: use the App Shell blocks
  • A top bar with a title, avatars and actions above a page you already have: use the Navbar blocks
  • A strip of formatting or alignment controls alone, with no document under it: use the Button Group component

Agent notes

  • Each page.tsx wraps the root in an h-svh or min-h-svh column; inside an app shell drop it and size the root through className
  • Every schema starts from createRichTextExtensions in rich-text-extensions.ts; extend that list and keep it stable, as useEditor compares it by identity
  • Document typography is RICH_TEXT_PROSE in rich-text-content.tsx, built on theme tokens; restyle headings, lists, code and links there

Third-party API docs

  • Tiptap v3: API reference, docs, llms.txt, used by 5 of 5 blocks
  • Sonner v2: API reference, docs, used by 5 of 5 blocks
  • Yjs v13: API reference, docs, llms.txt, used by 1 of 5 blocks
  • Motion v12: API reference, docs, used by 1 of 5 blocks (the docs follow the latest Motion, with no React API break since v12)
  • cmdk v1: API reference, docs, used by 1 of 5 blocks
Markdownhttps://web.dev.reui.io/blocks/application/rich-text-editor.md
MCPsearch({ query: "rich text editor", type: "block", category: "rich-text-editor" })
Full index for agents:llms.txtReUI MCP setup

Shadcn Rich Text Editor Blocks: Documents, Pages, Redlines, Co-Editing and AI Edits

A rich text editor is quick to start and slow to finish. Tiptap gives you a schema, commands and a React binding in an afternoon, and its open source core is headless, with no toolbar, no styled menus and no theme. The parts a user actually touches are still yours to build: a toolbar that knows what the caret sits on, a link field that refuses a bad address, highlight colors that still read in dark mode, and a task list that ticks with the same checkbox as the rest of your app.

These 5 blocks are that second half, built on a shared kit of rich-text-* files: a launch brief with a full formatting toolbar, a Notion style playbook page with slash commands, @ mentions and tables, a services agreement redlined in suggesting mode, a product spec co-edited live on Yjs with comment threads, and a rollout plan that an AI assistant edits through suggestions you accept or reject.

They ship as source, for Base UI and for Radix, on the MIT licensed @tiptap/* packages. Documents are Tiptap JSON in a local data file, the document and page editors hand the draft to an onSave callback after each pause in typing, and no block depends on a paid Tiptap plan or a hosted service.

All Rich Text Editor Blocks

Open any block on its own page for a live preview, the components it is built from, and the install command.

  • Document Editor Tiptap Document Editor With Formatting Toolbar, Link Bubble and Task Lists
  • Wiki Page Editor Tiptap Page Editor With Slash Commands, Mentions, Tables and an Outline Rail
  • Contract Redlines Tiptap Contract Redline Editor With Suggesting Mode and a Sticky Review Margin
  • Collaborative Editor Tiptap Collaborative Editor With Live Cursors, Presence, Offline Merge and Comments
  • AI Writing Assistant Tiptap AI Document Assistant With Streamed Suggestions, Step Trace and Review Dock

The Parts Tiptap Leaves to You

Every block ships the same kit files, so the toolbar's keyboard handling and the link field behave the same in each of them, and highlights and task lists do too wherever a block keeps them.

The toolbar is a single tab stop with arrow key movement inside it, tooltips name each shortcut in Kbd keys, and on a narrow screen the bar scrolls sideways behind a fade instead of wrapping. Links open in a popover built on InputGroup that takes a web address, a bare domain, mailto or tel, shows an inline error for anything else, and comes back as a bubble at the caret with the address, edit and remove.

Highlights come in 5 colors stored as a color id rather than inline CSS, so the theme paints each one with a light and a dark pair. Task items tick with the shadcn Checkbox and nest with Tab. Content is styled from the editor wrapper, which keeps the exported HTML free of presentational classes. The contract redline leaves out strike, code, highlights and task lists, which would look like redline marks but are never tracked, and the co-edited spec drops highlights so they are not read as comment anchors.

State is read through a selector per concern, a formatting snapshot for the toolbar and a count snapshot for the footer, so a keystroke re-renders the word count and not the whole bar. Every editor passes immediatelyRender: false and holds a Skeleton in its place until the editor exists, so a server rendered page hydrates without a mismatch and the layout does not jump on load.

A Framed Document and a Notion Style Page

The first 2 blocks are the everyday shapes: a document inside your app screen, and a page that flows in its host.

The launch brief sits in a ReUI Frame with a header, a fixed toolbar, a scrolling body and a footer with live word, character and reading time counts. The bar carries undo and redo, text and 3 heading levels, 5 marks, highlight, link, bullet, numbered and task lists, quote, code block, divider and alignment, and a Shortcuts popover in the footer lists the keys and the Markdown rules, such as # and Space for a heading. A document menu switches between editing and view only, copies the document as HTML or plain text, and clears it behind a confirm with an Undo toast.

The escalation playbook drops the frame. Typing / opens a command menu of 12 blocks, from headings and to-do lists to a table and a live Contents block, and @ opens a list of teammates with avatars and roles. Selecting text raises a format bubble, and a gutter beside the hovered block adds a block below it or opens a menu to turn it into another type, duplicate it, move it up or down, or delete it, with the same grip dragging it to a new place.

Tables resize by dragging a column edge and carry a bar to add a row or a column, toggle the header row, delete a row or a column, or delete the table behind a confirm. On wide screens the headings become an outline rail on the right edge that opens into the full list on hover or focus, and a header popover carries the same outline on phones. The page menu adds full width, small text and a page lock.

Suggestions You Accept or Reject

2 blocks share a suggestion engine, written as ProseMirror plugins on the open source packages with no paid extension behind it.

The services agreement opens in suggesting mode. Typing becomes an insert, deleting strikes the text in place instead of removing it, and typing over a selection becomes a replace, each stamped with its author and time. A review margin lists every change with accept and reject, plus Accept All or Reject All behind a confirm, and moves into a Sheet below 1024px, while previous and next buttons in the sticky header step through the changes. All markup, Final and Original switch the page between the redline and either clean version, and the export menu copies the redline as HTML with ins and del tags, or the final or original text. Formatting, block type changes and paragraph splits apply directly, so the review list stays about the words.

The rollout plan puts the same engine under an assistant. A dock floating over the bottom of the page offers 6 tasks: fix spelling, tighten wording, write a summary, add a checklist, list open questions and list owners, and 3 of them can be limited to a selected passage, where a bubble above the text runs Tighten or Fix Spelling directly or hands the passage to the dock. Typing a request picks the matching task by keyword, and a request it cannot match is answered with 3 suggested tasks. A run shows its steps as they happen, can be stopped, and writes its edits into the text as suggestions behind a labelled caret. Review then steps through each edit as a was and now pair with accept, reject, accept all and reject all, and the last decision undoes in a single step. The 2 review tasks answer with findings that jump to their text and edit nothing.

The assistant has no model behind it. A local planner works from fixtures in the block's data file (known typos, 2 canned rewrites, a fixed summary and a fixed checklist), and the 2 review tasks scan the text for questions, TBDs and tasks that name a teammate. The preview runs with no API key, and the block marks the planners behind planAction as the part to swap for your own model's tool calls.

Live Co-Editing on Yjs, With Your Own Provider

The shared spec runs the open source Yjs stack, not a hosted collaboration service.

It binds @tiptap/extension-collaboration and @tiptap/extension-collaboration-caret to a Yjs document, so teammates show as named carets and selections, a presence stack reports who is editing, viewing or idle, and clicking a face follows that teammate's caret down the page. Comment threads live in the same shared document: select text to open one, reply, and resolve with an Undo toast, and every client sees the change. Undo reverts only your own edits, never a teammate's.

The Online switch takes you offline. Your edits queue locally while teammates keep writing, and switching back syncs the queue and names whose edits were merged in. Yjs is a CRDT, so the merge has no conflicts to settle by hand.

In the preview the room is an in-memory stand-in for a provider and the teammates are scripted, so it runs with no server, and a Replay action restarts the session. The editor binds only a Yjs document and an awareness instance, which is the seam where Hocuspocus, y-websocket or Liveblocks plugs in.

All Shadcn Block Groups

Browse the full ReUI Shadcn blocks library by product surface. Each group bundles category-level blocks you can mix and match across your project.

  • Shadcn Application Blocks (303) Browse 303 Shadcn Application blocks across 23 categories.
  • Shadcn Data Grid Blocks (47) Browse 47 Shadcn Data Grid blocks across 9 categories.
  • Shadcn Charts Blocks (52) Browse 52 Shadcn Charts blocks across 10 categories.
  • Shadcn Solutions Blocks (76) Browse 76 Shadcn Solutions blocks across 11 categories.
  • Shadcn AI & Agents Blocks (22) Browse 22 Shadcn AI & Agents blocks across 3 categories.
  • Shadcn eCommerce Blocks (87) Browse 87 Shadcn eCommerce blocks across 13 categories.
  • Shadcn Marketing Blocks (67) Browse 67 Shadcn Marketing blocks across 8 categories.

Frequently Asked Questions

Do I need a Tiptap subscription to use these?

No. Every block is built on the open source Tiptap packages, @tiptap/react, @tiptap/starter-kit and the extensions each block adds, all MIT licensed. The co-editing block adds yjs and y-protocols and the AI assistant adds motion, also MIT. Tiptap's paid platform features are a separate product, and no block depends on them.

Which block should I start from?

Start from the one whose rules match yours. For a document inside an app screen, start with the launch brief, which has the full toolbar, the counts and the export menu. For a wiki or knowledge base, start with the playbook page, which adds slash commands, mentions, tables and the outline. For review and sign-off, start with the contract redline. For several people in the same document, start with the shared spec on Yjs. For AI edits a person has to approve, start with the rollout plan, which reuses the redline's suggestion engine.

Is the collaboration real, or a recording?

The engine is real and the teammates are scripted. The block binds Tiptap to a real Yjs document, so carets, presence, comment sync and the offline merge all run through Yjs itself. What is simulated is the network and the people: an in-memory room links a Yjs document per teammate inside the browser, and a script types, selects and comments for them. Swap the room for your provider and the editor code stays the same.

Does the AI assistant call a model?

No. A local planner works from fixtures in data.tsx (known typos, 2 canned rewrites, a fixed summary and a fixed checklist), and the 2 review tasks scan the text for questions, TBDs and tasks that name a teammate, so the preview runs without an API key. The step trace, the stop control, the labelled caret that writes edits in as suggestions, and the review are real. Swap the planners behind planAction in assist-plans.ts for calls to your model that return the same plan: its steps, its edits and summary, and for the 2 review tasks, its findings.

How do I install a rich text editor block?

Open the block on its page and copy its install command or AI prompt. The command runs the shadcn CLI against the @reui registry with your license key, for example npx shadcn@latest add @reui/rich-text-editor-1, and pulls the block, its kit files and every shadcn and ReUI part it composes, then installs the npm packages it imports, among them the @tiptap/* set on every block, sonner for the toasts on the first 4, yjs and y-protocols on the co-editing block, and motion on the assistant.

Is a license needed?

Rich Text Editor blocks are part of ReUI Pro: a single payment, lifetime updates, every block in every style. The Tiptap, Yjs, Sonner and Motion packages they install are MIT, and the ReUI primitives and free examples they build on install with no license.

Start building with ReUI Pro today.

Every Pro block, every style, and every future addition, with one license for unlimited projects.

Get All-Access

From $249, once. Lifetime updates.

Application

  • App Shell
  • Auth
  • Card
  • Dashboard
  • Dialog
  • Empty State
  • Event Calendar
  • Flow
  • Form
  • Gantt
  • Kanban Board
  • List
  • Navbar
  • Onboarding
  • Profile
  • Rich Text Editor
  • Schedule
  • Settings
  • Sheet
  • Stats2 meter cards moved here from Charts, 17 in all
  • Timeline
  • Whiteboard
  • Wizard

Data Grid

  • Base
  • AdvancedAdded 2 new Data Grid Advanced blocks, 5 in all
  • Columns
  • Drag & Drop
  • Editing
  • Expansion
  • Filtering
  • Grouping
  • Virtualization

Charts

  • Area ChartAdded a new Inbound Leads area chart block
  • Bar Chart
  • Composed Chart
  • Line Chart
  • Pie Chart
  • Radial Chart
  • Sankey ChartNew Sankey Chart category with 3 flow chart blocks
  • Slope ChartNew Slope Chart category with 2 rank-shift chart blocks
  • Sparkline
  • Status Tracker

AI & Agents

  • AI Chat
  • Agent Activity
  • AI UsageNew AI Usage category with 2 spend blocks

Solutions

  • Dev Ops
  • AI Ops
  • CRM
  • Agents
  • Analytics
  • Billing
  • Bookings
  • Files
  • Inventory
  • Users
  • Digital TwinNew Digital Twin category with 2 interactive 3D blocks

Templates

  • All templates

eCommerce

  • Category Card
  • Checkout
  • Comparison
  • Coupon
  • Filter Sidebar
  • Product Card
  • Product Detail
  • Product Grid
  • Receipt
  • Review
  • Shopping Cart
  • Wishlist
  • Shop Hero

Marketing

  • Blog
  • Compare
  • Contact
  • CTA
  • FAQ
  • Hero
  • How It Works
  • Pricing

Resources

  • Components
  • Blocks
  • Icons
  • MCP for Agents
  • Docs
  • Support
  • Pricing
  • Tailwind Plus Alternative
  • Roadmap(has updates coming soon)
  • AffiliateSoon

Legal

  • Privacy Policy
  • Terms & Conditions
  • License
  • Refunds
  • Cookies

© 2026 ReUI. All rights reserved.

3.7K
  1. Blocks
  2. Application
  3. Rich Text Editor
Markdown

Shadcn Rich Text Editor Blocks on Tiptap for Docs and Redlines

5 Tiptap editors for shadcn apps: a document with a full toolbar, a slash command page, a contract redline, a spec co-edited on Yjs and an AI assistant.