Desktop editor for Typst with live HTML preview, LSP diagnostics, and PDF export.
Typst Studio runs Tinymist for language support and preview, with a CodeMirror 6 editor and an Electron-based preview pane.
- Live HTML preview (Tinymist) with source ↔ preview navigation
- PDF preview and export via the
typstCLI - Document outline, diagnostics panel, and find-in-file
- Tinymist autocomplete (Ctrl+Space)
- Paste images from the clipboard into
assets/as#image(...) - Optional Vim mode
- Light/dark editor themes and configurable layout
Download the latest AppImage from GitHub Releases, make it executable, and run it:
chmod +x typst-studio-*.AppImage
./typst-studio-*.AppImageRuntime dependencies (not bundled in the AppImage):
| Package | Arch | Debian / Ubuntu | Fedora |
|---|---|---|---|
| FUSE 2 (required to launch AppImages) | fuse2 |
libfuse2 |
fuse |
| GTK 3 (Electron UI / dialogs) | gtk3 |
libgtk-3-0 |
gtk3 |
Example on Arch:
sudo pacman -S fuse2 gtk3If FUSE is unavailable, you can run ./typst-studio-*.AppImage --appimage-extract-and-run (slower startup; extracts to a temp dir each time).
The AppImage bundles Tinymist. Install the Typst CLI separately if you want PDF export or PDF preview mode. Prefer the .deb on Debian/Ubuntu if you want apt to pull dependencies automatically.
Download typst-studio-*-win.zip from GitHub Releases, extract, and run Typst Studio.exe. Tinymist is bundled; install Typst for PDF export.
yay -S typst-studio-binThe AUR package extracts the AppImage at install time and runs /opt/typst-studio/AppRun, so FUSE is not required to launch the app. Requires Typst for PDF export. Tinymist is bundled.
Requirements
- Node.js 20+
- A graphical session (X11 or Wayland)
- Typst on
PATHfor PDF export / PDF preview - Tinymist — downloaded automatically by
npm install, or install tinymist yourself
git clone https://github.com/DeathKhan/typst-studio.git
cd typst-studio
npm install
npm run devTo produce release artifacts locally:
npm run distOutput lands in release/ (AppImage and .deb on Linux). The predist step always downloads Tinymist into resources/bin/ for packaging, even if you have tinymist on PATH.
If development fails with libffmpeg.so: cannot open shared object file, use the system Electron package:
sudo pacman -S electron typst
npm run install-electron
npm run devOr link system Electron explicitly:
ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm run install-electron
npm run devIf you see "Electron uninstall", the Electron binary was not installed:
npm run install-electron
npm run devSettings are stored in ~/.config/typst-studio/settings.json.
On first launch, Typst Studio opens a sample document from examples/welcome.typ. Use File → Open to edit your own .typ files.
| Shortcut | Action |
|---|---|
| Ctrl+S | Save |
| Ctrl+F | Find in file |
| Ctrl+Space | Autocomplete |
With Vim mode enabled, use :w to save and / to search.
Paste a screenshot or image with Ctrl+V to save it under assets/ next to the current file and insert a #image("assets/…") reference.
The default bundled version is v0.14.16. Override when downloading:
TINYMIST_VERSION=v0.14.16 npm run download-tinymistCopyright © 2026 DeathkKhan
Licensed under GPL-3.0-or-later.