editor .md

Compare

You may already use something that does part of this. Find your tool, or what you need; each tool says what it is better at, and when to use it instead. Built from one file (compare.json), every row dated and marked searched (checked against a source that day) or from memory (not yet re-checked).

By tool

ToolEdit togetherStyle any elementMove safelyInsert componentsNew componentsYour own codeEdits are dataNo server reads itOpen sourceText in git
Builder.io (Fusion)yesyespartlyyesyesyesnonopartlypartly
Pucknopartlypartlyyespartlyyesyesnoyespartly
Webstudionoyespartlyyesyespartlynonoyesno
Onlookpartlyyespartlypartlypartlyyesnonoyesyes
Plasmicyesyespartlyyesyesyespartlynopartlypartly
GrapesJSnoyespartlyyespartlypartlynonoyespartly
Webflow, Frameryesyesyesyesyespartlynononono
Lovable, v0, Boltnoyespartlypartlypartlyyesnononoyes
Sanity, Storyblok, TinaCMSpartlynopartlyyespartlyyesyesnopartlypartly
Retoolyespartlypartlyyesyespartlynononopartly
Google Docs, Notionyespartlyyespartlypartlynoyesnonono
Tiptap, ProseMirror, BlockNoteyesnopartlypartlynopartlyyesnoyesno
editor plannedplannedplannedplannedplannedplannedplannedplannedplannedplannedplanned

yes partly no planned here, not built · hover a column for what it means

Builder.io (Fusion)

Visual builder and AI agent on your repo

The nearest shipped product: your components, your tokens, live cursors, and an agent that opens pull requests.

Better at Shipped, with AI that turns a visual change into a code change you can review.

Use it instead? If your edits can be code and a hosted service may read them, use it.

  • Edit together
  • Style any element
  • Move safelyconcurrency model not published
  • Insert components
  • New components
  • Your own code
  • Edits are datathe agent writes code
  • No server reads it
  • Open sourceSDKs only
  • Text in gitas pull requests of code

Searched, 2026-10-17 · source

Puck

Open-source React visual editor

The right model, data plus your own components, for one editor at a time.

Better at Ready today, small, MIT, and you own the JSON.

Use it instead? If one person edits at a time, use Puck.

  • Edit together
  • Style any elementfields each component declares, not CSS
  • Move safelydrag, but one editor
  • Insert components
  • New componentsslots
  • Your own code
  • Edits are data
  • No server reads it
  • Open source
  • Text in gitJSON, if you store it there

Searched, 2026-10-17 · source

Webstudio

Open-source visual builder, Webflow-like

The best open-source style panel; realtime editing is still being built.

Better at Full CSS power, breakpoints and states, polished.

Use it instead? For one designer building a site, use it.

  • Edit togetherin progress
  • Style any element
  • Move safelydrag, but one editor
  • Insert components
  • New components
  • Your own codeembeds rather than your app's components
  • Edits are datacustom code embeds
  • No server reads it
  • Open sourceAGPL-3.0
  • Text in git

Searched, 2026-10-17 · source

Onlook

Open-source visual editor for React code, with AI

Edits your real code visually; every edit is code.

Better at The source stays the only truth, and git holds every change.

Use it instead? For a developer who wants to style their own React app visually, use it.

  • Edit togetherclaimed; sources conflict
  • Style any element
  • Move safely
  • Insert components
  • New components
  • Your own code
  • Edits are dataedits are JSX and Tailwind
  • No server reads it
  • Open source
  • Text in git

Searched, 2026-10-17 · source

Plasmic

Visual builder that registers your code components

Composes your components visually, with hosted multiplayer.

Better at Mature component registration and code generation.

Use it instead? For a team that is happy with hosted editing, use it.

  • Edit togetherhosted, not offline
  • Style any element
  • Move safely
  • Insert components
  • New components
  • Your own code
  • Edits are datacustom expressions
  • No server reads it
  • Open sourcecore open, service hosted
  • Text in gitgenerated code

From memory, not yet re-checked, 2026-10-17 · source

GrapesJS

Open-source web-builder framework

An embeddable builder with a style manager, for one editor.

Better at Embeds in your own product, with a plugin ecosystem.

Use it instead? To give your users a page builder, use it.

  • Edit togethercommunity Yjs plugins
  • Style any element
  • Move safely
  • Insert components
  • New components
  • Your own code
  • Edits are datascript components
  • No server reads it
  • Open source
  • Text in gitHTML export

From memory, not yet re-checked, 2026-10-17 · source

Webflow, Framer

Closed visual site builders

Polished visual editing, in their format, on their servers.

Better at Years of polish, hosting, templates.

Use it instead? For a marketing site you'll never need to leave, use one.

  • Edit togetherFramer fully; Webflow partly
  • Style any element
  • Move safely
  • Insert components
  • New components
  • Your own codeFramer's code components
  • Edits are datacustom code embeds
  • No server reads it
  • Open source
  • Text in git

From memory, not yet re-checked, 2026-10-17 · source

Lovable, v0, Bolt

AI app generators with visual edit modes

Fast to a working app; every change, visual or typed, is generated code.

Better at Making a new app from a sentence.

Use it instead? To start an app, use one, then edit it here.

  • Edit together
  • Style any element
  • Move safely
  • Insert components
  • New componentsby prompt
  • Your own code
  • Edits are dataedits are code
  • No server reads it
  • Open source
  • Text in git

From memory, not yet re-checked, 2026-10-17 · source

