Features

The small things that save you clicks.

LeanMD is built around Markdown, but most of a developer's day is other text: configs, logs, .env files, JSON, scripts, and files an AI is still writing. Here is everything LeanMD 1.2.4 does, beyond the preview.

Watch

Follow a file while an AI agent, a script or any other program writes it.

Follow a file as it changes

Turn on Watch for a saved file. Each time another program saves it, LeanMD loads the new version by itself, with no Reload or Keep prompt.

The Watch button, View > Watch file, or Ctrl+Shift+W

See exactly what moved

A solid bar marks an added line, a dashed bar a changed one, and a triangle shows where lines were deleted; hover it for the count. The status bar adds them up. Marks are in Source, and the gutter stays even with line numbers off.

Hover a triangle: 2 lines deleted here

Review in passes

Marks build up across saves until you clear them, so you can check one pass, clear, and check the next without missing anything that landed while you were away.

View > Clear changes, or click Watching in the status bar

Watch a tab you aren't looking at

Background tabs update quietly with their own marks and never steal focus. Hover a watched tab to see when it last updated and how many updates arrived.

Right-click a tab > Watch this file

Read-only, on purpose

While a file is watched you can still find, copy, print, export and use the Outline, but not type, so you never edit a copy that's about to be replaced. If you have unsaved edits, LeanMD offers to save them first.

Stop with Ctrl+Shift+W to edit the latest version

Paused, not stopped

If the file disappears or can't be read for a moment, Watch pauses, keeps the last good text on screen and says why. It picks up again on the next change. Very large rewrites still load, with marks skipped rather than guessed.

F5 or the status bar > Retry now

Tasks

Checklists in Markdown, counted and one click away.

Checkboxes in Preview

List items that start with [ ] or [x] become boxes, in bulleted and numbered lists, nested or not.

Write - [ ] Task or - [x] Done

A checklist view of the file

The Outline's Tasks view groups every task under its heading, with completed / total counts. Code-fence examples are left out.

Outline > Tasks

Counts beside headings

Headings view shows the same completed / total count next to every section that contains tasks.

Outline > Headings

Jump to it, and hide what's done

Select a task to go to its line in Source and its place in Preview. Hide completed tasks to see what's left; it filters the list, never the file. LeanMD never ticks a box for you.

Outline ยทยทยท menu > Hide completed tasks

Files and tabs

For when the tab bar is full and you need to find the file behind it.

Open containing folder

Explorer opens on the file's folder with the file already selected. No more hunting through a path to find where the agent saved it.

Right-click a tab > Open containing folder

Copy full path

Puts the file's complete path on the clipboard, ready to paste into a terminal, a chat or a bug report.

Right-click a tab > Copy full path

Clear the deck

Close every other tab, or everything to the right of this one. Middle-click a tab to close just that one.

Right-click a tab > Close all other tabs / Close tabs to the right

One window, many files

Double-click another file, or drag a few from Explorer onto the window, and they arrive as new tabs in the same LeanMD, not as extra copies of the app. Up to 128 tabs.

Ctrl+Tab / Ctrl+Shift+Tab to move between them

Recent files that remember

File > Recent lists your last six files. LeanMD remembers the view you used for each of your last twelve, so a file reopens in Source, Split or Preview the way you left it.

File > Recent > Clear recent files to forget them

Knows when a file changes

When another program, or your AI agent, changes an open file you aren't watching, its tab gets a !. Switch to it and choose to reload or keep your version.

F5 reloads at any time

Encodings and line endings

The status bar isn't just information. Click it.

Change encoding in one click

Click the encoding in the status bar and pick another. LeanMD saves the file in that encoding straight away: UTF-8, UTF-8 with BOM, UTF-16 LE, UTF-16 BE, Windows-1252, Windows-1251, ISO-8859-1 or OEM 437.

Click UTF-8 (or the current encoding) in the status bar

Convert line endings

Switch a file between Linux / Unix (LF), Windows (CRLF) and Classic Mac (CR) line endings and save it, without a separate tool.

Click LF / CRLF / CR in the status bar

Fix a garbled file

If an older file opens with the wrong characters, reopen it as Unicode (automatic) or with a specific legacy code page, before you save anything.

File > Reopen with encoding

Saves stay as they were

A file keeps its encoding and line endings when you save, unless you change them yourself.

Nothing to do

Clean Source

Tidy whitespace in one step, without touching the parts that must stay exact.

What it fixes

Removes trailing spaces and tabs, keeps runs of blank lines to at most two, drops blank lines at the very top, and ends the file with exactly one newline. Markdown's two-space line breaks are kept.

Format > Clean Source or Ctrl+Shift+F

What it leaves alone

YAML (---) and TOML (+++) front matter, fenced code blocks, indented code, lines indented four spaces or more, and quoted lines are never changed.

Works on any file open in LeanMD

One Undo away

