Markdown editor for writing, notes, editable diagrams, drawing and painting with your AI assistant. Use it on the web, Android or Windows. Keep text and pictures in one Markdown file, or share an editable offline HTML file. Free and offline, with no ads, tracking or Rapier account.
- On the web: open rapier.website. To use it offline, add it to your home screen and let the first load finish.
- As a file: download rapier.html and open it in a browser. The read-only page is rapier-reader.html.
- On Android: get Rapier on Google Play. The app has no Internet permission. Optional Google Play asset packs download on first use, then work offline.
- On Windows: download Rapier.exe. It is not code-signed yet, so Windows SmartScreen may warn the first time: choose More info, then Run anyway.
- With an agent: the Claude plugin or another MCP client at
https://mcp.rapier.website/door/mcp; the OpenAI plugin athttps://mcp.rapier.website/openai/mcp; Muse athttps://mcp.rapier.website/muse.
- Write. Edit the page or the Markdown source; text you don't touch stays byte for byte. Tables, checklists, footnotes, LaTeX, Mermaid, find and replace, compare, read aloud, right-to-left, comments and suggested edits.
- Pictures. Stored inside the
.mdfile. New pictures use JPEG XL from Rapier's own encoder. Text can wrap around a picture's shape. - Draw. Editable SVG: pen, pressure brush, shapes, arrows that stay attached, and text.
- Paint. MyPaint brushes, smudge and blend. Water is watercolor that mixes, flows and dries on textured paper.
- Notes. One Markdown file per note, with colors, pins, checklists, voice recordings, links, history, and search that reads text in pictures. Import from Google Keep, Apple Notes, Evernote, Notion, Obsidian, Joplin and other note apps. Back up as a ZIP file, or sync encrypted copies to your own Cloudflare R2 bucket. Android adds reminders and a home-screen widget.
- Files. Open Markdown, text, code, Word and PDF. Save Markdown; Rapier never overwrites a file that changed
elsewhere. Export Word, PDF, text or an offline HTML page. A
.rapier.htmlfile holds the editor and the document together, so someone can edit, comment or suggest changes offline and send it back. - Privacy. Editing and Notes run on your device, with no analytics. Agent workspaces use hosted storage. Remote pictures load only when you allow them.
- Work together live. Connect to
https://mcp.rapier.website/door/mcp, then callopento share one document with the person. - Hand over an offline editor. Run
npx rapier-html notes.mdto put the editor and document in one HTML file (rapier-html). - Embed the editor. Use rapier-embed to mount the editor or reader in your app. Your app's agent can use the editor over WebMCP.
- Keep portable Markdown. Use rapier-markdown-kit
for pictures, editable drawings and layout in one
.mdfile. Respect Will/1keep,appendandeditregions. - Encode JPEG XL. Use rapier-jxl for pixels, photos and existing JPEGs, in JavaScript.
- Host the door yourself. Run rapier-server over your own folder or S3-compatible bucket.
The agent edits live, beside the person or while they're away. The person sees its changes, can tap one to see what was there before, and can undo it while keeping later edits. Their typing comes first, and Will/1 marks what an agent may edit, only add to, or must leave alone. Read the agent guide, llms.txt, AGENT-TOOLS.json and the skills.
claude plugin marketplace add jackskip22/rapier-plugins && claude plugin install rapier@rapier
npx rapier-html notes.md # the editor with the document inside, offline
npx rapier-html revised.md --compare original.md # opens the edit beside its original
npm install rapier-markdown-kit # read, write and render the Markdown without the editor (MIT)Current MCP clients connect at https://mcp.rapier.website/door/mcp with no account; in ChatGPT, add the OpenAI connector at https://mcp.rapier.website/openai/mcp in developer mode
(OpenAI's guide). Hosted workspaces expire after 30
idle days; use export to keep a copy. Data handling: rapier.website/privacy.
npm install rapier-embed mounts the document editor in your page, or the read-only reader with build: 'reader'.
Your app owns the document, storage and revisions.
import {Rapier} from 'rapier-embed';
const editor = Rapier.mount(document.querySelector('#editor'), {
sessionId, documentId,
load: {content, filename: 'notes.md', revision},
save: ({requestId, content, baseRevision}) => store.writeOnce({documentId, requestId, content, baseRevision}),
});save returns {revision} once storage confirms the bytes, or throws Rapier.conflict(currentRevision). See the
embed skill for self-hosting, plugins, styling and version pinning, and the
embed contract for the protocol.
Rapier writes CommonMark plus conventions other editors already read, with pictures inside the file. See the standard, what other readers show and adopting it.
src/ is the complete source of rapier.html.
(cd src && node tools/build.mjs)rebuilds it byte for byte (build.json).(cd src && RAPIER_PROFILE=reader node tools/build.mjs)builds the reader.npx wrangler deployserves it with the included configuration.
AGPL-3.0-only with the stated terms. The reusable modules are MIT. A commercial license
is available (LICENSING.md). Issues and pull requests are welcome: see CONTRIBUTING.md and SECURITY.md.
Related: rapier-plugins (plugins and npm packages), rapier-jxl (JPEG XL encoder) and will (the Will standard).