twineconvert

free · in-browser · no upload

PO to CSV
Converter

Drop your .po file. We'll convert it to CSV right here in your browser, your file never leaves your device.

or drop your file

Select your file here to get started

or drop your file here.

Accepts .po, .pot

nothing uploaded no file size cap no signup

How it works

Three steps. No upload, no signup.

  1. 1

    Drop your file

    Click the dropzone above or drag a .po from your desktop. Files of any size, there's no upload, so there's no upload limit.

  2. 2

    Convert in your browser

    The conversion runs entirely in this tab using JavaScript and WebAssembly. Your file never touches our servers, we don't have any.

  3. 3

    Download

    Get your CSV the moment the conversion finishes. Convert another, or close the tab.

Files stay on your device

Your file is never uploaded. The entire conversion runs in your browser using WebAssembly. We can't see what you convert because we have no server to see it.

No file size limit

Server converters cap free users at 1-2 GB and gate larger files behind a paid plan. Since nothing uploads, our limit is whatever your browser can handle.

Free, no signup, no ads on conversions

No account required. No watermark on the output. No queue. Drop a file, get a converted file.

Why convert PO → CSV

What this conversion is actually for

PO is the universal localization format but every tool reads it in a slightly different dialect — and getting translations into and out of Google Sheets, Excel, or a Notion database means flattening PO entries into rows. CSV is the lingua franca translators send to PMs, freelancers, and reviewers when Poedit isn't an option. Round-tripping back through csv-to-po preserves every field (msgctxt, plurals, comments, references, flags) so handoffs don't drop data.

A real example

Your French translator wants to review 800 strings in a Google Sheet instead of installing Poedit. You drop `messages.po` here, get a CSV with the canonical columns (msgctxt, msgid, msgid_plural, msgstr, msgstr_plurals, comments, references, flags), share the sheet, and convert back to PO via csv-to-po when they're done. No data lost.

Troubleshooting

Plural forms aren't showing up properly in the spreadsheet.

Plurals ride in the `msgstr_plurals` column as a JSON-encoded array, e.g. `["%d apple","%d apples"]`. Spreadsheets show this as text — that's intentional, because the number of plural forms varies per language (English/Spanish: 2, Russian: 3, Arabic: 6). When you convert back via csv-to-po, the JSON gets parsed and emitted as proper `msgstr[0]`, `msgstr[1]`, etc.

The disambiguation `msgctxt` got merged into one row.

Don't sort the CSV in a way that hides the `msgctxt` column. Two entries with the same msgid but different msgctxt (e.g., noun vs verb "Order") MUST stay on separate rows for csv-to-po to reconstruct them correctly. If a colleague flattened them in Excel, you'll have to re-create the rows by hand.

Formats involved

About .po and CSV

.po, Gettext Portable Object

A PO file is the interchange format used by every gettext-based software localization toolchain: GNU gettext, Babel (Python), Poedit, Lokalise, Crowdin, Weblate, Transifex, polib, react-i18next, Django, Symfony, WordPress translations, and many more. Each entry pairs a source string (`msgid`) with its translation (`msgstr`), plus optional disambiguation context (`msgctxt`), plural forms (`msgid_plural` / `msgstr[N]`), translator/developer comments, source-file references, and gettext flags. Spec dates to 1995 with the original GNU gettext release; still the de-facto standard 30 years later.

How to open

Poedit (free, all platforms) is the most common editor. Lokalise/Crowdin/Weblate/Transifex import PO directly via web upload. Any text editor opens them as plain text. Linguists prefer Poedit for translation memory and validation; developers usually edit them in their IDE.

CSV, Comma-Separated Values

CSV is plain text, one row per line, fields separated by commas. The simplest possible tabular data format, which is exactly why it remains the most portable: every spreadsheet, database, programming language, and analytics tool reads CSV. Tradeoffs: no formulas, no formatting, no multiple sheets, and various edge cases around quoting fields that contain commas or newlines.

How to open

Excel, Google Sheets, Apple Numbers, LibreOffice Calc, any text editor, every database import wizard, every programming language with one line of code.

Related tools

Convert other files to CSV

Convert your .po to other formats

FAQ

Common questions

Is this PO → CSV converter really free?

Yes. No signup, no watermark, no daily file count limit. Every conversion runs in your browser, your file never touches our servers because there are no servers.

Where does my file go when I convert it?

Nowhere. The conversion runs entirely in your browser using JavaScript and WebAssembly. Your file is never uploaded to our servers. We don't have any servers handling files, there's nothing for us to log, store, or accidentally leak.

What's the maximum file size?

Whatever your browser can hold in memory. Practically, this means a few hundred MB on most computers, significantly larger than the 1-2 GB caps that server-upload converters charge for. Very large files (multi-GB) may require closing other browser tabs first.

Why convert .po to CSV?

Software localization (UI strings, error messages, in-app text in every language). Universal tabular data interchange. The most common reason to convert is compatibility, CSV works in places where .po doesn't, or vice versa.

How do I open a .po file in the first place?

Poedit (free, all platforms) is the most common editor. Lokalise/Crowdin/Weblate/Transifex import PO directly via web upload. Any text editor opens them as plain text. Linguists prefer Poedit for translation memory and validation; developers usually edit them in their IDE.

Does this work offline?

Once the page is loaded, the conversion itself runs entirely offline. The first time you use a tool, your browser downloads the conversion library (a one-time cache). If you reload while offline, the page won't load, but you can install the site as a Progressive Web App for full offline use.

Can I convert multiple files at once?

Single file at a time for now. Batch conversion is on the roadmap, for now, drop one file, download the result, then convert the next.