Localizely logo
  • Home
  • Getting started
  • How it works
  • Pricing
  • FAQ
Sign up

TMX Viewer

Your file is read inside your browser and never uploaded. No file? .

If you find this tool helpful, please share it with others

What is TMX Viewer and how does it work?

TMX Viewer is a free online tool that opens a TMX file and shows what is actually inside it: every translation unit, with one column per language, so a six language memory reads as a six column table rather than something you page through one pair at a time. Paste a TMX document or drop a .tmx file, pick which language counts as the source, and search across the whole memory. There is nothing to install and no account to create.

It is built for the moment a translation memory lands in your inbox. An agency finishes a project and sends back a TMX, or you export one from a CAT tool before migrating, and you want to see what you are about to import before you import it.

What is a TMX file?

TMX, short for Translation Memory eXchange, is the XML based format that translation tools use to hand translation memories to each other. A TMX file holds translation units, and each unit holds one segment per language, so a single file can carry many languages at once. Version 1.4b dates from 2005 and is still what essentially every tool reads and writes.

Because it is the neutral exchange format, TMX is how a translation memory moves between systems without being locked to any one vendor.

Why do some segments show [ph] or [bpt] markers?

TMX segments can contain inline elements that stand in for formatting rather than for words. A <ph> element is a placeholder for a code such as a variable, and <bpt> and <ept> are the beginning and end of a paired tag such as bold. Their contents are the native markup, not something a translator wrote.

Printing that markup inside the sentence would be misleading, and hiding it completely would lose the information that formatting was there at all. So the viewer shows a short marker in its place. A segment that reads Review your [bpt]order[ept] before paying had bold tags around the word order.

Which problems does TMX Viewer point out?

Memories that have been around for a few years collect junk, and most of it is invisible until you look for it. Above the table the viewer counts the units worth a second look, measured against whichever language you picked as the source, and each count is a filter you can click:

  • Missing a translation — the unit has no text in at least one of the languages the file uses, usually left behind by an interrupted import. The empty cells themselves are tinted, so you can see which language is short rather than only that something is.
  • Empty source — the unit has nothing to translate from in the first place.
  • Same as source — a translation is character for character identical to the source. Fine for a brand name, suspicious for a sentence.
  • Duplicate source — the same source text appears in more than one unit, often with different translations, which is what makes a memory give inconsistent suggestions.
  • Inline codes — the unit carries formatting or placeholder codes, which is where most import and quality check surprises come from.

The summary line above the table also reports empty segments across the whole grid, counting every language a unit leaves blank or omits entirely, which is the quickest way to see how complete a multilingual memory really is.

Can I convert a TMX file to CSV, Excel or JSON?

Yes. Optionally narrow the table with the search box or one of the filters, then use Export CSV or Export JSON. Both carry the unit id, every language as its own field, the creation and change dates and the flagged issues, and both follow whatever filter is active. The CSV opens straight into Excel, Numbers or Google Sheets, which is the quickest way to put a memory in front of a reviewer who does not use a CAT tool; the JSON is the easier one to script against.

For app localization files rather than translation memories, the localization file converter handles conversions between all supported formats.

How large a TMX file can I open?

Up to 16 MB, which is around 55,000 translation units in a bilingual memory. Everything is read inside your browser, so the real limit is your own machine: a few thousand units open in about a second, and a file at the very top of that range takes roughly ten seconds to check and read. The page stays usable while it works. For memories in the hundreds of megabytes, a desktop TMX editor is the better tool.

Is my translation memory uploaded anywhere?

No. The file is read and parsed entirely in your browser, and it never leaves your machine. Nothing is sent to Localizely and nothing is stored. You can confirm it yourself: open the network tab of your browser developer tools, load a memory, and watch that no request carries it. This matters more here than for most tools, because a translation memory is usually a client deliverable under an agreement that does not allow uploading it to a random website.

My .tmx file will not open. What is wrong?

The most common cause is that the file is not a translation memory at all. The .tmx extension is also used by the Tiled map editor for game tile maps, and those files have nothing to do with translation. The viewer recognises them and will tell you. Other possibilities are a file that was truncated during download, or XML that is not well formed, in which case the XML validator will point at the line that broke it.

Encoding is not something you need to worry about. TMX files exported from older tools are often UTF-16 rather than UTF-8, and the viewer detects that from the file itself.

Can I edit a TMX file here?

Not in this tool, which reads and reports only. If what you actually need is to keep a memory in good shape over time, reuse it across projects and share it with translators, that is the job of a localization platform rather than a file viewer.

Related resources

Localizely logo
About
Free tools
Boring stuff
  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • Compare
Newsletter
Copyrights 2026 © Localizely