Source: https://seerepo.com/r/ueberdosis/tiptap/built
Markdown source: https://seerepo.com/r/ueberdosis/tiptap/built.md
Description: tiptap is a TypeScript repo built with React and Vue. It makes its content with highlight.js, katex, and marked and validates its data with Zod.

# What is tiptap built with?

tiptap is a TypeScript repo built with React and Vue. It makes its content with highlight.js, katex, and marked, validates its data with Zod, and is tested with Testing Library and happy-dom. It has 177,588 written lines, with 357 test files.

Read on November 6, 2026, at commit 5fd5d2f.

Repository: https://github.com/ueberdosis/tiptap

## Support (packages/ai-toolkit)

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 3 files

### Tools

- **vite-plus**: 2 files

### Other

- **es-toolkit**: 1 file
- **yjs**: 1 file

## Frontend (packages/core)

### Interface

- **ProseMirror**: 2 files

## Support (packages/core)

### Tools

- **vite-plus**: 85 files

## Support (packages/extension-audio)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-blockquote)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-bold)

### Tools

- **vite-plus**: 1 file

## Frontend (packages/extension-bubble-menu)

### Interface

- **[@floating-ui/dom](https://seerepo.com/uses/floating-ui-dom)**: 1 file

## Support (packages/extension-bubble-menu)

### Tools

- **vite-plus**: 1 file

## Frontend (packages/extension-code-block-lowlight)

### Interface

- **[lowlight](https://seerepo.com/uses/lowlight)**: 1 file

## Support (packages/extension-code-block-lowlight)

### Content

- **[highlight.js](https://seerepo.com/uses/highlightjs)**: 1 file

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-code-block)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-code)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-collaboration-caret)

### Tools

- **vite-plus**: 2 files

### Other

- **yjs**: 1 file

## Support (packages/extension-collaboration)

### Tools

- **vite-plus**: 4 files

### Other

- **yjs**: 2 files

## Support (packages/extension-details)

### Tools

- **vite-plus**: 2 files

## Frontend (packages/extension-drag-handle-react)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

## Support (packages/extension-drag-handle-react)

### Testing

- **Testing Library**: 2 files

### Tools

- **vite-plus**: 2 files

## Frontend (packages/extension-drag-handle-vue)

### The base

