mrkeyoor.com_
Thu 10 Sept 06:59 UTC
Dev Toolsevaluationupdated 10 Sept 2026

typst review

Typst is a markup-based typesetting system for producing polished documents without LaTeX's command-heavy syntax. Its open-source Rust compiler and CLI handle local compilation, live watching, fonts, math, bibliographies, and programmable layouts, while a separate hosted editor adds collaboration.

Verdict

Our Typst checkout passed all 42 tests, but its Rust build took 654 seconds, so the release binary is the sensible entry point for most authors. Use it for new technical documents when readable source, math, references, and programmable layout matter. Keep LaTeX for inherited publisher workflows, and test HTML accessibility against your exact requirements before shipping it.

We ran it

Lab card: what happened when we ran typstScreenshot of typst (typst.app)
Install✓ · 56s457 packages
Build✓ · 654s
Tests✓ · 15s42 passed · 0 failed of 42 (cargo test)
Repo2861 files~162,794 lines of source · 10.8 MB · 3 CI workflows · Dockerfile · tests dir

Answers from our run

Does typst build from source?

Dependencies installed in 56 seconds (457 packages), and the build succeeded in 654 seconds. We cloned commit 26e924d into a clean Debian container with 3 CPUs and no project-specific setup.

Do typst's tests pass?

Yes: 42 of 42 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use typst?

Publishers that must reuse LaTeX classes, packages, and macros unchanged: Typst has its own language and Typst Universe package catalog.

What are the alternatives to typst?

LaTeX2e, Tectonic, Pandoc. Our Typst checkout passed all 42 tests, but its Rust build took 654 seconds, so the release binary is the sensible entry point for most authors.

Setup4/5All checks passed, though the source build took 654 seconds
Docs5/5Clear tutorial, reference, CLI, font, and contributor guidance
Community5/555,932 stars with issues and pull requests active this week
Maturity4/5Strong PDF toolchain; HTML and PDF forms still have gaps

Who it’s for

Developers writing technical reports, papers, books, or generated PDFs who want one readable markup and scripting language.
Teams starting a document system from scratch and willing to build templates in Typst's own package ecosystem.
Authors who want a local compiler, automatic recompilation, custom font paths, and an optional web editor.
Rust contributors interested in compilers, layout, text shaping, PDF, SVG, or HTML export.

Who it’s NOT for

Publishers that must reuse LaTeX classes, packages, and macros unchanged: Typst has its own language and Typst Universe package catalog.
Teams depending on accessible HTML today: issue 8823 reports that Typst 0.15.1 drops figure(alt:) text from HTML output even though PDF retains it.
Anyone who needs interactive PDF form fields now: issue 4368 is still an open RFC covering text inputs, choices, checkboxes, and radio buttons.
Contributors who need a quick source build on modest CI runners: our 3-CPU sandbox spent 654 seconds on the Rust build.

Setup reality

Our Typst checkout installed 457 Rust packages in 56 seconds, built successfully in 654 seconds, and passed all 42 cargo tests in 15 seconds. The 10.8 MB checkout contained 2,861 files and about 162,794 source lines, with 3 CI workflows, a Dockerfile, and a tests directory.

Using a release binary, package manager, Nix flake, or container avoids that long source build. The local CLI needs no account or API credential. Projects do need their chosen fonts, bibliography data, assets, and any Typst packages they import; the hosted collaborative editor is an optional separate service.

A source build needs the latest stable Rust toolchain. Package-manager versions can lag the current release, and font discovery differs by machine unless you pass a font path or set TYPST_FONT_PATHS. The CLI can watch and recompile files, while editor completion and instant preview come from the web app or a community language server.

Typst replaces TeX commands with one markup and scripting language

Typst compiles its own plain-text document format into finished output. Common work uses lightweight markup for headings and emphasis, while functions, set rules, show rules, and embedded expressions take over when a layout needs logic. Math, tables, citations, bibliographies, figures, and custom fonts live in the same language. That makes the source easier to read than a typical LaTeX file without reducing every document to a fixed Markdown theme.

Version 0.15.1 is a serious document compiler rather than a thin template wrapper. The CLI can compile a file, watch it for changes, list discovered fonts, add project font directories, and update itself when installed from an official release. Typst Universe provides community packages and templates. The repository is Apache-2.0 licensed, so a company can run and modify the compiler locally without buying access to the hosted editor.

The CLI owns local compilation, while collaboration lives in the web app

The README's basic route is refreshingly direct: install a release binary or package, then run typst compile file.typ. A watch command keeps a preview current through incremental compilation. Homebrew, Winget, Snap, Nix, Cargo, Docker, and downloadable archives are documented options. Package-manager releases may lag, a warning worth taking seriously when several authors must produce identical output. Pin the compiler instead of trusting whatever version happens to be on each laptop.

