Tool · compare versions
Compare two XLIFF files
Drop the version you sent and the version that came back. You get every edit as tracked changes, the edit distance of each segment and of the whole file, the edits banded the way a post-editing job is priced, and a report to keep, as a single HTML file or an Excel workbook.
Comparing a whole job? Put every file of each version in its box, or choose a folder, and the files are paired by name: you get a row per file, one total for the job, and one report that covers them all.
Both files are read and compared in this browser tab. Nothing is uploaded: xliff.ai has no server that receives files, and the reports are built here and handed straight to you as downloads.
What it tells you
- What the reviewer changed
- Every edit as tracked changes, with the reviewer's new comments beside the segment they are about, in a report a translator can read without a CAT tool.
- How much was post-edited
- Compare the raw machine translation with the post-edited file. The edit bands, with the source words in each, are what a post-editing rate is quoted on.
- How much of a whole job was edited
- Put every file of each version in, or choose the two folders. The files are paired by name, and the job gets one edit rate, the source words per band over all its files, and one report with a section per file.
- What a new release changed
- Added, removed and source-changed strings. Segments are matched by ID, so a reworded source shows up as one changed string rather than a removed one and an added one.
- Whether a delivery is safe to send
- Numbers that changed, inline tags lost or added, edits to locked segments, targets that were emptied, and every status change.
- What a reviewer keeps changing
- The same edit counted across the file — “Passwort → Kennwort, 3 times” — which is usually a glossary entry nobody wrote down.
The two reports
The HTML report is one file with nothing to load: the styles and the filter are inside it, so it opens from an email attachment with the network off, prints cleanly, and follows the reader's light or dark setting. It has the summary, the edit bands, the kinds of change, the recurring edits, and every changed segment with filter, search and a most-edited-first order.
The Excel report has four sheets. Summary carries the numbers. Files has one row per pair of files — segments, edits, characters edited and measured, edit rate, source words, and the source words in each band — and a total row. Segments has one row per segment with its file, ID and key, source, target before and after, the tracked changes as real Excel formatting (deletions red and struck through, insertions green and underlined), similarity, characters edited, band, word counts, statuses, flags and new comments; the measures are numbers, so they sort and filter. Recurring changes lists each repeated edit and the rows it was made in.
For a batch, the HTML report opens with a file index — one row per file, with the total for the job — whose names link to each file's own section, and the workbook's total row is a formula over the file rows, so you can see how the job's edit rate is made.
Unchanged segments are left out of both unless you tick Include unchanged segments, so a 20,000-segment file with 300 edits makes a 300-row report.
Comparing a whole job
Put all the files of the earlier version on Before and all the files of the later one on After — drop them, select them, or, in Chrome and Edge on a computer, choose the folder. Each before file is paired with the after file of the same name. Suffixes that tools and reviewers add are ignored, so strings.xlf pairs with strings_final.xlf, strings.reviewed.xlf or strings (2).xlf; inside folders, the subfolder counts too, so de/ui.xlf pairs with de/ui_final.xlf, not with fr/ui_final.xlf.
A name that could pair two ways is left for you, and so is a file with no partner. The pair list shows every before file with its after file; change one there, or leave a file out. The files that are not compared are named on screen and in both reports.
The job's numbers are sums over its files. Its edit rate is all the characters edited in every file divided by all the characters measured — not an average of the files' rates, so a 40-string file rewritten at 30% does not count as much as a 4,000-string manual edited at 2%.
How the numbers are computed
- Edit distance
- The Levenshtein distance between the two targets, counted in characters: the fewest single-character insertions, deletions and substitutions that turn one into the other. An inline tag counts as one character, so moving or dropping a tag is an edit.
- Similarity
- 100 × (1 − distance ÷ the length of the longer target), rounded down to one decimal. Only an identical target is 100%.
- Edit rate
- All the characters edited divided by all the characters measured, over every segment that is in both files. It is one number for how much of the file was rewritten, and it is not an average of percentages, so a two-word button does not weigh as much as a paragraph. A batch's total edit rate is the same ratio over every file.
- Edit bands
- 100% (no change), 95–99%, 85–94%, 75–84%, 50–74% and under 50%, by similarity, plus a band of its own for targets written into a segment that was empty. Each band shows its segments and their source words.
- Kinds of change
- Each changed segment goes in the first class that explains it: inline tags only, spacing only, capitalization only, punctuation only, or wording. Numbers changed, tags added or removed, and edits to locked segments are flagged on top of that.
- The tracked changes
-
A diff on words, not characters, so
colourcolor reads as one replaced word. Chinese and Japanese characters count as one word each, as they do in the word count. - Matching
- Automatic pairs segments by their ID when both files have real IDs (XLIFF, SDLXLIFF, MQXLIFF, PO) and most IDs found in both carry the same source. Otherwise — and for whatever the IDs leave unpaired — it pairs a segment with the next unpaired one that has the same source text, in file order. CSV and XLSX rows are named by row number, so those always pair by source. You can force either way.
Steps
- Drop the earlier version on Before. The file you delivered, the raw machine translation, or last release's export — or every file of the job, or its folder. XLIFF 1.2 and 2.0, SDLXLIFF, MQXLIFF, PO, XLSX and CSV all open, and the two versions do not have to be the same format.
- Drop the later version on After. The reviewed, post-edited or re-exported file, or files. The comparison runs in this tab as soon as both sides are in. Several files are paired by name, and you can re-pair any of them. Dropping both versions of one file at once works too: the older one becomes Before.
- Read the summary. The edit rate, how many segments were edited, and the edit bands with the source words in each — for a batch, one row per file and a total for the job.
- Work through the segments. Every edit is shown as tracked changes. Filter to Changed, Worth a look or Comments, search for a word, or put the most edited segments first. In a batch, choose a file to see its segments.
- Download the report. HTML report for a single file anyone can open, or Excel report for a workbook to filter and sort; for a batch, either one covers every file. Tick Include unchanged segments for a complete record.
The gotchas
Short segments make big percentages. Passwort ändern → Kennwort ändern is one word, but four of fifteen characters, so it lands in 50–74%. That is why the bands count source words and the edit rate is taken over characters: a hundred edited buttons do not outweigh one rewritten paragraph.
An edit is not an error. The edit rate says how much changed, not whether the change was right, and a reviewer's preference counts the same as a fix. The kinds of change and the Worth a look filter are there to tell them apart.
If segments were split or merged, or the after file was re-exported with new IDs, the affected segments pair up as removed and added rather than as edits. Switch Match segments by to Source text when the IDs changed; a warning appears when fewer than half the segments could be paired.
In a batch, check the pair list before trusting the total. Files are paired by name only, never by what is in them, so a file renamed between versions needs pairing by hand, and a file with no partner is left out of every total.