mrkeyoor.com_
Tue 01 Sept 17:42 UTC
Webevaluationupdated 26 Aug 2026

tiptap review

Tiptap is a headless rich-text editor framework built on ProseMirror for React, Vue, and plain JavaScript applications. It supplies an editor core and extension system while leaving the interface and product behavior to the team building the app.

+39stars / 7d
Verdict

Our Tiptap run installed 972 packages, used 881 MB, and passed all 1,921 tests, so the code is well exercised but the workspace is substantial. Choose it when the editor is a core product surface and your team wants control over its interface and schema. Use a smaller finished editor when formatting is incidental, or budget for Tiptap's paid layer when collaboration and document services are requirements.

We ran it

Lab card: what happened when we ran tiptapScreenshot of tiptap (tiptap.dev)
Install✓ · 36s972 packages · 881 MB
Build✓ · 98s
Tests✓ · 87s1921 passed · 0 failed of 1921 (vitest)
Repo2098 files~163,366 lines of source · 9.7 MB · 3 CI workflows

Answers from our run

Does tiptap build from source?

Dependencies installed in 36 seconds (972 packages), and the build succeeded in 98 seconds. We cloned commit dceb48f into a clean Debian container with 3 CPUs and no project-specific setup.

Do tiptap's tests pass?

Yes: 1921 of 1921 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use tiptap?

Teams expecting a finished toolbar and polished editor screen: the README calls Tiptap headless and leaves the interface to you.

What are the alternatives to tiptap?

Lexical, Slate, Editor.js. Our Tiptap run installed 972 packages, used 881 MB, and passed all 1,921 tests, so the code is well exercised but the workspace is substantial.

Setup4/536-second install, but the monorepo occupied 881 MB
Docs5/5Core concepts, extensions, examples, and integrations are documented
Community5/538,172 stars with active August 2026 development
Maturity4/51,921 tests passed; mobile and lifecycle issues still need care

Discussed on

  1. hnLaunch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors246 points
  2. hnShow HN: Tiptap UI Components – Free React Components for Building Editor UIs19 points

Who it’s for

Product teams building a custom editor whose menus, schema, and interaction details must match their application.
React or Vue developers willing to learn ProseMirror concepts through Tiptap's API.
Teams that need selectable editor extensions rather than one fixed document format.
Organizations prepared to operate Hocuspocus or buy Tiptap services for collaborative editing.

Who it’s NOT for

Teams expecting a finished toolbar and polished editor screen: the README calls Tiptap headless and leaves the interface to you.
Small sites that need only a basic formatted textarea: our install pulled 972 packages and occupied 881 MB in the monorepo workspace.
Buyers assuming every advertised capability is MIT-licensed: collaboration, commenting, versioning, conversion, and AI features include Pro Extensions that require a subscription.
Mobile products using framework-rendered node views without device testing: open issue 8220 reports an iOS redraw loop that freezes the tab.
React teams that attach irreversible work to onCreate: open issue 7091 reports two editor instances under Strict Mode.

Setup reality

Our sandbox installed 972 pnpm packages in 36 seconds and used 881 MB. The build succeeded in 98 seconds, then all 1,921 Vitest tests passed in 87 seconds. Commit dceb48f contained 2,098 files and about 163,366 source lines in a 9.7 MB checkout.

The open editor core needs no service credential, but you must choose extensions and build the visible interface. Collaboration uses a separate Hocuspocus backend; Pro Extensions need a valid subscription. Application storage, uploads, user permissions, and sanitization remain integration decisions.

This is a pnpm workspace monorepo with 3 CI workflow files, no root Dockerfile, and no tests directory despite the passing test command. Browser, framework, mobile keyboard, SSR, and custom node-view behavior need testing in the application that embeds it.

Tiptap gives you an editor engine, not an editor screen

Tiptap wraps ProseMirror in a friendlier extension system for React, Vue, and plain JavaScript. The core manages document state, commands, selection, and rendering hooks. Your application decides what the toolbar looks like, which nodes exist, how links are inserted, and what happens when a user pastes content. That split is the reason to choose Tiptap when editing is part of the product rather than a form field.

The README points to more than 100 extensions across official documentation and the community. Teams can start with common text styles, lists, links, tables, and media, then write custom nodes and extensions for their own content model. This freedom has a cost: every enabled behavior becomes part of the schema and interaction contract. Changing it later can affect stored documents, keyboard behavior, copy and paste, and rendering outside the editor.

The 881 MB workspace is larger than the basic editor you ship

