Upload a CSV file and download it as PHP array. Translation keys, plurals and placeholders are preserved. Free, no account needed.
Pick the source format or let the converter detect it from the file.
Choose the format you want to download.
A PHP file that returns an associative array of translations. Laravel, CakePHP and many custom PHP apps load language files in this form.
Need it the other way round? Convert PHP to CSV.
A comma-separated spreadsheet with one row per translation key and one column per language. CSV is the easiest way to hand translations to people who work in Excel or Google Sheets.
Used by: Excel, Google Sheets, translation agencies. All languages in one file. Read the CSV format guide.
"key","english","polish"
"welcome","Welcome!","Witajcie"
"about-us","About Us","O nas"
"register","Register","Rejestracja"A PHP file that returns an associative array of translations. Laravel, CakePHP and many custom PHP apps load language files in this form.
Used by: Laravel, CakePHP, PHP. One language per file. Read the PHP format guide.
<?php
return [
"HELLO_WORLD" => "Hello world!",
"MY_TRANSLATION_KEY" => "This is my translation message!"
];
?>If you need the PHP file in more languages, the fastest route is a free SimpleLocalize project: import the CSV file, add languages, run auto-translation with DeepL, Google Translate, OpenAI, Claude or Gemini, and download the result as PHP. The CLI does the same from CI with upload and download commands, so the conversion becomes part of your build. See also translating CSV files.
Yes. There is no signup and no limit on the number of conversions beyond a few requests per second.
No. The file is parsed in memory, converted and returned in the same request. Nothing is written to disk or a database.
Plural forms are normalized to ICU message syntax and written back in the native form of PHP. Placeholders are kept, and Apple and Android specific syntax is translated between platforms. Read more in the pluralization guide.