A distraction-free, offline desktop notes app for Windows, macOS and Linux, built with Electron and TypeScript, with no AI features, ads or tracking.
alexishida/Moji
A lightweight desktop app for opening, reading, editing, and exporting Markdown files, built with Electron and React.
- Stars
- 501
- Forks
- 55
- Open issues
- 2
- Last commit
- last month
What is it?
Moji is a desktop app for working with Markdown files, aimed at people who want something closer to a PDF reader than a full IDE. It opens .md and .markdown files through a file dialog, drag and drop, or file association, and lets you work across multiple documents in tabs.
The app offers a rendered preview with outline navigation, tables, task lists, KaTeX math, and Mermaid diagrams, alongside a CodeMirror 6 source editor with an optional live split view. Documents can be exported as HTML, PDF, or PNG, with Mermaid diagrams embedded as SVG. Large files are streamed and parsed in a Web Worker, and untitled drafts are kept for recovery after a restart.
Moji is built with Electron, React, TypeScript, and electron-vite. It ships installers for Windows, macOS (DMG), and Linux (AppImage and DEB), and includes an interface in several languages.
Key features
- 01Opens .md and .markdown files via dialog, drag and drop, or file association, with multi-tab editing.
- 02Preview renders tables, task lists, footnotes, LaTeX math, and Mermaid diagrams.
- 03CodeMirror 6 editor with a live split view that syncs scrolling between source and preview.
- 04Exports the active document to HTML, PDF, or PNG with cancellable progress.
- 05Recovers unsaved untitled documents after restarting the app.
- 06Handles large files by streaming them and rendering with a Web Worker.
Use cases
- Reading Markdown notes, docs, or specs in a clean window without an IDE.
- Writing Markdown with a live preview and then exporting to PDF or HTML for sharing.
- Previewing documents that contain Mermaid diagrams or math formulas.
Quick start
- 1
Install dependencies
npm install - 2
Run the app in development mode
npm run dev
Things to know
- macOS builds are not code-signed or notarized, so Gatekeeper blocks the first launch and users must approve it manually.
- Automatic update checks are only available in Windows NSIS and Linux AppImage builds.
- Requires Node.js ^20.19.0 or >=22.12.0 to build from source.
Topics
FAQ
- What is Moji?
- A lightweight desktop app for opening, reading, editing, and exporting Markdown files, built with Electron and React. Moji is a desktop app for working with Markdown files, aimed at people who want something closer to a PDF reader than a full IDE. It opens .md and .markdown files through a file dialog, drag and drop, or file association, and lets you work across multiple documents in tabs.
- Is Moji free to use? What license does it have?
- Moji is open source under the MIT license. Check the license terms before using it in commercial products.
- Is Moji still maintained?
- Updated within 6 months. The last commit to Moji was on Sep 11, 2026.
- What can I use Moji for?
- Reading Markdown notes, docs, or specs in a clean window without an IDE. Writing Markdown with a live preview and then exporting to PDF or HTML for sharing. Previewing documents that contain Mermaid diagrams or math formulas.
- How do I install Moji?
- Install dependencies: npm install Run the app in development mode: npm run dev
- Where can I get Moji?
- The source code and installation instructions are on GitHub: https://github.com/alexishida/Moji
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A local-first Tauri desktop app that turns Markdown into paginated social media cards and exports them as PNG, JPG, PDF or long PNG.
A free, local, distraction-free word processor for novelists that saves manuscripts as plain files and formats them like books as you write.
A framework for building cross-platform desktop apps with JavaScript, HTML and CSS, based on Node.js and Chromium.
Open-source screen recorder and editor for Mac, Windows and Linux that adds zooms, cursor polish and styled frames to demo videos.
A lightweight cross-platform desktop sticky-note app with Markdown editing and preview, built on Tauri 2 and React.