Write Typst with a fast native editor, live preview, and project-first workflow.
Desktop & iOS — your .typ files stay on disk where you expect them.
Typst is a modern typesetting system made for the web era. Typst Editor wraps the official Typst engine in a small, native shell so you can focus on documents—not toolchain wrestling.
- Live preview — See your layout update as you type (SVG-based preview).
- Real projects — Open a folder; edits save straight to your filesystem (desktop). On iPhone and iPad, projects live in an app-managed space with import/export.
- Exports — Ship PDF, SVG, PNG, and HTML from your sources.
- Comfortable editing — Monaco Editor with syntax highlighting, themes, and customizable shortcuts.
- Rich previews — Open Markdown, HTML, PDF, images, and more alongside your Typst files.
- Fonts & packages — Manage fonts, browse package cache, and tune the app in Settings.
Whether you’re drafting papers, slides, or templates, Typst Editor is built to stay out of your way.
| Editor | Monaco, multi-tab, quick actions, zoom & pan on preview |
| Typst | Native typst / typst-pdf / typst-svg / typst-html integration |
| Workflow | Sidebar file tree, new file / import / export project (ZIP) |
| Platforms | macOS, Windows, Linux (desktop); iOS builds via Tauri |
| UX | Light / dark appearance, window state, native menus on desktop |
| Layer | Choice |
|---|---|
| UI | Svelte 5, Vite, Tailwind CSS v4 |
| Shell | Tauri 2 (Rust) |
| Typesetting | Typst crates (typst, typst-pdf, typst-svg, …) |
- Rust (stable) and platform build tools for Tauri (prerequisites)
- Bun or Node.js (the dev/build commands in
tauri.conf.jsonuse Bun by default—you can adapt tonpm/pnpmif you prefer)
Optional: run bun run fonts:download if you use bundled fonts (see src-tauri/resources/fonts/bundled/README.md).
# Install JS dependencies
bun install
# Run the app in development (starts Vite + Tauri)
bun run tauri devFrontend only (no native shell):
bun run dev# Production bundle for your current OS (installer / app as configured in Tauri)
bun run tauri buildmacOS convenience script: bun run build:macos (see package.json for variants).
For macOS App Store or iOS packaging, see src-tauri/signing/LOCAL_APPSTORE_BUILD.md and the build:macos:appstore / build:ios:appstore scripts in package.json.
├── src/ # Svelte + TypeScript frontend
├── src-tauri/ # Rust backend, Tauri config, icons, resources
└── package.json # Scripts and frontend dependencies
Contributions are welcome—issues, docs, and pull requests all help.
- Fork the repo and create a branch for your change.
- Run
bun run tauri devand verify desktop behavior. - Keep commits focused; match existing style where possible.
- Open a PR with a short description of what and why.
If you’re unsure about scope, open an issue first and we can align on the approach.
This project is released under the MIT License.
- Typst — typesetting engine and language
- Tauri — secure, lightweight native apps
- Monaco Editor — the editor component
- EmbedPDF — in-app PDF viewing and editing (
@embedpdf/svelte-pdf-viewer)
Happy typesetting.