Repolode
alexishida

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. 1

    Install dependencies

    npm install
  2. 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