$
Double-click a Markdown file.
Start reading instantly.
LineGrab.md is a read-only Markdown reader. No editor to boot, no browser tab, no page load to wait for — double-click the file and the text is in front of you. Want a second one beside it? Just double-click it.
Quick start
Once installed, .md files open in LineGrab.md. Double-click any Markdown file and you are in reading mode: the outline highlights as you scroll, the body renders as GFM, and inline code such as npm run dev looks like this.
Rendering
1const doc = await read("./notes.md")2render(doc, { gfm: true, math: true })3// click a line number to copy that line
Math such as E = mc2, Mermaid diagrams, tables and footnotes all follow the official syntax; when rendering fails you keep the source instead of a blank page.
Anyone who copies code for a living knows this one.
In a browser or a plain reader, taking exactly one line out of a code block means dragging the mouse across it. Overshoot by three characters, or miss a quote mark, and the paste fails in your terminal.
$
Click a line number to copy that line. No numbers, no trailing newline, indentation intact — paste it straight into a terminal. Shift+click another line to copy a range (the toast says “Lines 3–4 copied”), so multi-line commands don't need cleaning up afterwards.
Everything a reader needs. Nothing it doesn't.
One goal: shrink “read a Markdown file” from “find software that can open it” down to nothing.
Double-click and read
Installs register .md automatically. Also: linegrabmd note.md from a shell, drag and drop, or one of the 10 most recent files on the start page.
The line number is the copy button
Line numbers beside every code block are clickable: one click copies the whole line, Shift + click copies a range. What you get has no numbers and no trailing newline.
Two documents, two windows
With one document already open, double-click another .md and it opens in a new window, offset so both stay visible; the title bar is the file name. Compare side by side instead of switching between two columns of tabs.
Snap + pin
F9 snaps to the right half, Shift+F9 to the left, Ctrl+F9 pins on top. Snapping only moves the window, pinning only changes the stacking order — so you can read a document while typing commands without arranging windows by hand.
Math and diagrams
KaTeX math and Mermaid flowcharts / sequence diagrams render from the official syntax; when they fail the source stays on screen, so you can find the typo.
Long documents do not get lost
A generated outline highlights as you scroll, Ctrl+F shows a match count, and zoom, print and long-line wrapping are all one keystroke away.
Fully offline
Markdown, highlighting, KaTeX, Mermaid and fonts all ship in the installer. Offline and online render identically, and a flaky CDN can never blank the page.
A UI in four languages
Simplified Chinese, Traditional Chinese, Japanese and English: picked from your system language on first run, changeable on the start page and remembered. Top-bar buttons are icons, so they never stretch when the language changes.
Read-only, therefore clean
No edit mode, no save conflicts, no account or cloud sync. Open it to read, close it and nothing is left behind.
What it doesn't do.
Stating the boundaries says more about who this is for than listing features: it's for people who need to finish reading a document, not for people writing one.
- It doesn't edit filesNo edit mode means no accidental edits to a read-only document. To write, use your editor.
- It doesn't upload, measure or connectRendering happens locally. No telemetry, no account, no crash reporting.
- It doesn't nag youNo update ads and no “upgrade to Pro”: what you install is the whole product, and nothing will ever pop up asking for money.
How it differs from “just opening it in something else”.
Not more features. A shorter path.
| LineGrab.md | Editor (VS Code, …) | Browser | |
|---|---|---|---|
| Open a .md file | Double-click | Boot the whole workspace | New tab, then drag it in |
| Copy one line of code | Click the line number | Drag, then clean up by hand | Drag, then clean up by hand |
| Install size | ~12 MB | 100 MB and up | 0 (but more RAM) |
| Risk of accidental edits | None | Yes | None |
| Math / Mermaid | Built in | Needs plugins | Needs extensions |
| Works offline | Fully offline | Usually offline | Some assets from a CDN |
| Two documents side by side | Double-click a second one | Split view, then another workspace | Switch between two tabs |
The comparison is about opening one document right now. For long editing sessions, repo-wide search or plugins, an editor is obviously the better tool.
Download
v0.12.0·2026-10-26
Free to use: no trial, no feature gate, no account, no in-app purchase.
Windows
x64Or the portable single .exe (no install, but no file association)
macOS
Apple SiliconIntel build in progress · not notarized yet — right-click → Open on first launch
SHA-256
Verify once after downloading to rule out a swapped file. On Windows: certutil -hashfile FILE SHA256.
574df07362e54d325675817264b6e9d5fc237e4429c6f5d6d5dca92b31606a24
“Unknown publisher” on first run
The installer isn't code-signed yet, so SmartScreen stops it once: click More info → Run anyway. A signing certificate is planned; this is not a permissions problem.
Changelog
What changed in each version, newest first. Entries are only added, never rewritten.
-
0.12.0
- 顶栏按钮全部改成图标:打开、折行、贴边、置顶、主题、打印,一眼能认出的动作不再占文字位置
- 界面支持简体中文 / 繁體中文 / 日本語 / English 四种语言,首次按系统语言自动选
- 启动页底部可以随时切换语言并记住选择;顶栏按钮是图标,换语言不会把按钮撑变形
-
0.11.0
- 把原来的「悬浮」拆成两个互不干扰的开关:贴边管位置,置顶管窗口层级
- 贴边可以贴左也可以贴右:
F9贴右半屏、Shift+F9贴左,再按一次还原原来的位置与大小 - 置顶用图钉按钮或
Ctrl+F9,只改层级、不动几何,所以「只置顶 + 自己拖成小窗」也能用
-
0.10.0
- 新增「悬浮」:窗口贴到右半屏并始终置顶,适合一边看文档一边敲命令
- 空窗口居中显示,不再被左侧目录列挤到右边
-
0.9.0
- 已经开着一篇文档时,再双击一个
.md会开新窗口(依次错开),两篇可以并排对照;窗口标题显示文档名 - 品牌更名为 LineGrab.md:显示名、包名
linegrabmd、图标、配色一起换
- 已经开着一篇文档时,再双击一个
-
0.8.0
- 视觉身份定稿:teal + amber 两色体系,新图标(行号 + 高亮行 +
.md角标) - 站点与文档同步改名,安装包元数据补齐发布者、版权与简介
- 视觉身份定稿:teal + amber 两色体系,新图标(行号 + 高亮行 +
Release notes are written in Chinese.
Questions
Why isn't it open source?
Free to use and open source are two different things. This does not need a community, and it is not asking you to trust it because the source is public: it does not touch the network, does not collect data and does not write to your files, and those boundaries are listed on this page. The source stays closed; every user gets the same features. If maintenance ever stops, the changelog will say so in advance and point at the last usable build.
Will it cost money later?
Not for existing features. It is simply free: no trial, no feature gate, no in-app purchase, no account. If a team-oriented product ever appears (batch conversion, config sync), it will be a separate line and will not touch this reader.
Which languages does the UI support?
Simplified Chinese, Traditional Chinese, Japanese and English. The first launch follows your system language; you can change it on the start page at any time and the choice is remembered. Top-bar buttons are icons, so nothing gets stretched. Document content is unaffected — any UTF-8 Markdown renders normally.
Can I read two documents at once?
Yes. With one document open, double-click another .md and it opens in a new, offset window. Together with snapping (F9 / Shift+F9) and pinning (Ctrl+F9) you can put one on the left and one on the right, or keep a document floating above other windows. Position and size are remembered.
Double-click does nothing on Windows, or “Unknown publisher”?
Two common cases: the portable exe doesn't register file associations (right-click → Open with), and the unsigned installer trips SmartScreen (More info → Run anyway). On Windows 10 you may also need the WebView2 Evergreen Runtime once; Windows 11 ships it.
Does it read or upload the contents of my files?
No. Rendering happens locally and the app makes no network requests at all. Easy to verify: disconnect from the network, open the same document, and nothing changes. No telemetry, no crash reports, no accounts.
Linux or mobile?
Not for now. Tauri could cover Linux, but it isn't scheduled; reading on a phone is a different product problem and I'm not going to pad the feature list with it.
Can it edit?
No, by design. Read-only means no save conflicts and no accidental edits — and it keeps the rendering path as short as possible.
Something off? Just say it.
Bugs, ideas, complaints — all welcome. Public things go on GitHub, so the next person can find the answer instead of asking the same question again.
Report a problem
Wrong rendering, crashes, odd window behaviour: version, system and repro steps are all it takes — the form asks one thing at a time.
Open an issueSuggest a feature
Say what you are trying to do before how you would do it. Read-only is the premise, so editing suggestions will not be taken.
Open a suggestionSend an email
No account needed — email reaches me just the same. The trade-off: nobody else can find your question, and you cannot find theirs.
wangrenwen2018@foxmail.comCheck you are on the latest version first — everything fixed is in the changelog. Build a minimal example for the repro instead of pasting a real document; usernames in paths can be masked too.