What Is an STR File
An STR file is a resource file that holds localized strings or compiled executable data. Operating systems and applications use it to store text that appears in menus, dialog boxes, and status messages, keeping the interface separate from the program logic. The exact contents depend on the format that created the file.
More from this site
Keep reading the latest coverage
When software supports multiple languages, developers package each language version as a separate STR file. The operating system loads the correct one based on the user's locale, swapping text without changing the underlying program.
Common STR File Formats
Several unrelated formats use the .str extension, which often causes confusion.
- Windows String Table (Win32): Bundled inside executable files or as standalone resource files for localization.
- Android Asset: Used by some Android applications to store compiled string resources.
- Delphi / Pascal Resource: Holds form definitions or string tables compiled into Delphi applications.
- Generic Text Export: A plain-text or structured export of strings from a localization tool.
Because the same extension can mean very different things, the first step in working with an STR file is identifying its origin.
How to Open an STR File
The method depends on the format.
- Windows String Table: Open with Microsoft Visual Studio or a resource editor such as Resource Hacker. These tools decode the binary resource structure and display the string pairs.
- Android STR File: Inspect using Android Studio or the aapt command-line tool. The file is binary and not meant to be edited by hand.
- Delphi STR File: Load in RAD Studio or a compatible Pascal IDE to view or modify the resource.
- Text-based Exports: Open with any text editor if the file contains readable strings.
Trying to open a binary STR file in a plain text editor usually produces garbled output with a few readable strings mixed in.
Editing and Converting STR Files
Editing a string table inside an executable requires a resource editor that understands the binary layout. You can replace, add, or delete string entries, but the modified resource must be recompiled back into the executable or saved as a standalone file.
Conversion is possible with specialized tools. Visual Studio can export a string table to a tab-delimited text file. Conversely, resource editors can import text-based string lists back into the binary format. For Android assets, conversion typically happens during the build process using the Android SDK tooling.
STR File vs. Other Localization Formats
STR files are one of many ways to store translatable text.
- PO / MO files (GNU gettext): Common in open-source Linux and web projects.
- XLIFF (XLF / XLF): An XML-based standard used across many localization platforms.
- JSON / YAML: Increasingly popular for mobile and web apps because they are human-readable and easy to parse.
STR files tend to be binary and platform-specific, which makes them harder to inspect but efficient to load at runtime.
Troubleshooting STR File Problems
Common issues include the system failing to load the correct language version, strings appearing in the default language instead of the selected one, or the file refusing to open in an editor.
- Verify the file extension matches the actual format — some tools rename files incorrectly.
- Ensure the resource compiler and runtime versions are compatible.
- For Android, confirm the STR file is placed in the correct asset directory recognized by the build system.
- If a text editor shows partial readable content, the file is likely binary and needs a dedicated resource tool.
When in doubt, check the documentation for the software that produced the file. That source will specify the exact format and the correct tooling to use.