BookTranslator
BookTranslator

DeepL vs ChatGPT for Translating Documents: File Output, Glossaries, and Review

DeepL returns a translated file; ChatGPT returns text in a chat. Compare file formats, size limits, glossaries, privacy settings, and review use, plus a DOCX round-trip test.

BookTranslator

BookTranslator Team

11 min read

Most DeepL vs ChatGPT comparisons paste the same sentences into both tools and score the results. That answers a sentence-level question. If you have a whole document, the first difference is what you get back. DeepL's file translation returns a translated copy of your file in the same format. ChatGPT reads your file and, by default, answers with text in the conversation. It may offer to generate a file, but OpenAI's uploads help does not describe returning a translated copy of your original file. That one difference decides most of what follows: whether headings, tables, footnotes and comments survive, how you enforce terminology, and where your review time goes.

Short answer, as checked on October 21, 2026:

  • Use DeepL when the deliverable is the document itself (a DOCX, PPTX or PDF that someone will open and use), it fits the per-file limits of your plan, and you can enforce terms with a glossary.
  • Use ChatGPT when the deliverable is understanding or a decision: a summary of a foreign-language document, alternative renderings of a difficult paragraph, a terminology discussion, or a second opinion on a translation you already have.
  • Use both for the documents that matter most: translate the file with a file tool, then take only the hard passages to ChatGPT for review.

We did not run a quality contest for this article, and we don't name a winner on translation quality. The comparison below covers the mechanics. These are documented on each vendor's own help pages, and they change less often than model quality does. At the end there is a small DOCX test you can run on both tools with your own accounts.

What each tool does with an uploaded document

QuestionDeepL file translationChatGPT with an uploaded file
What comes backA translated file in the same formatA text reply in the chat by default; the uploads help does not describe a translated copy of the original file
Office formatsDOCX/DOC, PPTX and PDF on every plan; XLSX on Pro Team, Business and the API (file formats)DOCX, PDF, TXT, XLSX/XLS/CSV/TSV and PPTX can be uploaded (uploads help)
Size limit per filePlan-based: 5 MB and 100,000 characters for a free DeepL account, up to 100 MB and 1 million characters on Pro Business512 MB, and 2 million tokens for text and document files
How much you can sendA monthly number of file translations per plan80 uploads every 3 hours; Free users get 3 uploads per day
Images inside documentsThe file formats page does not say how images inside a document are handled; PNG/JPG files on their own are a beta formatOutside ChatGPT Enterprise, retrieval "extracts digital text from the file rather than its embedded images"
Terminology controlGlossaries can be applied to a file translation, up to five at once (glossary in files)The uploads page describes no glossary feature; terms go in your instructions
Training on your contentDeepL's Pro plan table lists "No data training" for Individual, Team, Business and Enterprise, not for the free versionDepends on your data settings for consumer plans; OpenAI says it does not use business offerings such as ChatGPT Enterprise and the API to improve models

Two rows matter most when you choose.

The output row. A DeepL file translation keeps the original file around your text. Styles, tables and the document's structure are in the returned copy, so your review is mostly about language. A ChatGPT reply is text. To end up with a document, someone has to put that text back into the original layout. That rebuild is where structure gets lost, as the test below shows. ChatGPT's uploads page describes working with a file's contents (summarizing, comparing, extracting, rewriting a short document). It does not describe returning a translated copy of the original file.

The images row. If your PDF is a scan, or key content sits in images, ChatGPT on most plans reads the digital text layer and skips the embedded images. A scanned PDF with no text layer gives it almost nothing to work with. For that case, read PDF text extraction vs OCR first and choose a tool that runs OCR.

Limits: which ones you actually hit

For DeepL, the per-file character cap usually decides things before file size does. A free DeepL account accepts 100,000 characters per Word or PDF file. Pro Individual and Team accept 1 million, and the API Developer plan accepts 500,000. A full-length book goes past the free cap, so it has to be split, and each part uses up one of your monthly file translations. Our DeepL document translation limits guide works through a 400-page book on each plan, including the API's 50,000-character minimum charge per PDF or DOCX.

Also note: on DeepL, a file translated with a free account (no subscription) comes back not editable. The file formats article says you need a Pro plan to edit the translated file. If you plan to correct the output in Word, test with the plan you will actually use.

For ChatGPT, the upload limits are generous: 512 MB per file and 2 million tokens per text document. The upload limit isn't the constraint. The constraint is that the translation comes back as chat replies, and a long document means many turns, which you then have to assemble and check for gaps. That is a workflow cost you won't see on any limits page, and it grows with document length. The ChatGPT for translation guide covers where this breaks for whole books.

Glossaries: enforced on a file vs requested in a prompt

Terminology is where the two tools differ most, and sentence-level tests miss it completely.

On DeepL, a glossary is a term list attached to the translation. You can apply up to five glossaries to a file translation. Uploading an existing glossary as CSV works on the Team, Business and Enterprise plans (and the legacy Advanced and Ultimate plans), according to DeepL's glossary upload page. The format is two columns per line, for example seat,Lizenz. The glossary's language pair has to match the translation you are running.

On ChatGPT, you get the same effect by writing the term list into your instructions ("translate seat as Lizenz, never Sitz"). This is flexible: you can explain why a term is fixed, give context, and ask the model to flag any sentence where the term doesn't fit. But the instruction is a request, not a binding rule, and over a long conversation you have to check that it held. Whichever tool you use, check terms after translation. The test kit below counts them for you.

