Skip to content

Translate documents without losing the formatting

Translate a Word document, an Excel workbook or a PDF into another language and get the same file back — every table, chart, formula and picture where it was. Nothing is stored, ever.

3 tools, no signup, no watermark

Translate DOCX takes a Word document and returns it in another language with its headings, tables, headers, footnotes and pictures untouched; Translate Excel does the same for a workbook, and leaves alone any text a formula depends on so the numbers still add up; Translate PDF sets each translated paragraph back on the same page, over the same pictures. Both recognise the language a file is written in, work between more than 50 languages, and never send the document anywhere. The notes below explain what "keeping the formatting" actually takes, and where machine translation needs a person to check it.

Translate Documents

3 tools

Word documents and Excel workbooks in another language, with every font, table and formula where it was.

Why pasting a document into a translator breaks it

A Word paragraph is not a string of text. It is a row of runs — stretches that share one font, size and colour — with fields, bookmarks, comment anchors, footnote references and pictures sitting between them. Copy the text out, translate it and paste it back, and everything that was not a letter is gone: the bold, the links, the page-number field, the footnote marker.

The obvious fix, translating run by run, is worse. Languages order words differently, so "the red house" has to become "la casa roja" — the adjective moves, and the bold has to move with it. Translate the pieces separately and you get "la roja casa", which no Spanish speaker would write. Each paragraph has to be translated whole, with its formatting travelling alongside the words, and then put back run by run. That is what these tools do, and it is why a bold word, a hyperlink or a highlighted phrase lands on the right words in the translation.

Everything else in the file — styles, numbering, page setup, themes, images — is never rewritten at all. The file you download is your original with different words in it, not a new document built to look like it.

Spreadsheets are programs, not just text

A workbook has a problem a document does not: some of its words are data that formulas compare against. =COUNTIF(C:C, "Paid") counts cells containing the English word "Paid". Translate the cells into "Pagado" and the formula still runs, still shows a number, and the number is now zero. Drop-down lists, lookups keyed on a product name, and table columns referred to by name fail the same silent way.

So Translate Excel reads every formula, validation list, pivot table and table reference in the workbook first, and any text they depend on stays exactly as it was. The page tells you how many cells that was, so nothing is kept back without you knowing. Sheet names stay too, because formulas in other sheets and other workbooks find a sheet by its name.

What does get translated is everything a person reads: cell text, rich-text cells with mixed formatting, comments and notes, shapes and text boxes, and chart titles and labels. Numbers, dates, codes and addresses are left alone, and text repeated across thousands of cells is translated once, so it reads the same everywhere.

How good machine translation is, honestly

The translation here is the one Mozilla built for Firefox's page translation: fluent, fast, and at its best between English and the widely spoken European languages. It is very good for understanding a document, drafting a version to be reviewed, and translating the everyday material — letters, manuals, price lists, reports — that nobody would pay a translator for.

It is not a substitute for a professional where the wording carries weight. Machine translation can produce a sentence that reads perfectly and says something subtly different, and it has no way to know your company's terminology. Have a fluent speaker check anything legal, medical, financial or going to print. Short text out of context — a spreadsheet column called "Net" or "Draw" — is the hardest case for any translator, so give headings a quick look.

Languages without a direct model are translated through English. That is automatic and usually works well, but a nuance can be lost twice, so the direct pairs to and from English are the most accurate of all.

Language data, and why the first run takes longer

The first time you translate into a language, its language data downloads — between about 15 and 70 MB depending on the language, and the page tells you the exact size before you start. It is kept afterwards, so the next document in the same language starts in a second or two, and you can remove it from the tool page whenever you like.

That is also why your document never has to go anywhere. The translating happens here, on the file you dropped, and the only thing that travels is language data that is the same for everyone.

What these tools are built on

Open-source engines doing the actual work, and the specifications they implement.

  • Bergamot TranslatorMPL-2.0 — does the translating — Mozilla's engine, the one built into Firefox.
  • Firefox Translations modelsMPL-2.0 — are the language models, trained by Mozilla and served here unmodified.
  • fflateMIT — opens and rewrites the ZIP package every .docx and .xlsx is.
  • HarfBuzzMIT — shapes Bengali, Hindi, Arabic and other complex scripts in translated PDFs, and cuts the fonts down to the characters used.
  • Bijoy2UnicodeMIT — turns legacy Bijoy (SutonnyMJ) Bangla text in old PDFs into Unicode so it can be translated.
  • BharatType Hindi Text UtilitiesMIT — turns legacy Kruti Dev Hindi text in old PDFs into Unicode so it can be translated.
  • Noto Sans CJKOFL-1.1 — sets translated PDFs in Chinese, Japanese and Korean.
  • ECMA-376 (Office Open XML)Specification — is the standard behind Word and Excel files, and says which parts are text.

Frequently asked questions

Is it really free?

Yes — no sign-up, no page limit, no watermark. Nothing is charged per translation, because none is done on our server.

Is my document stored or uploaded?

No. The document is translated here and never sent anywhere, and nothing is stored. The only download is the language data, which is the same for everyone.

Which languages are supported?

More than 50, including Spanish, French, German, Portuguese, Italian, Dutch, Polish, Russian, Ukrainian, Turkish, Arabic, Persian, Hebrew, Hindi, Bengali, Urdu, Tamil, Chinese, Japanese, Korean, Indonesian, Thai and Vietnamese. Any of them can be translated into any other.

Should I translate a PDF directly or convert it to Word first?

To read or share it, use [Translate PDF](translate-pdf): the pages stay exactly as they were. To keep editing the translation, convert it with [PDF to Word](pdf-to-word) and use [Translate DOCX](translate-docx) — a Word document reflows around longer text, which a PDF page cannot.

What about old .doc and .xls files?

Open them in Word or Excel and save as .docx or .xlsx, or convert the spreadsheet with [XLS to XLSX](xls-to-xlsx), then translate the new file.