PDFMathTranslate
PDF translator that keeps the original layout, formulas, charts and tables.
Quick answer
PDFMathTranslate is a PDF translator that keeps the original layout, formulas, charts and tables, listed under Speech & translation. A typical small-business use: translate supplier datasheets, manuals or contracts into your team's language without retyping the layout. The project publishes no official RAM figure, so we do not estimate a monthly server cost. License: AGPL-3.0, which allows internal business use.
Last updated · facts verified against official docs on · sources
Activity data comes from GitHub and was last refreshed Oct 22, 2026.
What is PDFMathTranslate?
PDFMathTranslate (pdf2zh) translates PDFs page by page and writes both a translated and a side-by-side bilingual PDF, preserving formulas, charts, the table of contents and annotations. It uses a layout-detection model and can call Google, Bing, DeepL, OpenAI, Azure OpenAI, Gemini, Ollama or any OpenAI-compatible model as the translator. It runs as a web UI in Docker, a command-line tool or a Python API.
Where it fits in a 10–200 person business
- Translate supplier datasheets, manuals or contracts into your team's language without retyping the layout
- Produce bilingual PDFs of technical papers or tenders for review
- Keep translation fully in-house by pointing it at a local Ollama model
These use cases are our editorial suggestions, not claims made by the project.
Can a business use PDFMathTranslate? (license)
| License | AGPL-3.0 |
|---|---|
| Type | Network copyleft (AGPL): Like GPL, and also applies when users access a modified version over a network. |
| Internal business use | Allowed under the license text |
| What to watch | Free for internal and commercial use. If you modify it and let users interact with it over a network, you must offer them the modified source under AGPL-3.0. |
This is a plain-English summary of the license text, not legal advice. Third-party models you run with it have their own licenses.
Data & compliance: does PDFMathTranslate phone home?
| Telemetry (usage data sent to the vendor) | Not documented |
|---|---|
| Other calls home by default (updates, marketplaces, default cloud services) | Yes, by default The default translation service is Google, so document text is sent to Google unless you choose another service (for example a local Ollama model). How to turn it off: Pick a different service with -s (e.g. -s ollama). Source: github.com/PDFMathTranslate/PDFMathTranslate/blob/main/docs/ADVANCED.md#services |
| Single sign-on (OIDC / SAML / LDAP) | Not documented |
| Audit log | Not documented |
| Role-based access control (RBAC) | Not documented |
| Data residency / GDPR notes from the project | Not documented |
Checked against the project's own docs and repository on . "Not documented" means we could not find the answer in official sources; it does not mean the feature is missing or that no data is sent. Third-party services you connect (model APIs, vector databases, search engines) have their own data policies. Compare all apps.
What hardware does PDFMathTranslate need?
The project does not publish a minimum CPU/RAM figure, so we leave the official value blank rather than guess.
No official RAM or CPU figures. Python installs need Python 3.11 or 3.12.
Source: github.com/PDFMathTranslate/PDFMathTranslate#install
How much does it cost to host PDFMathTranslate per month?
The project publishes no RAM figure we could verify, so we do not estimate a cost.
How to deploy PDFMathTranslate
Method: Docker
docker pull byaidu/pdf2zh
docker run -d -p 7860:7860 byaidu/pdf2zh
# open http://localhost:7860/ (mirror: ghcr.io/byaidu/pdfmathtranslate) From the official instructions: github.com/PDFMathTranslate/PDFMathTranslate#install. Always check the source for the current version before you run it.
Known gotchas when self-hosting PDFMathTranslate
- The default translation service is Google, so document text is sent to Google unless you choose another service. For in-house translation select Ollama or an OpenAI-compatible endpoint you host. source
- The app downloads its layout model (DocLayout-YOLO ONNX) from Hugging Face on first use; where Hugging Face is blocked, set HF_ENDPOINT to a mirror. source
- The --ultrafast mode skips layout detection and OCR, so pages without a native text layer (scans) are left untranslated. source
Alternatives in Speech & translation
- whisper.cpp Fast C/C++ port of OpenAI Whisper speech recognition with a small HTTP transcription server.
- LibreTranslate Self-hosted machine translation API with no dependency on Google or DeepL.
- Speaches OpenAI-compatible speech-to-text and text-to-speech server (faster-whisper, Kokoro, Piper).
PDFMathTranslate FAQ
How much RAM does PDFMathTranslate need?
PDFMathTranslate does not publish an official RAM figure, so we do not state one. Python installs need Python 3.11 or 3.12.
How much does it cost to self-host PDFMathTranslate?
The software is free to download. The project publishes no official RAM figure, so we do not estimate a monthly server cost.
Is PDFMathTranslate free for commercial use?
PDFMathTranslate is licensed under AGPL-3.0 (Network copyleft (AGPL)). Internal business use is allowed under the license text. Free for internal and commercial use. If you modify it and let users interact with it over a network, you must offer them the modified source under AGPL-3.0. This is a summary, not legal advice.
What are common problems when self-hosting PDFMathTranslate?
The default translation service is Google, so document text is sent to Google unless you choose another service. For in-house translation select Ollama or an OpenAI-compatible endpoint you host. The app downloads its layout model (DocLayout-YOLO ONNX) from Hugging Face on first use; where Hugging Face is blocked, set HF_ENDPOINT to a mirror. The --ultrafast mode skips layout detection and OCR, so pages without a native text layer (scans) are left untranslated.
Is PDFMathTranslate still maintained?
Yes, it is actively developed. Last commit: Oct 22, 2026. Latest release: v1.9.11 (Jul 11, 2025). Checked Oct 22, 2026.
How do I install PDFMathTranslate?
The official method is Docker. The exact commands are in the "How to deploy" section above and in the official instructions: https://github.com/PDFMathTranslate/PDFMathTranslate#install
What are self-hosted alternatives to PDFMathTranslate?
Other apps in Speech & translation: whisper.cpp, LibreTranslate, Speaches.
Sources
- GitHub repository: github.com/PDFMathTranslate/PDFMathTranslate
- Official documentation, Hardware requirements, Deploy instructions, Gotcha 2: github.com/PDFMathTranslate/PDFMathTranslate#install
- License text: github.com/PDFMathTranslate/PDFMathTranslate/blob/main/LICENSE
- Gotcha 1: github.com/PDFMathTranslate/PDFMathTranslate/blob/main/docs/ADVANCED.md#services
- Gotcha 3: github.com/PDFMathTranslate/PDFMathTranslate#readme
- Hetzner Cloud pricing (cost estimate): www.hetzner.com/cloud/regular-performance
- GitHub stars, commits and releases: GitHub REST API, fetched
Facts on this page were checked against the project's own repository and docs on 2026-10-22. Spotted something out of date? Tell us.