- **[Vue](https://seerepo.com/uses/vue)**: 1 file

## Frontend (packages/extension-drag-handle)

### Interface

- **[@floating-ui/dom](https://seerepo.com/uses/floating-ui-dom)**: 2 files

## Support (packages/extension-drag-handle)

### Tools

- **vite-plus**: 11 files

### Other

- **yjs**: 1 file

## Frontend (packages/extension-emoji)

### Icons

- **emoji-datasource**: 1 file
- **emojibase-data**: 1 file

## Support (packages/extension-emoji)

### Tools

- **vite-plus**: 1 file

### Other

- **emoji-regex**: 1 file
- **is-emoji-supported**: 1 file
- **json5**: 1 file

## Support (packages/extension-file-handler)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-find-and-replace)

### Tools

- **vite-plus**: 1 file

### Other

- **re2js**: 2 files

## Frontend (packages/extension-floating-menu)

### Interface

- **[@floating-ui/dom](https://seerepo.com/uses/floating-ui-dom)**: 1 file

## Support (packages/extension-floating-menu)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-hard-break)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-highlight)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-horizontal-rule)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-image)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-invisible-characters)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-link)

### Tools

- **vite-plus**: 3 files

### Other

- **linkifyjs**: 3 files

## Support (packages/extension-list)

### Tools

- **vite-plus**: 13 files

## Support (packages/extension-mathematics)

### Content

- **[katex](https://seerepo.com/uses/katex)**: 3 files

### Tools

- **vite-plus**: 3 files

## Support (packages/extension-mention)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-node-range)

### Tools

- **vite-plus**: 2 files

## Support (packages/extension-ruby-text)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-subscript)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-superscript)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-table-of-contents)

### Tools

- **vite-plus**: 2 files

### Other

- **uuid**: 3 files

## Support (packages/extension-table)

### Tools

- **vite-plus**: 13 files

## Support (packages/extension-text-align)

### Tools

- **vite-plus**: 1 file

## Support (packages/extension-text-style)

### Tools

- **vite-plus**: 12 files

## Support (packages/extension-twitch)

### Tools

- **vite-plus**: 2 files

## Support (packages/extension-unique-id)

### Tools

- **vite-plus**: 2 files

### Other

- **uuid**: 1 file

## Support (packages/extension-youtube)

### Tools

- **vite-plus**: 2 files

## Support (packages/extensions)

### Tools

- **vite-plus**: 5 files

## Support (packages/html)

### Testing

- **happy-dom**: 2 files

### Tools

- **vite-plus**: 3 files

## Support (packages/markdown)

### Content

- **[marked](https://seerepo.com/uses/marked)**: 2 files

### Tools

- **vite-plus**: 24 files

## Frontend (packages/pm)

### Interface

- **ProseMirror**: 1 file
- **prosemirror-changeset**: 1 file
- **prosemirror-dropcursor**: 1 file
- **prosemirror-gapcursor**: 1 file
- **prosemirror-history**: 1 file
- **prosemirror-inputrules**: 1 file
- **prosemirror-keymap**: 1 file
- **prosemirror-model**: 1 file
- **prosemirror-schema-list**: 1 file
- **prosemirror-state**: 1 file
- **prosemirror-tables**: 1 file
- **prosemirror-transform**: 1 file
- **prosemirror-view**: 1 file

## Frontend (packages/react)

### The base

- **[React](https://seerepo.com/uses/react)**: 17 files

## Support (packages/react)

### Testing

- **Testing Library**: 9 files

### Tools

- **vite-plus**: 13 files

### Other

- **use-sync-external-store**: 3 files
- **fast-equals**: 1 file

## Frontend (packages/static-renderer)

### The base

- **[React](https://seerepo.com/uses/react)**: 2 files

## Support (packages/static-renderer)

### Testing

- **Testing Library**: 2 files

### Tools

- **vite-plus**: 6 files

## Frontend (packages/suggestion)

### Interface

- **[@floating-ui/dom](https://seerepo.com/uses/floating-ui-dom)**: 2 files

## Support (packages/suggestion)

### Tools

- **vite-plus**: 2 files

## Frontend (packages/vue)

### The base

- **[Vue](https://seerepo.com/uses/vue)**: 13 files

## Support (packages/vue)

### Tools

- **vite-plus**: 8 files

## Frontend (packages/y-tiptap)

### Interface

- **ProseMirror**: 40 files
- **prosemirror-state**: 13 files
- **prosemirror-view**: 6 files
- **prosemirror-schema-basic**: 4 files
- **prosemirror-transform**: 2 files
- **prosemirror-commands**: 1 file
- **prosemirror-schema-list**: 1 file

## Support (packages/y-tiptap)

### Tools

- **vite-plus**: 14 files

### Other

- **yjs**: 57 files
- **lib0**: 17 files
- **y-protocols**: 1 file

## Other repos with a similar stack

- [outline/outline](https://seerepo.com/r/outline/outline/built): React, Zod, ProseMirror, katex, prosemirror-dropcursor, prosemirror-gapcursor, prosemirror-history, prosemirror-inputrules, prosemirror-keymap, prosemirror-schema-list, prosemirror-state, prosemirror-tables, prosemirror-transform, prosemirror-view, prosemirror-commands · [Compare](https://seerepo.com/compare/outline/outline/vs/ueberdosis/tiptap)
- [THU-MAIC/OpenMAIC](https://seerepo.com/r/THU-MAIC/OpenMAIC/built): React, Zod, ProseMirror, katex, prosemirror-dropcursor, prosemirror-gapcursor, prosemirror-history, prosemirror-inputrules, prosemirror-keymap, prosemirror-schema-list, prosemirror-state, prosemirror-view, prosemirror-schema-basic, prosemirror-commands · [Compare](https://seerepo.com/compare/THU-MAIC/OpenMAIC/vs/ueberdosis/tiptap)
- [laurent22/joplin](https://seerepo.com/r/laurent22/joplin/built): React, ProseMirror, highlight.js, katex, prosemirror-history, prosemirror-keymap, prosemirror-model, prosemirror-schema-list, prosemirror-tables, prosemirror-view, prosemirror-commands · [Compare](https://seerepo.com/compare/laurent22/joplin/vs/ueberdosis/tiptap)
- [multica-ai/multica](https://seerepo.com/r/multica-ai/multica/built): React, Zod, @floating-ui/dom, lowlight, katex, marked · [Compare](https://seerepo.com/compare/multica-ai/multica/vs/ueberdosis/tiptap)
- [RocketChat/Rocket.Chat](https://seerepo.com/r/RocketChat/Rocket.Chat/built): React, Zod, highlight.js, emojibase-data, katex, marked · [Compare](https://seerepo.com/compare/RocketChat/Rocket.Chat/vs/ueberdosis/tiptap)
- [novuhq/novu](https://seerepo.com/r/novuhq/novu/built): React, Zod, @floating-ui/dom, lowlight, highlight.js, marked · [Compare](https://seerepo.com/compare/novuhq/novu/vs/ueberdosis/tiptap)

## Frequently asked questions

### What language is tiptap written in?

tiptap is written in TypeScript, with 177,588 written lines.

### What framework does tiptap use?

tiptap is built with React and Vue.

### Does tiptap have tests?

Yes. tiptap has 357 test files and is tested with Testing Library and happy-dom.

### Which repos have a stack like tiptap's?

The ones that share most of its stack: outline/outline, THU-MAIC/OpenMAIC, and laurent22/joplin.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
