FeaturesWeb editorPricingDocsBlog
DownloadBuy mori
Documentation

Everything mori does, on one page.

mori is small enough that its manual fits here. Ten minutes covers all of it.

Install

The Windows build comes from the Microsoft Store; Linux builds are on GitHub Releases as a .deb, an AppImage and a tarball, and on the download page with their checksums. Every Linux release ships SHA256SUMS and a GPG signature, and every form carries the same GTK 4.22.

Available · 1.0.7Ubuntu 22.04+ / Debian 12+ · x86_64 · Wayland and X11
1
Download and make it executable
One file; nothing is installed system-wide.
curl -LO https://github.com/motemd/mori/releases/download/v1.0.7/mori-1.0.7-x86_64.AppImage
chmod +x mori-1.0.7-x86_64.AppImage
2
Verify the download
Every release ships SHA256SUMS and a detached GPG signature. The key's fingerprint is 2E25 9EF2 B369 0ECE 0B3F 56D9 6658 9312 CB84 475F.
curl -LO https://github.com/motemd/mori/releases/download/v1.0.7/SHA256SUMS
curl -LO https://github.com/motemd/mori/releases/download/v1.0.7/SHA256SUMS.asc
curl -fsSL https://get.motemd.com/mori.asc | gpg --import
gpg --verify SHA256SUMS.asc SHA256SUMS && sha256sum -c --ignore-missing SHA256SUMS
3
Run it
Double-click it, or run it from a terminal. On the first launch mori also offers, once, to add the AppImage to the app menu.
./mori-1.0.7-x86_64.AppImage
4
Updating
mori checks once a day and downloads nothing until you accept. For an AppImage it then fetches the new file, checks its SHA-256 and replaces itself in place. Or download the new file and delete the old one.
First launch. mori asks once whether to open Markdown and text files by default; the answer is remembered and can be changed in Settings → General. If an AppImage does not start, run it with --appimage-extract-and-run.

Your first file

mori opens files, not a library. Use ⌘O to open a file, or drop a .md file onto the window. Files open in Live view by default; the sidebar (⌘⇧E) lists whatever folder the file lives in.

Saving is ⌘S. Autosave is on by default and writes one second after you stop typing; the status bar shows exactly how many bytes changed. Turn it off in Settings → General.

Live, Source, Read

The switcher in the header, or ⌘⇧1 ⌘⇧2 ⌘⇧3, changes how the same file is shown. Nothing about the file changes.

  • Live renders formatting in place. The Markdown behind a word shows only while the caret is on it; a heading's or quote's marker shows while the caret is on that line, and a list bullet only while the caret is on the bullet itself. Move the caret away and they render again. Select several lines to see all of their markers. Enter starts a new paragraph, continues a list, and steps numbered lists.
  • Source is the file as it exists on disk, in a monospace editor. This is the view to trust when precision matters.
  • Read is the finished document. Nothing is editable; links open.

Cursor position and scroll offset carry across views.

Markdown support

mori follows CommonMark 0.31 and GitHub Flavored Markdown. Anything the spec renders, mori renders. Anything it does not recognize is left exactly as written.

CommonMark
Headings, emphasis, links, images, lists, block quotes, code blocks, thematic breaks, HTML passthrough
GFM
Tables, task lists, strikethrough, autolinks, footnotes
Extras
LaTeX math via $…$ and $$…$$, syntax highlighting for Rust, Python, JavaScript and TypeScript, C and C++, Go, Java and Kotlin, shell, JSON, TOML, YAML, SQL, and CSS
Not supported, by design
Wiki links, embeds, plugins, custom syntax. Your file must stay readable elsewhere.

Keyboard shortcuts

Shortcuts are shown with ⌘; on Windows and Linux that key is Ctrl.

Live / Source / Read⌘⇧1⌘⇧2⌘⇧3
Command palette⌘K
Find / replace⌘F⌘H
Focus modeF8
Sidebar: Files / Outline⌘⇧E⌘\
New file⌘N
Open file⌘O
Save / save as⌘S⌘⇧S
Bold / italic / code⌘B⌘I⌘`
Link⌘⇧K

Focus & outline

Focus mode (F8) hides every control and leaves the page. Move the pointer to the top edge to reveal the header; Esc exits. The Outline tab in the sidebar lists headings; click one to jump. Word count and estimated reading time live in the status bar.

Export

Export, from the menu or the command palette, produces PDF (with the Read view's typography, paginated) and HTML (self-contained, no scripts). Export never touches the source file.

File integrity

mori edits the source text directly. There is no intermediate model that is serialized back on save. In practice that means:

  • Line endings (LF or CRLF) and the trailing newline are preserved as found.
  • Indentation, table alignment, and hand-spaced list markers are untouched unless you edit that line.
  • Frontmatter, HTML comments, and unknown syntax pass through byte for byte.
  • Files are read and written as the bytes they are — UTF-8 with or without BOM — and never re-encoded.

If a file changes on disk while open, mori reloads it when you have no unsaved edits, and asks otherwise.

Folders & sync

Open a file and the Files tab in the sidebar (⌘⇧E) shows the folder it lives in. mori reads the folder; it does not index, cache, or write anything into it. There is no .mori/ directory. That is what lets iCloud Drive, Dropbox, OneDrive, Syncthing, and Git work without special handling.

Free and licensed

mori is free to write in, with no time limit and no account: the three views, every Markdown construct, search, the outline, tabs, autosave and saving to disk. A licence adds export — HTML, PDF, Word (.docx), Hangul (.hwpx) and print, with page setup and typeset styles — and the Appearance settings (the dark theme, your own fonts, text size and spacing, the accent colour), typewriter and focus mode. Nothing expires and nothing is taken away if you never buy; your files are plain .md on disk and open in any editor.

Activate a key

Your key arrives by email as MORI-XXXX-XXXX-XXXX. In mori, choose mori → License…, type the key, and press Activate. Activation contacts our server once and stores a signed entitlement on this device; after that mori works offline and checks in again about once a month. Deactivate a device from inside the app to free its slot.

Manage devices

A personal license activates three devices at a time. To move to a new machine, choose mori → License → Deactivate this device on the old one. If the old machine is gone, support can release the slot with your order number.

Didn't find it?
If it isn't on this page, it probably isn't in mori. Ask anyway.
Contact support
Nothing but writing.
English
© 2026 mori