Smaragd

A native desktop authoring tool for writers

A modern and efficient editor built for authors and longform writers. Keep your manuscript in plain markdown files in plain folders; Smaragd adds the binder, the metadata, and the typesetting on top.

Everything a manuscript needs, one dockable workspace

Binder, editor, preview, corkboard, metadata, backlinks, and tags are all tabs in one shared layout. Drag, split, float, or dock any of them, and it persists across restarts.

Plain files, no lock-in

A project is just a folder of .md files. A small .smaragd/project.json holds project metadata — delete it and it's still a perfectly readable folder of markdown.

Scrivener-style structure

Research/Trash/Templates/Manuscript folder roles, built-in Blank/Novel/Nonfiction/Screenplay/Worldbuilding templates, and Story Genius–style corkboard cards with Alpha Point, Cause, Effect, and Why It Matters.

Story Grid

A spreadsheet-style view of every story card — POV, word count, and every Cause/Effect/Belief field as its own column, reorderable and hideable to fit what you're working on. Order by manuscript position, or switch to Manual and reorder rows directly with ⬆/⬇ buttons, the same freeform order the corkboard uses.

Belief Timeline

Pick a POV character and watch their arc unfold as a chain of Prior Belief → New Belief across the whole manuscript, in story order.

Wikilinks, backlinks & tags

Obsidian-style [[wikilinks]] with autocomplete, a full backlinks panel (or shown inline right below the editor), and frontmatter + inline #tags. The Metadata panel shows both side by side, plus any custom frontmatter field your documents carry, and stays live-synced with hand edits to the block

Paste in attachments

Paste or drag-drop an image or file straight into the editor — saved into the project and inserted as an ![[embed]], next to the document or in a folder you configure.

Bookmarks

Mark a line with Ctrl+F2 or a click in the editor's line-number gutter, then jump back from a dedicated dock or step through them with Alt+↑/Alt+↓ — project-wide, not just the open file.

Notes

Pin a short piece of text to the cursor's exact line and column — more precise than a bookmark — with Ctrl+Shift+J or a click in the gutter's note slot. A dedicated dock lists every note with a jump-to link.

Spell check

Underlines words your dictionary doesn't recognize as you type. Twenty languages available as on-demand downloads — reviewed, license-clean Hunspell dictionaries fetched and verified right from Settings.

Real typeset export

DOCX, EPUB, print-ready PDF, and LaTeX source, from one shared Style. 12 built-in styles from mass-market paperback to hardcover, with real sunk drop caps and running headers, genuine typesetting via the embedded Typst compiler.

Multi-tab editor

Keep several documents open at once, each in its own tab with its own resident buffer, switching tabs never touches disk. Off by default, one toggle away in Settings.

Daily Notes

F8 or :daily opens today's note, creating it from a template if needed, with yesterday/tomorrow wikilinks and a configurable dated folder.

Import existing manuscripts

Bring a manuscript in from DOCX, EPUB, a Scrivener project, or PDF — split into chapters where the format allows it, formatting preserved.

Focus Mode

Maximizes the window, hides every other tab, and dims every paragraph but the one you're writing.

15 themes, fully custom

Gruvbox, Dracula, Nord, Catppuccin, Tokyo Night, and more built in — or create your own

Scriptable with Rhai

Plugins in the embedded Rhai language add custom : commands, keyboard shortcuts, and save-time text transforms

Git-aware

Commit, push, and pull from the Versions menu — or let it auto-commit on an interval, with a configurable message template and a Version Activity log, down to the exact files each push or pull touched

Built-in Pomodoro timer

Work/break cadence with a status-bar countdown that keeps ticking whether or not its tab is open

Word counts and targets

Smaragd keeps track of where you write and how much you write. Set targets on session, individual files or the whole manuscript.

Streaks

Define a work schedule with individual day targets, and keep the streak going.

Dashboard

Writing statistics as they evolve over time: session count and length, word count, and documents created/modified as bar charts, plus your activity pattern by day of week and hour of day.

Write together, live

Host a session on the document you have open, share the one-time connection code, and a collaborator pastes it in to start editing with you in real time. There is no account, no cloud service, no third party ever holding your manuscript.