Collaboration is a different product boundary. The open repository contains the compiler and command-line interface, while Typst's online editor supplies the browser writing experience. A community language server, Tinymist, connects the language to editor extensions for completion and preview. Teams choosing the local path must assemble their own Git workflow, review process, preview setup, and artifact publishing. The compiler does not turn shared editing into an on-premise Google Docs replacement.

What happened when we ran it

Our sandbox installed 457 Rust packages in 56 seconds, then completed the build in 654 seconds. That is nearly 11 minutes of compilation on 3 CPUs with 12 GB of RAM. The checked-out commit was 26e924d, and the source tree measured 10.8 MB before dependencies. A project user should start with a binary or container; the source route makes more sense for contributors and organizations that must produce their own compiler artifact.

Cargo test finished in 15 seconds with 42 passed and 0 failed out of 42. Those numbers cover the test command exposed by the harness for this checkout. They do not establish document rendering speed, PDF fidelity across a private template archive, or compatibility with every community package. Our run did establish that install, build, and tests all completed in the fresh unprivileged Debian container.

The repository itself held 2,861 files and roughly 162,794 lines of source. We found 3 CI workflow files, a Dockerfile, and a tests directory. Those are useful maintenance signals, particularly for a compiler where layout regressions can be subtle. The 654-second build remains the practical warning: cache Cargo artifacts in CI, and avoid rebuilding the compiler merely to turn a .typ file into a PDF.

Typst 0.15.1 still has HTML accessibility gaps

PDF is the safer center of gravity. The project documents PDF, PNG, SVG, and newer HTML-related work, but open issue 8823 demonstrates a specific HTML problem in Typst 0.15.1: figure(alt:) produces alternative text in tagged PDF and discards it in HTML. Issue 8842 separately asks for ARIA role support in typed HTML export. A team with an accessibility requirement should test the generated target with its own checker rather than infer parity between formats.

Interactive forms are another boundary. Issue 4368 remains an open RFC for PDF text fields, list boxes, checkboxes, and radio buttons. If a workflow needs readers to fill and submit a generated PDF, Typst cannot be selected on the strength of that proposal. Generate a static document with Typst, or choose a tool whose released feature set includes the required annotations.

A 1,291-item queue comes with current maintainer activity

GitHub reported 55,932 stars and 1,291 open issues and pull requests. The combined count is large, yet it sits beside clear signs of work: the last push was September 9, 2026, and recently updated items included HTML accessibility, CJK spacing, font outlines, and documentation fixes. That queue should be read as the cost of a popular compiler with a wide surface, not as 1,291 confirmed bugs.

The latest release was v0.15.1 on July 17, 2026. Its notes contain fixes for math alignment, operator positioning, multi-page list gaps, SVG formatting, watch-server content types, and CLI exit codes. The short interval between that release and the September 9 push shows ongoing development. Since the project remains below 1.0 and output details change, production templates still deserve a pinned version and a visual regression set.

Typst is best for new document systems that can own their templates

Adoption is easiest when the team controls the document source and output contract. A new report generator, technical handbook, course pack, or research workflow can benefit from readable markup and reusable functions. Existing LaTeX estates face a different calculation: years of classes, BibTeX habits, package assumptions, and publisher requirements do not transfer just because Typst's syntax is friendlier. Migration means rebuilding and comparing templates, not swapping one compiler command.

Our 42 passing tests make Typst easy to trial, and the 654-second source build makes the distribution choice equally easy: use an official binary unless compiler changes are the job. Pin v0.15.1 or the release you approve, vendor the fonts and assets your output depends on, then compare PDFs page by page. For HTML accessibility or interactive PDF forms, the current issue record gives a competent team a reason to wait or keep another tool in the pipeline.

Alternatives

ProjectWhat it isPick it when
LaTeX2eThe established TeX document system with a very large package and publisher-template base.pick this instead when a journal class, house macro set, or existing LaTeX archive must keep working unchanged.
TectonicA modernized TeX and LaTeX engine that fetches support files as needed.pick this instead when you need LaTeX compatibility with a simpler compiler experience.
PandocA document converter that moves between Markdown, office, ebook, HTML, and typesetting formats.pick this instead when format conversion and editable document interchange matter more than a programmable page-layout language.

What people are saying

  1. [velocity-scout] typst/typst

Sources

  1. Typst repository and README
  2. Typst 0.15.1 release notes
  3. Typst documentation
  4. HTML figure alternative text issue 8823
  5. PDF form elements RFC 4368
  6. HTML ARIA roles issue 8842

More dev tools reviews

lo · d2 · PEASS-ng · imgui · gofr · CleanArchitecture · the whole board →