PO File Editor
Edit Gettext .po files as a table: filter untranslated and fuzzy, keep comments and plurals.
No entries yet — load the sample or open a .po file.
Translator comments, references, flags and msgid_plural are kept. Editing a translation only changes msgstr — the rest of the entry is written back as it was.
How to use it
- Pick a .po or .pot file, or paste the content into the panel, then press Parse.
- Each entry becomes a block with its comments on top, the source msgid, and an editable msgstr field. Plural entries get one field per msgstr[n] form.
- Use Filter to show only untranslated entries (any empty form) or only fuzzy ones.
- Toggle the fuzzy checkbox to add or clear the flag; other flags in the same comment line are preserved.
- Press Export .po to rebuild the file, then Copy or Download it.
Common use cases
- Finishing a batch of translations - filter to untranslated, fill the gaps, export once.
- Reviewing fuzzy matches - a fuzzy entry usually means the source changed, so it deserves a real look.
- Fixing a broken escape - multi-line strings are joined and unescaped, so a stray backslash is visible.
- Editing without a desktop tool - a browser is enough to correct a few strings on a shared machine.
- Checking plural coverage - empty msgstr[n] forms are easy to spot when every form has its own field.
Why it stays private
Translation files often contain unreleased product names, URLs and internal context in comments. Reading and writing happen entirely in the page: the file is read with FileReader, parsed with string handling, and only the copy you download leaves the browser.
FAQ
Q: What happens to comments and references? A: Translator comments, extracted comments, #: references and #, flags are stored with the entry and written back unchanged. Only msgstr values are meant to change here.
Q: Are plural forms supported? A: Yes. msgid_plural is parsed, and each msgstr[n] gets its own field. The number of forms is read from the file, so a language with three forms keeps all three.
Q: Does it keep the header entry? A: Yes. The entry with an empty msgid is kept as the first block, and it is excluded from the untranslated and fuzzy filters so it does not distort the counts.
Q: Is the file validated like msgfmt does? A: No. This tool edits strings and flags. Run msgfmt on the exported file if you need format-string and plural-rule checks before a release.
Your data stays on this device
PO File Editor runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.