CSV Translation Files
Format, editor, and workflow for the simple tabular translation format used in spreadsheet handoff.
CSV (Comma-Separated Values) translation files are the simplest format for moving translations through spreadsheet-friendly tools. One column holds the translation key, one or more columns hold the translated text per language, and the result opens cleanly in Excel, Google Sheets, Numbers, and LibreOffice Calc. CSV is the most common format for handing off content to freelance translators or non-technical reviewers — and the most common format for moving translations between TMS platforms during a migration. It is not ideal as a source format for software localization because it lacks structure for plurals, context, and metadata, but as an intermediate handoff format it is unbeatable.
- What it is: plain-text tabular translation file
- File extension:
.csv - Encoding: UTF-8 (use BOM for Excel compatibility)
- Delimiter: comma (some locales use semicolon)
- Plurals: not native — use multiple rows or convert to a richer format
- Used for: translator handoff, TMS migration, bulk translation, spreadsheet workflows
What a CSV translation file looks like
A typical multilingual CSV has a header row with the key column followed by one column per language code. Values containing commas, newlines, or quotes are wrapped in double quotes and inner quotes are escaped by doubling them:
key,en,de,fr
app.name,My App,Mein App,Mon Application
welcome.title,"Welcome, {name}!","Willkommen, {name}!","Bienvenue, {name} !"
login.submit,Sign in,Anmelden,Se connecter
error.notFound,Page not found,Seite nicht gefunden,Page introuvable
error.forbidden,"Access denied","Zugriff verweigert","Accès refusé"Editing CSV translation files
- Spreadsheets (Excel, Google Sheets, Numbers, LibreOffice Calc): open .csv directly. Best for translator handoff. Watch the encoding when saving — use UTF-8 with BOM to keep non-Latin characters intact.
- Code editors (VS Code, Sublime Text): with a CSV plugin, columns align and quoted strings are highlighted. Best for spot fixes by developers.
- Cloud TMS platforms (Locize, Phrase, Crowdin, Lokalise): import CSV, edit translations in a CAT-style UI with translation memory and glossary, export back to CSV for round-trip.
Common CSV translation workflows
- Translator handoff. Export current translations from your TMS to CSV, send to a freelance translator who works in Excel, import the result back into the TMS.
- TMS migration. Export from your old platform as CSV, import into the new platform. CSV preserves keys and translations through the move.
- Bulk translation. Send 1,000 keys to a translator with Excel, get them all back in one file.
- Source-of-truth conversion. Use CSV as the format your team edits in (in Sheets), then export to JSON / XLIFF / .xcstrings for the build.
How to use CSV translation files in Locize
Locize imports and exports CSV directly:
- Get started
- Import your
.csvfile (key + per-language columns) - Edit translations in the CAT view with translation memory, glossary, and style guide applied automatically
- Use bulk actions for AI / machine translation, then route results through a review workflow
- Export back to CSV — or convert to JSON, XLIFF, gettext, or any other supported format
Frequently asked questions
A CSV (Comma-Separated Values) translation file is a plain-text table where one column holds the translation key and one or more columns hold the translated text per language. CSV is the simplest format for handing off content to translators who prefer spreadsheets, and is supported by every major translation tool.
CSV is great for translator handoff when your translators prefer Excel / Google Sheets, for one-off bulk translations, and for migrating content between TMS platforms. It is not ideal as a source format for software localization — it lacks structure for plurals, context, and metadata. Most teams use CSV as an intermediate format, not the canonical store.
Any spreadsheet (Excel, Google Sheets, Numbers, LibreOffice Calc) opens CSV directly. Code editors with CSV plugins (VS Code, Sublime) align columns nicely. For team workflows, import the CSV into a translation management system — Locize imports and exports CSV — so translators work in a CAT-style UI with translation memory and glossary instead of raw spreadsheets.
Use UTF-8 with a BOM if you need Excel to detect the encoding correctly (without BOM, Excel may default to Windows-1252 and corrupt non-Latin characters). Comma is the standard delimiter; some locales use semicolons. Quote any value that contains commas, newlines, or quotes (escape inner quotes by doubling them: `""`).
Not natively. For pluralized translations you typically use multiple keys (one per plural form) or convert to a richer format like XLIFF, gettext, or i18next JSON v4. Locize can import CSV with one row per plural form and re-export to a plural-aware format.
Through a translation management system. Import the CSV into Locize, then export to JSON, YAML, gettext, XLIFF, .xcstrings, .resx, or any other supported format. The TMS preserves keys and translations through the round-trip.