AFJ tbl Editor
Classic Diablo II / LoD .tbl string editor for editing item names, UI text, skill strings and localization files.
Resource Details
- Supported Game
- Diablo II: Lord of Destruction
- Tool Type
- String Table Editor / TBL Editor
- Access Mode
- Desktop, Offline
- Operating System
- Windows
- File Formats
- TBL string tables (string, expansionstring, patchstring); tab-separated text import
- Compatibility
- Classic binary .tbl format only; Unicode build available (1.11u); not for Diablo II: Resurrected, which uses JSON strings; no validation of keys against data tables; keep backups
- Resource Version
- 1.12
- Status
- Legacy
- Verification
- Reviewed
- Last Checked
- 2026-10-05
About AFJ tbl Editor
Every name and line of text that classic Diablo II shows on screen, from item and monster names to skill descriptions and menu labels, is stored in binary string tables with the .tbl extension. They cannot be opened in a text editor, so modders need a dedicated program. AFJ tbl Editor, by the same author as the well-known sheet editor for data tables, is the one most often recommended: a small, easy-to-use Diablo 2 tbl editor that reads a table, lets you change or add entries and writes it back in the format the game expects.
How Diablo 2 string tables work
The game ships with three tables per language: one for the original game, one for the expansion and one for patch additions. Each entry pairs a key with the text to display. Data tables refer to the keys, not to the text itself, so an item defined in the weapons table carries a name key, and the game looks that key up when it draws the item label. The patch table is searched first, which is why most mods add their new entries there rather than touching the two larger files. Understanding this lookup is the main thing a newcomer needs before editing Diablo 2 string tables, because a new item without a matching key shows up in game with a placeholder name.
What the editor does
The program opens a table and lists its keys with their strings. You can edit the text of an existing key, insert new keys for your own items, monsters or skills, and save the result as a valid table. It also simplifies colour handling. The game marks coloured text with special control codes that are awkward to type, and the editor offers shorter codes and a colour menu instead, converting them when it saves. A basic import from tab-separated text files makes it possible to prepare many entries in a spreadsheet-style tool and bring them in at once, which is useful for large mods and for translation work.
A typical editing session
Extract the string tables from the game archives with Ladik’s MPQ Editor; they sit in the language folder under the local data directory. Open the patch table, add a key such as the code you used for a new item in the data tables, and type the display name. Save, place the table in the same path inside your mod’s data folder and start the game with the -direct -txt options to test. If a name appears wrong in game, check first that the key in the data table and the key in the string table match exactly, including upper and lower case.
Versions and availability
The Phrozen Keep hosts the program in its String Editing section under the name AFJ Table Edit, in two builds: version 1.11 and version 1.11u, the latter with Unicode support for languages that need it. A later update was announced by the author on the forum. The same section lists older alternatives, among them Peer TBL Editor, Darkstorm’s table editor and the original Enquettar script, but the AFJ program is the one most tutorials assume. It is closed source and no longer developed.
Working with data tables
String editing is rarely done alone. New keys only matter when a data table refers to them, so the program is normally used side by side with AFJ Sheet Editor, where items, skills and monsters are defined. Keeping a simple list of the keys you add, with the table and row that use them, saves a great deal of searching later. Running the mod from a separate installation through D2SE keeps the edited tables away from your normal game.
Limitations
The editor only handles the classic binary format. Diablo II: Resurrected stores its strings in JSON files instead, so Resurrected modders need a different tool such as D2RStrEdit. There is no check that a key you add is actually used, or that a key used by a data table exists. Long tables load as one flat list, so finding entries relies on knowing the key or the text. As with any old Windows utility, keep backup copies of working tables before saving over them.
Who should use it
It is for classic Diablo II and LoD modders who add or rename items, skills, monsters or interface text, and for translators localising a mod. Players who only want coloured item names for easier looting on a server usually get that from a loot filter rather than from edited string tables. Resurrected modders can skip it entirely.
D2 Horadric editorial view
This is a small utility that removes one of the oldest obstacles in classic modding: text locked inside a binary file. It is free, simple and still the common recommendation, with a Unicode build for non-English work. Its age, the absence of validation and its restriction to the classic format keep it in the middle of our scale, but a classic mod that adds anything new cannot be finished without a tool like it.
Key Features
- Reads and writes classic .tbl string tables
- Edits existing strings
- Inserts new keys
- Simplified colour codes with a colour menu
- Basic import from tab-separated text
- Unicode build for other languages
Requirements
- Windows
- Classic Diablo II or LoD string tables extracted with an MPQ tool
- Matching keys in the data tables
Pros
- Makes binary string tables editable
- Simple and quick
- Easy colour codes
- Unicode build
- Text import for bulk work
Cons
- Classic format only
- No validation of keys
- Closed source and no longer developed
- Flat list with limited navigation