BNK File Documentation
Summary
In this database a Test Drive Unlimited Data Package is a proprietary .bnk archive from Eden Games’ racing games Test Drive Unlimited and TDU2, bundling 3D car models, textures and sounds that the game loads at runtime. It is edited with the community TDU Modding Tools. Note that most .bnk files elsewhere are unrelated: they are Wwise SoundBanks (game audio) starting with the bytes BKHD, so identify yours by the game or program that made it.
Technical details
| Feature | Value |
|---|---|
| Full name (this database) | Test Drive Unlimited Data Package |
| File extension | .bnk |
| MIME type | application/octet-stream |
| Format type | Proprietary game asset archive (models, textures, audio) |
| Developer | Eden Games (Test Drive Unlimited / TDU2) |
| Used by | Test Drive Unlimited (2006), TDU2 (2011) |
| Open standard | No — proprietary and undocumented |
| Magic number | Game-specific; not the Wwise BKHD header |
| Edited with | TDU Modding Tools (community) |
| Other common meaning | Wwise SoundBank (audio) — starts with 42 4B 48 44 “BKHD” |
| Also used by | AdLib/Sound Blaster instrument bank; ExamView test bank |
| Wwise developer | Audiokinetic (now part of Epic Games) |
| Wwise related extensions | .wem, .pck, .wav, .ogg |
| Identify by | The game or program that created the file |
What is a BNK file?
As named in this database, a .bnk file is a Test Drive Unlimited data package: a proprietary archive from Eden Games’ open-world racing games Test Drive Unlimited (2006) and Test Drive Unlimited 2 (2011). One .bnk bundles game assets, typically 3D car models, textures and sound data, into a single container the engine loads at runtime. The format is closed and undocumented, so it is read and written only by the game and by the community-built TDU Modding Tools that reverse-engineered enough of the layout to swap cars, liveries and other assets.
The .bnk extension is one of the most overloaded in existence, and honesty matters here. The Test Drive Unlimited package is the meaning this page is named for, but if you found a .bnk outside those two games it is far more likely to be a Wwise SoundBank, the dominant modern use of the extension, or one of two older formats. The rest of this article explains the TDU package, then covers the audio meaning in the detail most people actually arrive looking for, and finishes with how to tell which one you have.
The Test Drive Unlimited package
A TDU .bnk is an asset container, closer in spirit to a game archive than to a single file. Inside a package the engine expects several kinds of data together, so an editor has to parse the package structure before it can reach any one asset.
| Contains | What it is |
|---|---|
| 3D models | Car and object geometry the engine renders |
| Textures | Paint, materials and surface maps for those models |
| Sounds | Engine and effect audio bundled with the assets |
| Package index | Internal directory locating each asset within the file |
The exact byte layout of the header and index is Eden Games’ own and was never published, so this page does not invent offsets for it. What is known in practice is the tooling: the open-source TDU Modding Tools (and the older TDU-only BNK editors it superseded) open these packages to replace models and textures for modding. Those tools are specific to Test Drive Unlimited and do not work on the Wwise banks described next, which share only the three letters of the extension.
The far more common meaning: a Wwise SoundBank
Most .bnk files in modern games are SoundBanks produced by Audiokinetic Wwise, the audio middleware used across thousands of titles since 2006 (Audiokinetic was acquired by Epic Games in 2022). A SoundBank is a compiled binary package that bundles audio data, playback events, mixing structures and engine logic into one file the game streams at runtime. Unlike the TDU package, its structure is partly known from reverse engineering, and it begins with a recognisable signature.
Chunk Purpose
BKHD Bank Header: format version + bank ID (first bytes, "BKHD")
DIDX Data Index: locates each embedded media by ID
DATA the raw audio blob the DIDX entries point into
HIRC Hierarchy: sounds, events, containers, mixing structures
STID String/ID map for referenced banks (optional)
The audio inside is stored as WEM (Wwise Encoded Media), a second proprietary layer, which is why simply renaming a .bnk to .mp3 never produces playable sound. The bank is a container of many compressed WEM streams plus the event logic that decides when they play, not a single audio file.
Extracting audio from a Wwise bank
Because the format is closed, ripping game audio uses a reverse-engineered toolchain, and it is always at least two steps. First, unpack the bank into its component .wem streams: tools such as wwiser or Wwise-Unpacker read the DIDX/DATA chunks and write out the embedded media. Second, decode each .wem to a normal format: WEM audio is frequently Vorbis-based, so ww2ogg turns it into OGG with little loss, and vgmstream decodes it to WAV. Only after those steps can you re-encode to MP3 if you want it. Names are the catch: banks reference sounds by numeric ID, so recovering human-readable track names usually needs a companion Wwise names list, which wwiser can apply when generating its playback scripts.
The AdLib and ExamView meanings
Two more unrelated formats use .bnk. The oldest is the AdLib / Sound Blaster instrument bank, a DOS-era FM-synthesis bank that stored instrument definitions for the OPL sound chips; it is obsolete and opens only in old AdLib or Sound Blaster utilities. The other is an ExamView test bank, a question bank for the ExamView assessment software used by teachers and textbook publishers, which opens only in ExamView. Neither has any structural relationship to the TDU package or the Wwise bank; they simply reuse the three letters.
How to tell which kind of .bnk you have
Identify by origin and by the first bytes. If the file came from Test Drive Unlimited or TDU2 (in the game’s install folder or a car mod), it is the Eden Games data package, and you open it with TDU Modding Tools. If it came from almost any other modern game, open the first four bytes: 42 4B 48 44 (“BKHD”) confirms a Wwise SoundBank, which you process with wwiser, Wwise-Unpacker and vgmstream. A file from an old DOS synth setup is an AdLib bank, and one from a teacher or a textbook CD is an ExamView test bank. When downloading any of these extraction utilities, get them from their official GitHub repositories rather than generic “BNK opener” or “BNK converter” sites, which commonly bundle adware. Ripping a game’s audio or assets is generally fine for personal use but may breach the game’s licence if you redistribute the results.
References
- Audiokinetic — What is a SoundBank? (Wwise)
- wwiser — Wwise .bnk explorer (GitHub)
- Wwise-Unpacker — extract and decode .bnk audio (GitHub)
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.