From the creator of Overleaf
Next-gen LaTeX tooling.
LaTeX rewritten. Drop-in compatible with pdfTeX, XeTeX and LuaTeX.
Talk to me.
henry@voltlatex.comRuntime, editor, server. Take what you need.
$ volt
The LaTeX runtime and package manager.
Runtime · CLI✎ volt-editor
A LaTeX editor built on the volt engine.
Editor⇋ volt-collab-server
People and AI editing the same document, in real time.
Collaboration and AIRecompiles you don't wait for.
Recompile after an edit · pdfLaTeX · 9 real papers
MeasuredWall-clock seconds, median of three, with dirty (edited) TeX files and volt's watch mode (-w) enabled; stock is TeX Live 2025 pdfLaTeX via latexmk.
One binary. No TeX Live install.
$ volt init $ volt build -w volt main.tex -> build/main.pdf pass 1 engine cold (first compile) 4.12s ok 1 pass 4.12s [volt watch] changed: main.tex pass 1 engine warm 0.04s ok 1 pass 0.04s $ volt lock $ volt build --frozen # offline, pinned
volt initWrite a minimal volt.toml.volt build [-w]Build.-wrecompiles on save.volt lockPin a cold build into volt.lock.volt fetchDownload everything the lock needs.volt exportExport the locked project.volt cachedir, clean or prune.volt toolpdftex, bibtex, makeindex, latexmk.
--locked--offline--frozen--output-format=json--limit-time=S-C DIRErrors that make sense. To you and your AI.
Volt traces every error back to your line, explains it in plain English, and shows the fix. Even when it breaks deep inside a package.
Stock TeX
! Package siunitx Error: Duplicate per part. See the siunitx package documentation for explanation. Type H <return> for immediate help. ... \__siunitx_unit_parse_add:nnnn #1#2#3#4 ->...\msg_error:nnxx {siunitx}{duplicate-part} \__siunitx_unit_parse:n ... l.42 ...ion is \qty{9.81}{\metre\per\per \second} ? h Each unit may have only one per: the additional per part '\per' will be ignored.
Volt
siunitx-duplicate-partA unit repeats the same part
\qty{9.81}{…}main.tex:42\qtysiunitx.sty:9163\siunitx_quantity:nnsiunitx.sty:7880\__siunitx_unit_parse:nsiunitx.sty:6953\__siunitx_unit_parse_add:nnnnsiunitx.sty:6966
\per part.\per part in the unit.281 errors, rewritten in plain English
TeX itself and the packages you use, each with the cause, the fix and an example.
! Missing $ inserted.Math-only command used in text mode! Undefined control sequence.Undefined control sequence:\textbff. Did you mean\textbf?Package cleveref Error: cleveref must be loaded after hyperref!cleveref was loaded before hyperref Quick fix: move cleveref after hyperrefPackage hyperref Warning: Ignoring empty anchorA hyperref anchor command received an empty destination name
Clear errors help AI too.
Agents get TeX's original error and Volt's explanation together: your exact line, the macro trace and the fix. No log to guess from, so they fix it first time.
{
"tex": "! Package siunitx Error: Duplicate per part.",
"code": "siunitx-duplicate-part",
"at": "main.tex:42",
"error": "A unit repeats the same part",
"trace": ["\qty", "\siunitx_quantity:nn", "\__siunitx_unit_parse:n"],
"fix": "Keep a single \per part in the unit."
}Built on the compiler. Not a guess.
Definitions through macros
Jump to where a macro really came from, even when another macro defined it. Hover shows its origin.
\textcolorRename through macros
Rename a label and every use follows, including uses hidden inside your own macros.
Labels and refs
Complete a \ref from every file in the project. See what it resolves to.
Find out why it's slow. Macro by macro.
The first profiler for LaTeX. See which macros, and which parts of your document, cost compile time.
Example profile of a 40-page thesis. Illustrative values, not a measurement.
Write together. People and AI, same document.
volt-collab-server keeps everyone in sync in volt-editor: collaborators, history and AI agents working on the same project.
100% compatible with pdfTeX, XeTeX and LuaTeX.
Your existing documents build as they are. No rewrites, no new syntax.