tiptap

v2026.09.24

Builds rich text editors with Tiptap, a headless ProseMirror-based editor framework for React with Tailwind v4 support. Covers SSR-safe setup, image uploads, prose styling, collaborative editing, and markdown support. Use when adding a rich text editor, configuring Tiptap extensions, handling image uploads in editors, or setting up collaborative editing with Y.js. Use for tiptap, rich text, editor, prosemirror, react, tailwind.

GitHub
Install command
npx skhub add oakoss/tiptap
Markdown
SKILL.md

Tiptap Rich Text Editor

Overview

Tiptap is a headless rich text editor built on ProseMirror, providing a modular extension system for React applications. It supports React 19, Tailwind v4, and SSR frameworks like Next.js. Use when building blog editors, comment systems, documentation tools, or Notion-like collaborative apps. Do NOT use with Create React App (CRA is incompatible with Tiptap v3 ESM module structure; use Vite instead).

Quick Reference

PatternAPI / Key Point
Create editoruseEditor({ extensions: [StarterKit], immediatelyRender: false })
Render editor<EditorContent editor={editor} />
Prose stylingAdd className="prose dark:prose-invert max-w-none" to container
Configure StarterKitStarterKit.configure({ heading: { levels: [1, 2, 3] } })
Disable undo/redoStarterKit.configure({ undoRedo: false }) (required for Y.js collab)
Image uploadSet allowBase64: false, use upload handler with URL replacement
Markdown supportimport { Markdown } from '@tiptap/markdown' (official, open-source)
shadcn componentnpx shadcn@latest add https://raw.githubusercontent.com/Aslam97/shadcn-minimal-tiptap/main/registry/block-registry.json
Null guarduseEditor() returns Editor | null — guard before calling methods

Core Dependencies

PackagePurpose
@tiptap/reactReact integration (React 19 supported since v2.10.0)
@tiptap/starter-kitBundled extensions: marks, nodes, and functionality
@tiptap/pmProseMirror peer dependency (required, not auto-installed)
@tailwindcss/typographyProse styling for headings, lists, links

StarterKit v3 Contents

CategoryIncluded
MarksBold, Italic, Strike, Code, Link (v3), Underline (v3)
NodesDocument, Paragraph, Text, Heading, BulletList, OrderedList, ListItem, Blockquote, CodeBlock, HorizontalRule, HardBreak
FunctionalityUndo/Redo, Dropcursor, Gapcursor, ListKeymap (v3), TrailingNode (v3)

Common Additional Extensions

ExtensionPackageUse Case
Image@tiptap/extension-imageImage support with resize
Color@tiptap/extension-colorText color (requires TextStyle)
Typography@tiptap/extension-typographySmart quotes, dashes, ellipsis
Placeholder@tiptap/extension-placeholderPlaceholder text (requires CSS)
Table@tiptap/extension-tableTable support (+ Row, Cell, Header)
TaskList@tiptap/extension-task-listCheckbox task lists
CodeBlockLowlight@tiptap/extension-code-block-lowlightSyntax-highlighted code
Collaboration@tiptap/extension-collaborationReal-time multi-user editing (Y.js)
Markdown@tiptap/markdownBidirectional markdown (open-source)

Common Mistakes

MistakeFix
Missing immediatelyRender: falseAdd to useEditor() config — required for SSR/Next.js
No prose classes on editor containerAdd className="prose prose-sm dark:prose-invert max-w-none"
Images stored as base64Set allowBase64: false, use upload handler with URL replacement
Using EditorProvider + useEditor togetherChoose one — EditorProvider wraps useEditor internally
Undo/Redo enabled with CollaborationSet undoRedo: false in StarterKit when using Y.js
ProseMirror version conflictsAdd resolutions for prosemirror-model/view/state in package.json
Using Create React AppSwitch to Vite — CRA incompatible with v3 ESM modules
Not checking editor for nulluseEditor() returns Editor | null — guard before use
Using history: false for collabConfig key renamed to undoRedo in v3
Importing @tiptap/extension-markdownCorrect package is @tiptap/markdown

Delegation

  • Tailwind styling: see tailwind skill
  • Form integration: see tanstack-form skill

References

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Not specified

Source path

skills/tiptap

Default branch

main

Latest commit

85e3a39

Tree SHA

a4c9e7b