A WYSIWYG Markdown editor for Windows — write like in a word processor, save as clean Markdown.
English | 한국어
Markron lets you edit Markdown documents like a word processor — no Markdown syntax knowledge required. Everything is always saved as standard Markdown text; only formatting that Markdown cannot express (fonts, colors, underline, merged cells) is stored as inline HTML, keeping your files compatible everywhere. Built with Electron, React, TypeScript, Tiptap (ProseMirror), and CodeMirror 6.
Get the latest Windows installer from GitHub Releases.
⬇ Download the latest version
— grab Markron-Setup-x.y.z.exe from the release page and run it.
Once installed, Markron keeps itself up to date: it checks GitHub Releases on launch and downloads updates in the background.
- WYSIWYG editing — formatting is applied as you type; no Markdown symbols on screen.
- Formatting quick bar — save, undo/redo, paragraph styles (Heading 1–3), font family/size, bold·italic·underline·strikethrough, inline code, text/highlight color, lists (bulleted·numbered·checklist), blockquote, code block, tables, images, links, horizontal rule.
- Table editing — insert via a grid picker; with the cursor inside a table the quick bar shows row/column add·delete, cell merge/split, and header-row toggle buttons.
- Markdown input rules — type
#,-,**bold**and more, just like plain Markdown. - GitHub-style line breaks —
Enterinserts a line break (no blank line);Enteron an empty line (double Enter) starts a new paragraph. - SFTP remote editing — open and save Markdown files on remote servers;
Ctrl+Ssaves straight to the server. Connections can be saved for one-click reconnects. - Multilingual UI — Korean and English, switchable in Preferences (follows the OS language by default).
- Auto update — new releases are detected and installed automatically.
- Light/dark theme — follows the OS, or force a theme in Preferences.
Switch with the tabs at the bottom of the window (or keyboard shortcuts).
The default mode: edit with live formatting on a paper-like page panel.
Shows the raw Markdown source untouched, with line numbers and syntax highlighting. You can edit it directly.
Edit on the left; the read-only Markdown source on the right updates live.
Use File → Open from SFTP… / File → Save to SFTP… to work with files on a remote server.
- Password or private-key authentication
- Remote directory browser to navigate folders and pick files
- Documents opened over SFTP save back to the server with
Ctrl+S(dropped connections reconnect automatically) - Saved connections: pick a saved profile from the list on the left of the connection
dialog and connect with one click. Passwords and key passphrases are stored only as
safeStorage(Windows DPAPI) ciphertext bound to your Windows account — never in plain text.
File → Preferences… — changes apply instantly and are saved automatically.
- Theme: follow system / light / dark
- Language: follow system / 한국어 / English
- Default editor font & size
- Automatic update checks on/off
| Action | Shortcut |
|---|---|
| New / Open | Ctrl+N / Ctrl+O |
| Save / Save As | Ctrl+S / Ctrl+Shift+S |
| Editor / Plain / Split mode | Ctrl+1 / Ctrl+2 / Ctrl+3 |
| Bold / Italic / Underline | Ctrl+B / Ctrl+I / Ctrl+U |
| Undo / Redo | Ctrl+Z / Ctrl+Y |
| Preferences | Ctrl+, |
- Node.js 20+
- Windows 10/11 (current packaging target)
npm install
npm run dev # dev mode with HMRnpm run build # typecheck + production build (out/)
npm run package # Windows installer (release/, NSIS)
npm run release # package + publish to GitHub Releases (requires GH_TOKEN)Pushing a
v*tag also triggers GitHub Actions to build the installer and upload it to the release automatically.
| Area | Technology |
|---|---|
| Shell | Electron + electron-vite |
| UI | React + TypeScript |
| WYSIWYG | Tiptap (ProseMirror) |
| Plain view | CodeMirror 6 |
| Markdown conversion | tiptap-markdown |
| SFTP | ssh2-sftp-client |
| Auto update | electron-updater |
| Packaging | electron-builder |
src/
main/ # Electron main: windows, file I/O, SFTP, settings, updater, native dialogs
preload/ # contextBridge IPC (the only main↔renderer bridge)
renderer/ # React UI: quick bar, editor/plain/split modes, dialogs
shared/ # shared types & i18n dictionary (ko/en)
See CLAUDE.md for detailed development guidelines and the design system (Korean).
Cannot read properties of undefined (reading 'handle')on launch — theELECTRON_RUN_AS_NODE=1environment variable was inherited (some IDE extension terminals do this). Run$env:ELECTRON_RUN_AS_NODE = $nulland try again.
MIT