The whole clean-up is a single step, so Ctrl+Z puts everything back at once.

Ctrl+Z

Editing

A real editor for quick fixes, not just a viewer.

Find and replace

Match case, match whole word, a live count of matches, previous and next, Replace and Replace all. Matches are highlighted in the preview too.

Ctrl+F, Ctrl+H, F3 / Shift+F3

Markdown formatting keys

Wrap the selection in bold, italic, inline code or a link, or turn lines into headings, quotes, bullet or numbered lists.

Ctrl+B Ctrl+I Ctrl+E Ctrl+K, Ctrl+Shift+1 to 3

Autocomplete

Type the start of a word and press Ctrl+Space. LeanMD suggests matching words already in the document, so long names, paths and identifiers are typed once, plus Markdown snippets for headings, lists, code fences and links. Up to eight suggestions; works in Markdown files.

Ctrl+Space, then arrows, Enter or Esc. On or off: View > Autocomplete

Line numbers and word wrap

Both can be switched on or off, and LeanMD remembers your choice.

View > Line numbers, View > Word wrap

Zoom

Make text bigger or smaller in the source and the preview. The status bar shows the zoom level; click it to go back to 100%.

Ctrl++ / Ctrl+- / Ctrl+0, or Ctrl+wheel

Word count and line position

The status bar always shows line, column and word count; the preview header shows the reading time.

Always on

Safety and privacy

LeanMD treats your files carefully and keeps to itself.

Atomic saves

LeanMD writes to a temporary file, flushes it to disk, then swaps it into place. A crash or power cut mid-save can't leave you with half a file.

Every save

Unsaved work survives a crash

Unsaved tabs are copied to your own profile a moment after you stop typing. Next time LeanMD starts, it offers to restore them.

Stored in %LOCALAPPDATA%\LeanMD\Native

Offline, always

No telemetry, no update checks, no remote images. Links open in your browser only when you click them.

Nothing to configure

Signed

LeanMD.exe is digitally signed by iCube Development (Calgary) Ltd., so Windows can confirm who published it.

Right-click LeanMD.exe > Properties > Digital Signatures

Reading, printing and sharing

For when someone else needs to see it.

Select and copy from the preview

Drag to select rendered text and copy it, just like a document.

Ctrl+A, Ctrl+C in the preview

Links open when you mean it

Click a web link in the preview to open it in your browser. Nothing is fetched until you do.

Click a link in the preview

Print

Prints the rendered page for Markdown and the plain text for everything else.

File > Print... or Ctrl+P

Export as HTML

Saves a single, self-contained HTML file with its styles built in and no scripts, ready to email or attach. Works for plain-text files too.

File > Export as HTML...

Made for Windows

Native in the ways that matter, portable in the ways that help.

Portable

One LeanMD.exe, no installer and no admin rights. Run it from any folder, or from a USB stick.

Extract the ZIP and run it

Help on first launch

The first time LeanMD starts with nothing to open, it shows a short hello.md in Split with help and file-association steps. Close it and it stays closed.

Automatic, once

Opt-in file association

Register LeanMD for .md, .markdown, .mdown, .mkd and .mkdn for your own account, then pick it as the default in Windows Settings. Remove it the same way.

Help > Use LeanMD for Markdown files...

Looks at home

System, Light or Dark theme, a dark menu bar in dark mode, Windows high-contrast colours, and per-monitor scaling for setups with mixed displays.

View > Theme

Remembers your setup

View, theme, zoom, split position, outline width, line numbers, word wrap, autocomplete and syntax colouring are kept between sessions.

Automatic

Keyboard and screen readers

Move between panes with F6; the preview exposes its text to screen readers through Windows UI Automation.

F6 / Shift+F6

What it opens

Markdown gets the preview and the Outline. Everything else opens in the Source editor, with the same safe saving, encodings and tools.

KindExamples
Markdown.md, .markdown, .mdown, .mkd, .mkdn, with live preview up to 256 KiB
Text and logs.txt, .text, .log, .nfo, README, LICENSE
Configuration.ini, .cfg, .conf, .config, .properties, .env
Data.json, .jsonl, .xml, .yaml, .yml, .toml, .csv, .tsv
Source and scripts.c, .cpp, .h, .py, .js, .ts, .tsx, .css, .html, .sh, .bat, .cmd, .ps1, .sql, Makefile and more
Anything elseAny plain-text file, through Open with or File > Open with All files

Command line

For scripts, setup tools and the curious. The first three finish without opening a window.

> LeanMD.exe --version | more  # print the version (pipe it: LeanMD is a windowed app)
> LeanMD.exe --register         # add LeanMD for Markdown files, this account only
> LeanMD.exe --unregister       # remove that registration again
> LeanMD.exe notes.md           # open a file (in the running window, if there is one)

Small app. Lots of small conveniences.

Download LeanMD 1.2.4