tiptap-markdown
A Markdown extension bringing bidirectional Markdown input/output to the Tiptap rich-text editor
Repository Health
Technical Analysis
tiptap-markdown is a community-built extension for Tiptap (the ProseMirror-based rich-text editor toolkit) that lets an editor instance read and write Markdown directly, alongside Tiptap’s native HTML/JSON document model. It plugs in as a standard Tiptap extension — extensions: [StarterKit, Markdown] — and exposes editor.storage.markdown.getMarkdown() plus Markdown-aware setContent() so Markdown can be used as a first-class content format rather than only HTML.
The library covers configurable serialization details (tight vs. loose lists, bullet markers, HTML passthrough, linkify, paste/copy transforms) and supports custom ProseMirror-markdown parse/serialize extensions for teams with bespoke node types. As of Tiptap 3.7, the Tiptap team shipped an official markdown extension, and this package’s README now recommends migrating to it, with the maintainer no longer triaging issues or PRs here — worth factoring in for new projects, though it remains widely installed (1.3M weekly downloads) in codebases built before the official extension existed.
What You Get
- A drop-in
MarkdownTiptap extension added alongsideStarterKitand other extensions editor.storage.markdown.getMarkdown()to read the current document as a Markdown string- Markdown-aware
setContent(), soeditor.commands.setContent('**test**')parses Markdown directly - Configurable serialization options:
html,tightLists,bulletListMarker,linkify,breaks,transformPastedText,transformCopiedText - Support for custom parse/serialize rules for teams extending Tiptap with their own node/mark types
Common Use Cases
- Building a WYSIWYG editor for a CMS or blogging platform that stores content as Markdown
- Letting users paste raw Markdown into a rich-text editor and have it render formatted immediately
- Adding copy-as-Markdown behavior so content copied out of the editor pastes cleanly into chat apps or issue trackers
- Migrating an existing Markdown-based content pipeline to a richer WYSIWYG editing experience without changing the storage format
Under The Hood
Architecture - The extension’s entry point (src/Markdown.js) registers Tiptap storage and commands, delegating actual conversion work to src/parse/MarkdownParser.js (Markdown text to ProseMirror document, built on markdown-it for tokenizing) and src/serialize/MarkdownSerializer.js + src/serialize/state.js (ProseMirror document back to Markdown text, extending prosemirror-markdown’s default serializer). src/extensions/ houses per-node/mark serialization rules that map Tiptap’s built-in extensions (headings, lists, bold, links, etc.) to their Markdown equivalents.
Tech Stack - JavaScript (83.6%) with a Vue-based example app (11.2%) and Vite as the build tool, distributed as both ES module and UMD builds (dist/tiptap-markdown.es.js / .umd.js) with hand-written TypeScript declarations (index.d.ts). It depends on markdown-it for parsing and integrates with whichever Tiptap/ProseMirror version the host project uses.
Code Quality - Tests under __tests__/ (Markdown.spec.js, parse.spec.js, serialize.spec.js, tight-lists.spec.js, clipboard.spec.js, util.spec.js) run via Vitest with snapshot testing, covering round-trip parsing/serialization and the trickier tight-vs-loose list formatting edge cases. Given the project’s now-reduced maintenance (the author points users to Tiptap’s own official extension and states current issues/PRs won’t be addressed), code quality is frozen at its last-released state rather than actively evolving.
API Design - Following Tiptap’s own extension convention (extensions: [StarterKit, Markdown]) makes adoption nearly zero-friction for existing Tiptap users, and the configuration options map directly onto common Markdown-flavor decisions (tight lists, bullet style, HTML passthrough) that teams actually need to tune. The main API wrinkle for new adopters is the explicit upstream README notice that Tiptap’s official markdown extension (introduced in 3.7.0) is now the recommended path going forward.
Used by 14 apps in this directory
APITable
Databases · Low Code Platforms
API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.
Baserow
Databases · No Code Platforms
Open-source no-code platform to build databases, apps, automations, and AI agents — self-hosted or cloud, with full data ownership.
ByteChef
AI Agents · Automation
Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.
Fider
Customer Support · Product Management
Open-source feedback portal where customers submit, vote on, and track feature requests so product teams build what actually matters.
Kan
Project Management
An open-source, self-hostable Kanban board built as a modern Trello alternative with team workspaces, board permissions, and Trello import.
Lightdash
Analytics · Data Engineering
The open-source Looker alternative that turns your dbt project's metrics and dimensions into governed, self-serve charts and dashboards — no license key required.
Magic
AI Agents · Automation · Low Code Platforms
Magic is an enterprise-grade open-source AI agent platform combining a generalist AI agent, workflow engine, IM, and collaborative office system for running an AI-powered digital workforce.
NocoDB
Databases · Low Code Platforms · No Code Platforms
Turn any SQL database into a collaborative no-code spreadsheet with automatic REST APIs and real-time views.
Openship
Devops · Hosting Control Panel
Openship is an open-source, self-hostable deployment platform that points at a repo and builds, ships, routes, and TLS-terminates the app — driven from a desktop app, web dashboard, or CLI.