Skip to content

.strings File Editor

Open a Localizable.strings file, edit translations in a tree, catch formatting mistakes before they ship, and download a clean file with key order and quoting preserved.

  • Strings, OpenStep & plist formats
  • Duplicate-key detection
  • Key order preserved
  • Never uploaded
Ready to open a file processed locally — nothing is uploaded

What gets checked

  • Every value is a string — .strings tables can't hold numbers, arrays or nested dicts
  • Duplicate keys, which silently override earlier translations
  • Format placeholders like %@ and %d stay intact across edits
  • Files saved as XML or binary plist are still read and can be converted back to plain .strings

About the .strings format

A .strings file is Apple's classic localization format: pairs of "key" = "value"; lines in OpenStep property-list syntax, one per language inside each .lproj folder. Modern Xcode projects may use String Catalogs (.xcstrings) instead, but .strings files still power most apps — and genstrings, NSLocalizedString and SwiftUI all read them at runtime. Because the format is a property list, this editor reads it with the same parser that handles OpenStep plists, keeps your key order and comments-friendly layout, and writes valid .strings output on download.

Frequently asked questions

Can I edit a .strings file saved as a binary plist?
Yes. Xcode sometimes stores .strings as binary plists. Open it here, edit, and download either as a plain .strings text file or back as XML/binary plist.
Why must every value be a string?
The .strings format maps keys to localized text only. Anything else is a structural error that makes NSLocalizedString return the key itself at runtime.
Is my file uploaded anywhere?
No. Everything runs locally in your browser.