Peer-to-peer, not cloud

Peers connect directly via iroh. Your text is never uploaded to or stored on a server, it only ever exists on your machine and your collaborator's.

End-to-end encrypted

Every edit is encrypted with a key derived from a secret that lives only in the connection code, so even the infrastructure that helps peers find each other can't read what you're writing.

Conflict-free merging

Concurrent edits from both sides — even to the same paragraph — merge automatically using the same category of algorithm behind Google Docs and Cryptpad. Manual conflict resolution is not required.

One code to pair

The host editor generates a short, pasteable code; join with it from the Collaborate menu or its dockable panel. Whoever holds the code can join. The code can be used once, for that session only.

Keep your devices in step Experimental

Work on the laptop on the train and the desktop at home. Smaragd syncs your project through a small server you host, and merges what you changed on each device — even offline — without asking you to pick a winner. Your images and PDFs can come along too. Desktop app only for now.

Sync is experimental. It's new, and its data format and server protocol may still change in ways that require re-creating vaults. Keep backups on, and don't treat it as the only copy of anything you care about.

Your server, not ours

A single small program or Docker image you run yourself, with one database file. Add another device with a one-time pairing ticket; remove a lost one with a click.

End-to-end encrypted

Your text is encrypted on your device before it is uploaded, with a key built from a passphrase the server never sees. The server only ever holds ciphertext it cannot read.

Merges, not conflicts

Edits from two devices to the same file are both kept. A rename and an edit both survive; frontmatter fields merge one by one; nothing is silently overwritten.

Looks after itself

The server clears out expired codes and abandoned vaults and keeps its database small; clients compact old history. Sync is not a backup, though, so keep those on too.

See it in action

A native workspace. Every panel below is a dockable tab you can drag, split, float, or close.

The full Smaragd workspace: binder tree on the left, editor and preview in the middle, Pomodoro/Metadata/Backlinks/Word Count docked on the right, and a corkboard of story cards below the editor.
The New Project dialog, offering Blank, Novel, Nonfiction, and Screenplay starting templates.

Scrivener-style starting templates — Blank, Novel, Nonfiction, or Screenplay — scaffold folders and starter documents in one step.

The Story Card editor's Plot tab, with Cause and Effect fields below the Scene #, Alpha Point, Subplots, POV Character, and Linked documents header.

Story cards open on Story Genius–style plot mechanics — Cause and Effect — independent of your manuscript.

The Story Card editor's Belief and Knowledge tab, with Prior Belief, New Belief, Value Shift, and Knowledge Gained fields.

The Belief and Knowledge tab tracks a character's psychological change — Prior Belief, New Belief, and the value shift between them.

The Story Card editor's Third Rail tab, with Why It Matters, Realization, and And So? fields.

The Third Rail tab ties the scene back to the protagonist's Desire/Misbelief — Why It Matters, Realization, And So?

The Helix-inspired command prompt, showing tab-completion for commands like dmode, find, git, theme.

A Helix-inspired : command prompt — :dmode, :theme, :git, and more, with tab-completion.

The Settings dialog's Shortcuts category, listing every keyboard shortcut grouped by category with Change/Clear buttons.

Every keyboard shortcut is remappable from one place, grouped by category, with instant Change/Clear.

The Window menu, showing Save Current Layout, a Layouts submenu with saved layouts, and Restore Default Layout.

Save named dock layouts from the Window menu and switch between them instantly — arrange once, recall anytime.

Download

Native builds for Linux, Windows, and macOS. See the latest release for exact filenames.

Remember to check out the installation section of the user manual before installing

Linux

x86_64 AppImage. Runs on most distributions without installation.

Get the AppImage →

Windows

x86_64 zip containing the executable.

Get the Windows build →

macOS

Universal binary (Apple Silicon + Intel), ad-hoc signed Smaragd.app.

Get the macOS build →

Open source

Smaragd is licensed under the GNU GPL-3.0-or-later — free to use, study, modify, and redistribute.

Contributions are welcome and go through a short Contributor License Agreement. See CONTRIBUTING.md for how to get started. You keep copyright over what you write.