What is the XLF file format?
An .xlf file is an XLIFF (XML Localization Interchange File Format) document, the industry-standard format for exchanging software and content localization data between translation tools, teams, and management systems. XLIFF is an open standard published by OASIS; version 1.0 was ratified in 2002, version 1.2 in 2008, and version 2.2 - the current release - in March 2025.
The format is built on XML. In the widely deployed XLIFF 1.2, the document contains <file> elements, each holding <trans-unit> pairs with a <source> (original text segment) and a <target> (translated text), plus metadata such as source/target language codes, translation state, and originating filename. XLIFF 2.x restructures these into <unit> and <segment> elements; the two major version families use different XML schemas and element names and are not backward-compatible. Inline formatting - HTML tags or application placeholders - is preserved using <g>, <x/>, and <ph/> elements.
.xlf and .xliff are the same format; the shorter three-character extension is common on Windows. SDL Trados uses .sdlxliff, a proprietary XLIFF 1.2 extension with Trados-specific metadata.
The typical workflow extracts source text from an application or document into an .xlf file, sends it to translators via a CAT (Computer-Assisted Translation) tool such as OmegaT, memoQ, or Phrase TMS, then reimports the completed file. XLIFF 1.2 is supported by virtually every major CAT tool and translation management system. Related localization interchange formats include TMX (translation memory) and PO (GNU gettext).
Security & safety
RISK: LOWXLIFF is plain XML - no executable code, macros, or scripts. It is a data-only text format. No security risks associated with opening XLIFF files; they can be safely inspected in any text editor.
Format details
in a nutshellPrograms that open XLF files
Technical details
deep spec| XML root element | `<xliff>` with mandatory `version` attribute - `1.2`, `2.0`, `2.1`, or `2.2` |
| XLIFF 1.2 translation unit | `<trans-unit>` containing `<source>` and `<target>` within `<body>` inside a `<file>` element |
| XLIFF 2.x translation unit | `<unit>` containing `<segment>` with `<source>` and `<target>` - different schema, incompatible with v1.2 |
| Language code attributes | BCP 47 tags (e.g., `en-US`, `de-DE`) in `source-language` and `target-language` on `<file>` |
| Inline markup elements | `<g>` (generic group), `<x/>` (standalone placeholder), `<ph/>` (phase placeholder) for preserving formatting |
| Translation state | `state` attribute on `<target>` element (e.g., `needs-translation`, `translated`, `final`) |
| MIME type | `application/xliff+xml` |
| Encoding | UTF-8 (required by spec); UTF-16 also valid XML |
| Current version | XLIFF 2.2 - OASIS standard, ratified March 13, 2025 |
| Proprietary variant | `.sdlxliff` (SDL/Trados) - XLIFF 1.2 superset with Trados-specific metadata |
| Version compatibility | XLIFF 1.2 and 2.x are not backward-compatible; tools must handle each version separately |
| Typical content size | 50-500 KB for software UI strings; up to 50 MB for large document localization projects |
| Related standards | TMX (Translation Memory eXchange), TBX (TermBase eXchange), PO (GNU gettext) |
| Released | 2002 (XLIFF 1.0 OASIS standard); 1.2 ratified February 2008; 2.0 August 2014 |
| Latest version | XLIFF 2.2 (March 13, 2025) |
| Open standard | Yes · royalty-free |
| Specification | docs.oasis-open.org |
XLF conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about XLF files.