Your tabs, exactly where you left them.
Next time you open the app
Every tab is back — including the ones you never saved.
Tabs, syntax highlighting, and live Markdown preview in a plain-text editor for Windows, macOS, and Linux — around 3 MB to install.
Latest release · Free · Open source
🍎 On macOS, one Terminal command is needed before the first launch
On a Mac? Try UniFinder — Windows Explorer's feel, without leaving macOS🧩 Using VS Code? The same Mermaid preview — zoom, drag, custom background — runs right inside your editor.
VS Code Extension⚠️ Run the command below before the first launch
🍎 On macOS — one command is required before the first launch
This app is distributed without Apple Developer notarization. So the first time you open it, macOS blocks it with "UniNotepad is damaged and can't be opened. You should move it to the Trash." The file is not damaged — it is the quarantine attribute macOS attaches to anything downloaded from the internet. Don't delete the app.
.dmg and drag UniNotepad into your Applications folder.⌘ + Space → "Terminal"), paste the line below, and press Enter — it only strips the quarantine attribute.
xattr -cr /Applications/UniNotepad.app
You only have to do this once. Run the same line again only if you replace the app with a newer .dmg.
Every link resolves to the latest release automatically. On Windows and Linux, just download and install.
💾 Nothing to save
It records as soon as you stop typing — no "Do you want to save changes?" when you close.
🗂️ Tabs and session restore
Quit, crash, or reboot — your open tabs come back, unsaved notes included. Tab bar with a + button, Ctrl+Tab cycling, right-click to close several at once.
📝 Live Markdown preview
Renders on the right as you type — GFM tables, checkboxes, highlighted code blocks, synced scrolling. Toggle with Ctrl/Cmd+Shift+M and drag the middle divider to set the split — the ratio and zoom are remembered per tab.
🔗 Follow document links
Click a [another doc](./other.md) link in the preview and that file opens in a new tab — with an #anchor on it, right at that spot. Every heading gets an anchor, so a document's own table of contents works, in the app and in the HTML you export. Web addresses still go to your browser; a missing file, a folder, or anything that isn't text is reported with the path it resolved to instead of being opened.
🪟 Open and close each pane
Turn the editor and the preview on or off per tab — full-width preview in this tab, editor only in that one. Hover the top-right corner of a pane for its × button; reopen from the Editor · Preview buttons in the status bar. The layout is remembered per tab too. Since .md and .mmd files are usually opened to be read, they start as preview only.
🧜 Mermaid diagrams
```mermaid code blocks, and whole .mmd files rendered as one picture — flowcharts, sequence, Gantt, class, anything Mermaid 11 draws. A wide diagram grows with the window, and you can zoom a chart on its own or pick its background color.
🖨️ Export the preview
Save the rendered document as a single HTML file, or print it straight to PDF — diagrams come along as images.
📋 Paste the web as Markdown
Copy a chatbot answer or a web page, paste it into a Markdown tab, and the headings, lists, tables and code blocks arrive as Markdown. Other file types paste verbatim, as before — turn it off under Preferences ▸ Editor ▸ Paste HTML as Markdown.
🎨 Syntax highlighting
143 languages, detected from the file name alone.
🌗 Ten themes, light or dark
Pick a palette — Dracula, GitHub, Solarized, Gruvbox, Catppuccin, Nord, Tokyo Night, One Half, Rosé Pine, Kanagawa — and its lightness separately under View ▸ Theme. System follows your OS appearance. The editor, the syntax colors, and the Markdown/Mermaid preview all switch together, and your choice sticks across restarts.
✂️ Line tools
Sort, remove duplicate or blank lines, trim whitespace, change case, move lines.
⌨️ Multiple cursors and code folding
Select every occurrence of a word and edit them at once; fold long blocks. Whitespace rendering included.
🌏 Legacy encodings
UTF-8 and UTF-16, plus EUC-KR/CP949, Shift-JIS, GBK, and Big5 — detected and opened correctly. Characters the chosen encoding can't represent are flagged before saving.
👀 External change detection
If another program edits the file while UniNotepad is running, it notices right away — refreshing quietly if you haven't typed anything, asking with a banner if you have.
🗄️ Large files, safely
Files over 10 MB open in a light mode (no syntax highlighting) after a confirmation, so the app never freezes.
⚙️ One place for settings
Font, line numbers, indentation, save options, and theme — all on one screen at Ctrl/Cmd+,.
🔄 Automatic update checks
New releases show up quietly in the status bar — Windows and AppImage builds install from inside the app.
🪶 Lightweight
It uses the OS web view instead of bundling a browser, so the installer is around 3 MB.
Yes. It is recorded 1.5 seconds after you stop typing, and again every time you switch tabs or close the window. Even if the machine loses power, nothing beyond the last second or two is gone.
What the app keeps on its own is a working copy that only this app reads. To leave the content as a real file that other programs can open, you save it. Saving writes the whole file to a temporary one first and then swaps it into place in a single step, so the original survives even if the machine dies mid-save.
The file is not damaged. This app is distributed without Apple Developer notarization, so that message is how macOS reports the quarantine attribute attached to anything downloaded from the internet. Don't move it to the Trash.
Move UniNotepad into your Applications folder, run the line below in Terminal, and open it again.
xattr -cr /Applications/UniNotepad.app
The full steps are in the macOS section under Download.
UTF-8 files open correctly whether or not they have a BOM. Korean files saved as "ANSI" by the classic Windows Notepad (EUC-KR/CP949) are detected and opened properly too. If one is misidentified, pick the encoding from the status bar and it is read again.
Older documents in Japanese (Shift-JIS) or Chinese (GBK, Big5) are detected the same way, and can likewise be re-read with an encoding you choose.
UTF-16 (LE/BE) files open and save as well, and if the current encoding can't represent a character in the document, you are warned before saving.
UniNotepad notices while it is running — and on the next launch if it wasn't — and tells you the file changed. Your version always takes priority, so nothing is overwritten behind your back.