Convert PO to Excel and back
Turn a gettext .po file into a spreadsheet, translate the target column, and rebuild the .po with every msgid, context, and comment where it was. Free, no sign-up, and processed entirely in your browser.
Everything runs in your browser. Your files never leave your device.
How to translate a PO file in Excel
Four steps and a couple of minutes for a typical catalog.
Upload your .po file
Drop a .po or .pot file onto the converter. It opens in your browser; nothing is sent to a server.
Export to a spreadsheet
Download one row per entry as Excel or CSV. Each row carries the context, the source string, an empty target column, and the developer comments.
Translate the target column
Open the sheet in Excel, Google Sheets, or any editor and fill in the target column. Leave the context and source columns untouched.
Rebuild the .po file
Switch to Spreadsheet to PO, add your original file and the finished sheet, and download a .po with your translations written into every msgstr.
What is a PO file?
A PO file is the translation catalog used by gettext, the localization system behind most open-source software, WordPress, Django, and many desktop apps. Each entry pairs a msgid (the source string) with a msgstr (its translation), and can carry a msgctxt to tell two identical strings apart, developer comments, and source references. Plural strings add a msgid_plural and one msgstr per plural form.
Translating a large catalog by hand in a text editor is slow and easy to get wrong. This converter flattens every entry into a spreadsheet row so you can translate in Excel or hand the file to someone who does not know gettext, then writes the translations back into the original file. The .po stays the master copy: only the msgstr lines change, so comments, flags, references, and formatting stay exactly as they were.
FAQ
- PO files hold the translations for software built on gettext, including WordPress themes and plugins, Django and Flask apps, GNOME programs, and many others. A .pot file is the untranslated template; a .po file is one language’s translations of it.
- No. The whole tool runs in your browser. Your files never leave your device, and nothing is stored or sent to a server.
- Yes. The context column carries the msgctxt, the note column carries the extracted comments and source references, and each plural form gets its own row. When you rebuild, the original file is the skeleton, so everything you did not translate is preserved.
- Export the .po to Excel or CSV, fill in the target column for each row, then use Spreadsheet to PO to write the finished translations back into a new .po file. You never touch the gettext syntax.
- The converter only rewrites the msgstr text, so structure and comments survive. If a translation drops a placeholder such as %s or %d that its source had, the tool flags that entry so you can fix it before shipping.
- Yes. Keep the original .po, translate the target column in the sheet, and the Spreadsheet to PO mode merges your column back into the file, matching each row to its entry by msgid and context.
Translating more than a file or two?
Transept keeps your glossary and past translations in sync across every PO file and language, with review, comments, and AI drafts your team can accept or reject. The converter is the free, no-account way in.