\compare{vs-puppeteer}
Puppeteer spins up a 300 MB Chromium browser to print a page. FormaTeX compiles LaTeX through a dedicated TeX engine — lighter, faster, and purpose-built for typeset documents.
Puppeteer is a Node.js library that controls a headless Chromium browser. Its page.pdf() method instructs Chromium to print the current page to a PDF file — the same path as pressing Ctrl+P in a browser.
It is a natural fit when your content already lives in HTML — dashboards, receipts, or web-rendered reports. The trade-off is significant: a Chromium binary, long cold start times, and rendering behaviour tied to Chrome's print stylesheet model.
FormaTeX is a LaTeX compilation API. You send a POST with your .tex source and receive a typeset PDF back in seconds. No browser, no Chromium, no container to manage.
It supports pdflatex, xelatex, lualatex, and latexmk. The managed infrastructure means you pay only for compilations — not for idle compute waiting for the next request.
\section{Feature Comparison}
A practical breakdown across the dimensions that matter most in production PDF pipelines.
| Feature | FormaTeX | Puppeteer PDF |
|---|---|---|
| Resource usage | Lightweight TeX process | Full Chromium (~300 MB) |
| Math rendering | Yes | MathJax / KaTeX required |
| Print fidelity | TeX precision | Screen-to-print conversion |
| Serverless / CDN edge | Yes | Limited (Chromium cold starts) |
| REST API | Yes | No |
| Managed infrastructure | Yes | No |
| Complex tables & floats | Yes | CSS only |
| Output screenshots | No | Yes |
\section{Decision Guide}
Choose FormaTeX when…
Choose Puppeteer when…
Operational reality
Chromium is ~300 MB
Every Lambda or container that runs Puppeteer must bundle or download a full Chromium binary. This inflates cold-start time and image sizes — a real constraint on serverless platforms.
Chrome print CSS is unpredictable
Chromium's print stylesheet rendering can shift between versions. Documents that render perfectly today may paginate differently after a Chrome update. TeX's output is deterministic.
You maintain the server
Using Puppeteer as an API means you run the server, patch Chromium, and handle concurrent request queues. FormaTeX handles all of that for you.
\end{vs-puppeteer}
Sign up free — no credit card required. One API call, any language, TeX-quality output.
One quick thing
We track anonymous usage — page views, feature usage, compilation events — to understand what works and what doesn't. No ads, no personal data, no third-party sharing.