On September 29, 2026 DeepL added ten file formats to document translation, all in beta: xlsm (macro-enabled Excel), zip (SCORM e-learning packages), vtt (WebVTT subtitles), yaml / yml, properties (Java), strings (iOS and macOS), md / markdown, resx (.NET), odt and rtf.
Prerequisites
A DeepL API key in DEEPL_AUTH_KEY
The right address for your plan: https://api.deepl.com for Pro, https://api-free.deepl.com for Free
Steps
Upload the file to the same document endpoint as before. Only the file changes, for example a subtitle file:
Keep the document_id and document_key from the response. You need both to check on the translation and to download the result.
Check what is and isn't translated for your format:
Subtitles (vtt): cue text is translated; timings, identifiers and the WEBVTT header are kept. Translated lines can be longer, so review how they fit.
Markdown: paragraphs, headings, lists, blockquotes, table cells and image alt text are translated. Known issue: the --- lines around YAML front matter are dropped, so add them back.
iOS .strings and Java .properties: values are translated, keys are kept. Placeholders are normally protected; check them afterwards.
YAML: string values are translated at every level; keys, numbers, comments and indentation are kept.
xlsm: cell text is translated; macros and VBA strings are left alone.
Test it
Upload a short .vtt file and download the result: the timings should be identical and only the spoken lines changed.
Not confirmed
The upload command is DeepL's own document example with the file swapped for a .vtt. DeepL's page does not show a sample for each new format.