PDFMathTranslate

PDF translator that keeps the original layout, formulas, charts and tables.

Active Speech & translation AGPL-3.0

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

GitHub stars37.8k
Forks3.4k
Latest releasev1.9.11Jul 11, 2025
Last commitOct 22, 2026
Est. server cost—

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)

LicenseAGPL-3.0
TypeNetwork copyleft (AGPL): Like GPL, and also applies when users access a modified version over a network.
Internal business useAllowed under the license text
What to watchFree 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

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.