Markless is a terminal markdown viewer and editor with image support. It is focused on fast navigation, clear rendering, and sensible defaults for long documents.

$...$ as Unicode, display $$...$$ and ```math ``` as images via Typst```csv ``` code blocks rendered as formatted tables--editor vim, --editor hx, etc.)cargo install --path .
cargo install markless
markless README.md # View a file
markless . # Browse current directory
markless # Browse current directory (default)
markless src/ # Browse a directory
When given a directory, markless opens in browse mode: the sidebar shows the file listing and the first markdown file (or first file) is previewed automatically. Navigate with arrow keys, press Enter to open, and Backspace to go to the parent directory.
--watch Auto-reload on file changes--no-mouse-select Disable markless mouse selection capture--mouse-select Re-enable markless mouse selection capture (overrides saved --no-mouse-select)--no-toc Hide the table of contents sidebar--toc Start with TOC visible--no-images Disable inline image rendering (show placeholders only)--image-mode <kitty|sixel|iterm2|halfblock> Force a specific image rendering protocol--force-half-cell Force half-cell image rendering (shortcut for --image-mode halfblock)--wrap-width <COLS> Maximum content width for word-wrapping--theme <auto|light|dark> Force highlight theme background (auto queries the terminal via OSC 11)--no-inline-math Render inline math as images instead of Unicode text--inline-math Re-enable inline Unicode math (overrides saved --no-inline-math)--perf Enable startup performance logging--render-debug-log <PATH> Write render/image debug events to a file--editor <cmd> Use an external editor instead of the built-in one (e.g. --editor vim, --editor "emacsclient -t")--no-editor Disable the external editor (use the built-in editor)--save Save current flags as defaults in the global config--clear Clear saved defaults in the global configConfig files:
~/Library/Application Support/markless/config.marklessrc in the current directoryNavigation
j / k or arrows: scrollSpace / PageDown: page downb / PageUp: page upCtrl-d / Ctrl-u: half pageg / G: top / bottomSearch
/: start searchEnter: next matchEsc: clear searchTOC
t: toggle TOCT: toggle + focus TOCTab: switch focusj / k, arrows, Enter / Space: navigate + jumph / Left: collapse (parent directory in browse mode)l / Right: expand (enter directory in browse mode)Browse
B: enter directory browse modeF: return to file-only mode (heading TOC)Backspace: navigate to parent directory (in TOC)Editor
e: enter edit modeCtrl-e: toggle edit mode (enter or exit)Esc: return to view modeCtrl-s: save fileCtrl+Left / Ctrl+Right: word movementCtrl+Home / Ctrl+End: buffer start / endOther
w: toggle watchr / R: reload fileo: open visible links (1-9)? / F1: toggle helpq / Ctrl-c / Ctrl-q: quitMouse
MIT
Rust
99.9%
Markless is a terminal markdown viewer and editor with image support. It is focused on fast navigation, clear rendering, and sensible defaults for long documents.

$...$ as Unicode, display $$...$$ and ```math ``` as images via Typst```csv ``` code blocks rendered as formatted tables--editor vim, --editor hx, etc.)cargo install --path .
cargo install markless
markless README.md # View a file
markless . # Browse current directory
markless # Browse current directory (default)
markless src/ # Browse a directory
When given a directory, markless opens in browse mode: the sidebar shows the file listing and the first markdown file (or first file) is previewed automatically. Navigate with arrow keys, press Enter to open, and Backspace to go to the parent directory.
--watch Auto-reload on file changes--no-mouse-select Disable markless mouse selection capture--mouse-select Re-enable markless mouse selection capture (overrides saved --no-mouse-select)--no-toc Hide the table of contents sidebar--toc Start with TOC visible--no-images Disable inline image rendering (show placeholders only)--image-mode <kitty|sixel|iterm2|halfblock> Force a specific image rendering protocol--force-half-cell Force half-cell image rendering (shortcut for --image-mode halfblock)--wrap-width <COLS> Maximum content width for word-wrapping--theme <auto|light|dark> Force highlight theme background (auto queries the terminal via OSC 11)--no-inline-math Render inline math as images instead of Unicode text--inline-math Re-enable inline Unicode math (overrides saved --no-inline-math)--perf Enable startup performance logging--render-debug-log <PATH> Write render/image debug events to a file--editor <cmd> Use an external editor instead of the built-in one (e.g. --editor vim, --editor "emacsclient -t")--no-editor Disable the external editor (use the built-in editor)--save Save current flags as defaults in the global config--clear Clear saved defaults in the global configConfig files:
~/Library/Application Support/markless/config.marklessrc in the current directoryNavigation
j / k or arrows: scrollSpace / PageDown: page downb / PageUp: page upCtrl-d / Ctrl-u: half pageg / G: top / bottomSearch
/: start searchEnter: next matchEsc: clear searchTOC
t: toggle TOCT: toggle + focus TOCTab: switch focusj / k, arrows, Enter / Space: navigate + jumph / Left: collapse (parent directory in browse mode)l / Right: expand (enter directory in browse mode)Browse
B: enter directory browse modeF: return to file-only mode (heading TOC)Backspace: navigate to parent directory (in TOC)Editor
e: enter edit modeCtrl-e: toggle edit mode (enter or exit)Esc: return to view modeCtrl-s: save fileCtrl+Left / Ctrl+Right: word movementCtrl+Home / Ctrl+End: buffer start / endOther
w: toggle watchr / R: reload fileo: open visible links (1-9)? / F1: toggle helpq / Ctrl-c / Ctrl-q: quitMouse
MIT
Rust
99.9%