Sanity, Storyblok, TinaCMS

Content systems with click-to-edit on the real site

Edit the words on your real app, in fields; not its styles or layout.

Better at Content workflows, roles, scheduling, localisation.

Use it instead? Use both: a CMS for content, this for the page.

  • Edit togetherSanity live; others no
  • Style any element
  • Move safely
  • Insert components
  • New componentsStoryblok's nested blocks
  • Your own code
  • Edits are data
  • No server reads it
  • Open sourceTina; Sanity's studio
  • Text in gitTina

From memory, not yet re-checked, 2026-10-17 · source

Retool

Internal-tool builder

Multiplayer editing of real apps, for internal tools, closed.

Better at Data connections and admin panels.

Use it instead? For internal tools on your databases, use it.

  • Edit together
  • Style any element
  • Move safely
  • Insert components
  • New components
  • Your own code
  • Edits are dataJavaScript in queries and fields
  • No server reads it
  • Open source
  • Text in git

Searched, 2026-10-17 · source

Google Docs, Notion

Shared documents

The feel to match; documents, not apps.

Better at Editing words together, refined over a decade.

Use it instead? Use both: write there, build pages here.

  • Edit together
  • Style any elementtext formatting
  • Move safelyNotion's blocks
  • Insert components
  • New componentsNotion's synced blocks
  • Your own code
  • Edits are data
  • No server reads it
  • Open source
  • Text in git

From memory, not yet re-checked, 2026-10-17 · source

Tiptap, ProseMirror, BlockNote

Collaborative text-editor toolkits

Building blocks for the typing part; we use ProseMirror.

Better at Rich text, ready.

Use it instead? Part of this: ProseMirror is how you type here.

  • Edit together
  • Style any element
  • Move safelya move is a delete and an insert
  • Insert componentsyou build the blocks
  • New components
  • Your own codenode views you write
  • Edits are data
  • No server reads it
  • Open source
  • Text in git

Searched, 2026-10-17 · source

By need

Edit together

several people at once, offline then merged

Fully Builder.io (Fusion), Plasmic (hosted, not offline), Webflow, Framer (Framer fully; Webflow partly), Retool, Google Docs, Notion, Tiptap, ProseMirror, BlockNote

Partly Onlook (claimed; sources conflict), Sanity, Storyblok, TinaCMS (Sanity live; others no)

Style any element

point at it, see its styles, change them

Fully Builder.io (Fusion), Webstudio, Onlook, Plasmic, GrapesJS, Webflow, Framer, Lovable, v0, Bolt

Partly Puck (fields each component declares, not CSS), Retool, Google Docs, Notion (text formatting)

Move safely

a block moved while someone edits it keeps their edit

Fully Webflow, Framer, Google Docs, Notion (Notion's blocks)

Partly Builder.io (Fusion) (concurrency model not published), Puck (drag, but one editor), Webstudio (drag, but one editor), Onlook, Plasmic, GrapesJS, Lovable, v0, Bolt, Sanity, Storyblok, TinaCMS, Retool, Tiptap, ProseMirror, BlockNote (a move is a delete and an insert)

Insert components

from a library, with a form for its settings

Fully Builder.io (Fusion), Puck, Webstudio, Plasmic, GrapesJS, Webflow, Framer, Sanity, Storyblok, TinaCMS, Retool

Partly Onlook, Lovable, v0, Bolt, Google Docs, Notion, Tiptap, ProseMirror, BlockNote (you build the blocks)

New components

made from existing ones, without code

Fully Builder.io (Fusion), Webstudio, Plasmic, Webflow, Framer, Retool

Partly Puck (slots), Onlook, GrapesJS, Lovable, v0, Bolt (by prompt), Sanity, Storyblok, TinaCMS (Storyblok's nested blocks), Google Docs, Notion (Notion's synced blocks)

Your own code

components with behaviour from the app's source

Fully Builder.io (Fusion), Puck, Onlook, Plasmic, Lovable, v0, Bolt, Sanity, Storyblok, TinaCMS

Partly Webstudio (embeds rather than your app's components), GrapesJS, Webflow, Framer (Framer's code components), Retool, Tiptap, ProseMirror, BlockNote (node views you write)

Edits are data

nothing an edit writes can run

Fully Puck, Sanity, Storyblok, TinaCMS, Google Docs, Notion, Tiptap, ProseMirror, BlockNote

Partly Plasmic (custom expressions)

No server reads it

kept on your devices, or encrypted end to end

Fully none we found

Open source

and you can run it yourself

Fully Puck, Webstudio (AGPL-3.0), Onlook, GrapesJS, Tiptap, ProseMirror, BlockNote

Partly Builder.io (Fusion) (SDKs only), Plasmic (core open, service hosted), Sanity, Storyblok, TinaCMS (Tina; Sanity's studio)

Text in git

the page is readable text you can commit

Fully Onlook, Lovable, v0, Bolt

Partly Builder.io (Fusion) (as pull requests of code), Puck (JSON, if you store it there), Plasmic (generated code), GrapesJS (HTML export), Sanity, Storyblok, TinaCMS (Tina), Retool

What we found

No tool we found is open source, keeps edits as data, merges concurrent moves safely and keeps the page off any server, on a real app. The nearest are Builder.io, shipped and closest in feel, where edits become code on a hosted service, and Puck, whose model of data plus your own components is ours, for one editor at a time. Not finding a tool is not proof there isn't one: tell us.