tiptap
yjs

tiptap | yjs | |
---|---|---|
95 | 63 | |
31,282 | 19,580 | |
2.3% | 1.4% | |
9.7 | 8.6 | |
2 days ago | 9 days ago | |
TypeScript | JavaScript | |
MIT License | MIT |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tiptap
-
Show HN: Better Docx Import and Export Support for Tiptap Editor
Hey HN, Philip here, Co-founder at Tiptap (https://tiptap.dev/).
We just shipped an upgrade to our DOCX import and export capabilities, including new extensions, new endpoints, better formatting handling, and custom node support. This may be for you if your product deals with Microsoft Word files in any way.
We rebuilt our DOCX handling pipeline to give developers more control and flexibility:
- Import endpoint: Converts .docx to Tiptap JSON, accurately handles complex formatting (lists, tables, inline styles).
- Export extension: Generates .docx from your editor content, including custom nodes.
- Custom node support: Map internal components (e.g. callouts, embeds) to standard DOCX structures.
- Style control: Define exactly how DOCX output should look to match your app’s UI.
- Frontend or backend: Run conversion wherever it makes sense for your setup.
- Image upload handling: We give you hooks to manage storage your way.
What's still on the roadmap:
1) Import and export of DOCX headers and footers
2) Import and export DOCX pagination
3) Import and export comments, version history, and suggestions
Developer Docs: https://tiptap.dev/docs/conversion/import-export/docx
Product Website: https://tiptap.dev/product/conversion
We’d love your feedback! If you’ve struggled with document conversion (or just want to nerd out a bit), let us know your thoughts and experiences.
-
Show HN: Tiptap Editor 3.0 Beta is out
Show HN: Tiptap Editor 3.0 Beta is out.
Hi HN! Philip here from Tiptap (https://tiptap.dev/). We're excited to announce Tiptap 3.0 Beta, a major upgrade built with and for the open source community. It's still extension-based, still unopinionated, but we've tackled some of the biggest developer headaches:
Enhanced TypeScript support:
-
Show HN: Tiptap UI Components – Free React Components for Building Editor UIs
Hi, Philip here from Tiptap. We just released a new set of open source UI components for [Tiptap](https://tiptap.dev/), our headless text editor framework.
These are handcrafted React components that integrate directly with Tiptap’s headless core, things like toolbars, dropdowns, formatting buttons, upload controls, etc. They’re MIT licensed and fully optional. You can use them as-is or customize every part.
There’s also a CLI that sets everything up for you: project scaffolding, recommended defaults, and a working example.
This is for folks who like the flexibility of Tiptap but don’t want to start from zero every time they need an editor UI. It doesn’t change how Tiptap works – just gives you a faster way to build on top of it.
Start here:
-
Ask HN: What Are You Working On? (February 2025)
Thanks! I built the editor using Tiptap (https://tiptap.dev/) which doesn't support Markdown out of the box. However, since it can detect Markdown shortcuts (#, ##, >, etc.), it should be possible to convert a markdown file into rich text, and then when done writing and editing convert it back into markdown, while limiting formatting options only to ones that are available for both. I think Joplin (https://joplinapp.org/) does something similar.
I'll think about this for sure, especially since I've been thinking of making it possible to save and read local files. If you'd like to try Gorby, send me an email and I'll be happy to give you a free license code :)
-
Top 5 Page Builders for React
While Storyblok and Builder.io offer full-page editing experiences with structured CMS capabilities, Tiptap takes a different approach. It’s not a traditional page builder but rather an embeddable headless editor built on ProseMirror. This means that instead of giving you a predefined UI to work with, it provides the underlying logic, leaving you in full control of the interface, interaction and level of functionality you want to provide in your page builder.
-
How can VoidZero be commercialized?
There are paid tools available. For example, the Tiptap rich text editor is free to use, but some advanced features and APIs are paid for. For example, the cursor editor heavily relies on AI capabilities, so it requires payment for use.
-
Here’s how AI-powered autocompletion is implemented in Novel, an open-source text editor
Novel is an open-source Notion-style WYSIWYG editor with AI-powered autocompletion. This built on top of TipTap. Tiptap is the headless and open source editor framework. Integrate over 100+ extensions and paid features like collaboration and AI agents to create the UX you want.
-
Building a RichText Editor with TipTap in React (with Mentions)
For more, visit the official TipTap website. Did you learn something new from this article? Let me know in the comments! 🎉
-
Open-source WYSIWYG text editor component built with Tailwind CSS and Flowbite
Tip Tap Library
- Ask HN: Why is working with contenteditable is so hard?
yjs
-
Building a Web-Based Excel Editor: A Comprehensive Guide
Yjs - CRDT-based collaborative editing framework
-
Collaborative Text Editing Without CRDTs or OT
Indeed, this is close to what Yjs (popular CRDT library) does: each client instance (~ browser tab) chooses a random 32-bit clientId, and character IDs combine this clientId with local counters. https://github.com/yjs/yjs/blob/987c9ebb5ad0a2a89a0230f3a0c6...
Any given collaborative document will probably only see ~1k clientIds in its lifetime, so the odds of a collision are fairly low (though I'd be more comfortable with a 64-bit ID).
- Learn Yjs Interactively
-
Multi-player Mode is Everywhere, Even in Dev Tools
Of course, you don’t have to code this functionality from scratch! You can also look at open-source software like Yjs, text-crdt, Automerge and so many more. Alternatively, you can check out tools like Liveblocks, Ably, etc. which enable collaborative multi-player features.
-
Show HN: Screen Sharing in the Browser–No Downloads, No Registrations
You could easily build one using Yjs [1]. I'm using it for my work together website [2] (it has a chat).
[1] https://github.com/yjs/yjs
-
Synchronizing Collaborative Text Editing with Yjs and WebSockets
In this article, I almost do a copy-paste of what's found on the internet. It's a "reminder" for my personal project where I analyzed the use of Yjs.
-
Show HN: JuntOS – A shared Pomodoro and focus tools
I've built this app some time ago but only shared with close friends. It has been useful for me so I decided to share here.
It works by sharing state with yjs [1], as long as you are in the same session, i.e. the same path.
https://github.com/yjs/yjs
-
Understanding Conflict-Free Replicated Data Types
Yjs
-
Oops.js
I write undo/redo/history in web/JS extensively. This the best lib out there for such tasks IMHO:
https://github.com/yjs/yjs
And you're right. You don't want undo/redo only in multi-user apps. You want to have each user have their own local undo/redo events that they can apply and unapply from the shared state which has its own events apart from each user.
Everyone involved needs to keep track of what events they have created forever and always for things to work correctly. This is exactly what ES, OT, and CRDT patterns do, CRDT being the most recent and most capable.
- Show HN: Collaborate on your YC Application with CRDT-powered forms
What are some alternatives?
slate - A completely customizable framework for building rich text editors. (Currently in beta.)
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
plate - Rich-text editor with AI, MCP, and shadcn/ui
automerge-rs - Rust implementation of automerge [Moved to: https://github.com/automerge/automerge]
quill - Quill is a modern WYSIWYG editor built for compatibility and extensibility
pacman-backup - :floppy_disk: Pacman Cache management tool for off-the-grid updates via Sneakernet (USB drives) or Meshnets (LAN / Wi-Fi)