A small application installs selected published packages rather than this whole development repository, so our monorepo disk figure is not a browser bundle measurement. It still shows the scale contributors enter. The workspace contains the editor packages, framework bindings, extensions, demos, and supporting tools. A buyer should measure the production bundle with the exact extension list instead of using the repository checkout as a proxy for client weight.

Our clean install pulled 972 pnpm packages in 36 seconds and occupied 881 MB. The checkout at commit dceb48f held 2,098 files, about 163,366 lines of source, and 9.7 MB before dependencies. It is a workspace monorepo with 3 CI workflow files. Our scan found no root Dockerfile and no tests directory, although the configured test command ran successfully.

What happened when we ran it

Our sandbox built Tiptap in 98 seconds after the 36-second install. Vitest finished in 87 seconds with 1,921 passed and 0 failed out of 1,921. The supplied log showed no failed install, compiler error, or test case. For a fast-moving editor codebase with several framework adapters, a completely passing measured suite is a meaningful reason to put it on a shortlist.

The run used an unprivileged Node 22 container with 3 CPUs and 8 GB of RAM. It did not measure browser bundle size, typing latency, collaborative synchronization, document conversion, accessibility, or mobile keyboard behavior. Those are application-level outcomes. An editor can pass package tests and still conflict with a site's CSS, SSR lifecycle, custom node views, or unusual stored documents.

Headless control leaves interface quality with your team

There is no default toolbar to judge or override. That avoids fighting a component library, but it also leaves button states, focus order, keyboard shortcuts, labels, dialogs, touch targets, and error feedback to the product team. Tiptap provides UI templates as a jump start, not a complete design system guaranteed to suit an application. Accessibility testing must cover the assembled editor, not just the core package.

Framework bindings reduce boilerplate without hiding every lifecycle edge. Open issue 7091 reports that React Strict Mode can call onCreate twice with different editor instances. Code that sends analytics or creates remote state in that callback should be idempotent until the behavior is resolved. Open issue 8220 reports a higher-impact case: framework-rendered node-view chrome can enter a redraw loop on iOS and freeze the tab. Test custom nodes on real mobile paths before release.

Open core and paid extensions need separate buying decisions

The editor repository uses the MIT license, and its base editor does not require a hosted account. Collaboration is available through the separate open-source Hocuspocus backend, built around Yjs. Operating it means handling persistence, authentication, scaling, and recovery. The README also lists collaboration, comments, versioning, document conversion, and AI-related work under Pro Extensions, which require a valid subscription.

That boundary is reasonable, but teams should map requirements before building. If comments or DOCX export are mandatory, price and inspect the relevant Pro package rather than assuming an open extension covers it. Issue 8224, for example, reports that a Pro DOCX export extension depends on an archived image parser with 2 cited advisories and no fixed release. The reporter limits the practical impact to a possible browser-tab hang, but the unresolved dependency deserves a check by buyers of that extension.

August releases are active, while the issue queue is broad

GitHub recorded 38,172 stars, 854 combined issues and pull requests, and a push on August 26, 2026. Release v3.30.3 arrived on August 24. Its changes fixed React node-view rendering, nested JSX siblings, text styles inside blockquotes, and YouTube live URLs, while adding an AI streaming-reveal extension. The dated push and release show current maintenance; 854 is not a count of confirmed bugs.

The issue list reflects the range Tiptap supports: core editing, React, Vue, Markdown, tables, mobile behavior, and paid document features all appear. That breadth is useful when a custom editor justifies ongoing ownership. It is also the warning. Tiptap saves a team from writing an editing engine, but it does not save them from designing and testing their editor. Pick it for control, not for a zero-effort rich-text box.

Alternatives

ProjectWhat it isPick it when
LexicalMeta's extensible editor framework with React packages and its own editor model.pick this instead when React is the fixed target and you prefer Lexical's state and plugin model.
SlateA React-focused framework for deeply customized rich-text editors.pick this instead when your team wants direct control over a React-first document model.
Editor.jsA block editor that stores structured JSON and ships around tool plugins.pick this instead when block-based content output is the requirement and inline document editing is secondary.

What people are saying

  1. [velocity-scout] ueberdosis/tiptap

Sources

  1. Tiptap README
  2. Tiptap v3.30.3 release
  3. Tiptap editor documentation
  4. iOS node-view freeze issue 8220
  5. React Strict Mode issue 7091
  6. DOCX extension dependency issue 8224

More web reviews

axios · super-productivity · Graphite · fastify · tabler · go-zero · the whole board →