If you don't have a term list yet, start with building a translation glossary. It helps both tools.

A DOCX round-trip test you can run on both tools

Instead of a quality score, we built a small file that shows where a document translation can go wrong, and a script that checks what came back. Everything runs with the Python standard library.

  • make_docx_fixture.py builds docx-roundtrip-source.docx: a one-page English admin guide with two heading levels, a 3×3 table, a bold term, a hyperlink, a footnote, a reviewer comment, a header and a footer.
  • glossary-en-de.csv holds three English→German terms with a known trap: seat means a paid user license here, so it should be Lizenz, not Sitz. The file uses DeepL's two-column upload layout.
  • check_docx_roundtrip.py compares the source file and a translated file. It counts 12 structural features and compares glossary term counts.

To check that the checker itself works, we made a constructed example, docx-roundtrip-pasted-example.docx (built by make_pasted_example.py). It holds our own German translation of the page, pasted as plain paragraphs into a new document. That is how text copied out of a chat window usually lands in Word. It is not output from DeepL or ChatGPT. In one sentence we wrote Sitz on purpose. The recorded check output:

structure                   source  output  result
paragraphs                      15       9  CHANGED
heading paragraphs               3       0  CHANGED
tables                           1       0  CHANGED
table cells                      9       0  CHANGED
bold runs                        1       0  CHANGED
hyperlinks                       1       0  CHANGED
external link targets            1       0  CHANGED
footnote references              1       0  CHANGED
footnote texts                   1       0  CHANGED
comments                         1       0  CHANGED
header text present              1       0  CHANGED
footer text present              1       0  CHANGED

glossary terms: source count -> target count in output
  workspace -> Arbeitsbereich: 6 -> 5, untranslated 0  check
  seat -> Lizenz: 8 -> 6, untranslated 0  check
  admin -> Administrator: 7 -> 6, untranslated 0  check

12 structure row(s) changed

All of the body text is there, but all 12 structural features are gone. The glossary rows are flagged too, and for different reasons. Lizenz is short by two: one seat became Sitz, and the footnote that held another seat is gone. Arbeitsbereich is short by one because the header was lost, and Administrator is short by one because the footer was lost. That is the point of the test: a document can read perfectly well and still be the wrong deliverable.

To run it on the real tools:

  1. Run python3 make_docx_fixture.py (or download the source file).
  2. DeepL: upload the DOCX at the file translator, choose English→German, apply the glossary if your plan allows it, and download the result.
  3. ChatGPT: upload the same DOCX and ask for a German translation that uses the three glossary terms. Save the result the way you would actually deliver it, whether that is a file ChatGPT offers or text pasted into Word.
  4. Run python3 check_docx_roundtrip.py docx-roundtrip-source.docx <translated>.docx glossary-en-de.csv on each result.

The script counts structure, not quality. Read both outputs too. A file that passes every row can still contain a wrong translation, and the glossary check matches substrings, so a German compound such as Administratorlizenz counts toward Lizenz and can hide a missing term. Treat a glossary flag, or the lack of one, as a place to look, not a verdict.

Which tool for which document

Your document and goalBetter fitWhy
A Word report or contract that someone will edit, within your plan's limitsDeepLYou need the returned file. Use a paid plan if you need to edit it
A slide deck to present in another languageDeepLPPTX comes back as PPTX; ChatGPT would hand you text to rebuild into slides
A foreign-language paper you only need to understandChatGPTYou need explanations and summaries, not a formatted copy
A paragraph with idioms, wordplay or a legal nuanceChatGPTYou can ask for alternatives and reasoning; see translating idioms
Checking a translation you already haveChatGPTPaste source and target side by side and ask for meaning errors and terminology drift
A scanned PDFNeither, at firstChatGPT skips embedded images outside Enterprise. OCR and layout choices come first; see translating a scanned PDF
A whole book over the free DeepL capDepends on plan and formatDeepL means splitting into parts. ChatGPT means many turns to assemble and check

The combined workflow for important documents: translate the file with a tool that returns the file. Then look for the passages where meaning is in doubt: definitions, warnings, wordplay, anything a reader will act on. Take only those to ChatGPT with both the source and the translated text. Ask for a list of problems before you ask for a rewrite, so you can see what changed and why. The post-editing guide shows how to plan this review.

When the document is a whole book

Both tools are general-purpose. For a full book, the practical problems are the ones above at a larger scale: per-file caps and monthly file counts on DeepL, and many conversation turns to assemble on ChatGPT. Keeping names and terms consistent across chapters is also hard in both.

BookTranslator is built for that case. You upload the whole EPUB, DOCX or PDF and get a translated file back. For EPUB and DOCX tasks you can turn on an auto glossary that tracks names and key terms across the book (it is not available for PDF tasks). Pricing is based on word count, and you see the final price before you pay. It is not a substitute for review on high-stakes text, and you still check the result: the round-trip script above works on other DOCX files too, including a BookTranslator output. If your file is a Word document, start at the DOCX translator. For a PDF, use the PDF translator. For keeping Word layout intact in general, see translating a Word document without losing formatting.

Related Posts

DeepL vs ChatGPT for Translating Documents: File Output, Glossaries, and Review