A quiet text editor for the browser and the desktop. Open the editor
Margin keeps a list of documents in the sidebar. The first line of a document is its title. Everything is saved automatically as you type, on this device. Nothing is sent anywhere, and there is no account.
The view button in the toolbar cycles through Write (plain text), Split (text beside a formatted preview) and Read (preview only). Focus hides everything except the page. Aa sets the theme, typeface, text size and line width.
| Key | Does |
|---|---|
| Ctrl S | Save the document to a file |
| Ctrl O | Open a file |
| Ctrl F | Find and replace. Enter and Shift Enter step through matches |
| Ctrl B / I | Bold or italic. Press again to remove it |
| Tab / Shift Tab | Indent or outdent the selected lines |
| Enter | Inside a list, starts the next item. On an empty item, ends the list |
| Alt N | New document |
| Alt P | Switch view |
| Alt F | Focus mode. Esc leaves it |
| Alt L | Show or hide the document list |
| Ctrl P | Print the formatted document, or save it as a PDF |
On a Mac, use Cmd where this says Ctrl and Option for Alt.
Margin reads and writes plain text: .md, .markdown and .txt. You can also drag one of those files onto the window to open it.
| Where | Open and Save |
|---|---|
| Desktop app | Native dialogs. After the first save, Ctrl S writes to the same file |
| Chrome, Edge | The browser asks which file to use, then saves back to it |
| Firefox, Safari | Open uploads a copy; Save downloads one |
The document list is stored on the device by the browser (or by the desktop app). It stays private, and it also means the list goes away if you clear site data or use a private window. For anything you want to keep, use Save.
The preview understands a practical subset of Markdown:
| Type | Get |
|---|---|
# Title to ###### Title | Headings |
**bold** *italic* ~~struck~~ | Emphasis |
`code` and ``` fences | Inline code and code blocks |
[text](https://…) | Link |
 | Image |
- item, 1. item | Lists. Indent by two spaces to nest |
- [ ] task, - [x] done | Task list |
> quote | Block quote |
--- | Rule |
Tables, footnotes and raw HTML are not supported. HTML in a document is shown as text, never run.
The desktop app is the same editor in its own window, with native file dialogs. To run it from source you need Node.js 20 or newer:
git clone https://github.com/PyMite6941/margin
cd margin
npm install
npm run desktop
The README covers development and building an installer.