NBT
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
Minecraft NBT Preview.
At a glance
| Purpose | A Minecraft NBT (Named Binary Tag) file: a tree of typed, named values used for worlds, players and structures. |
| Extensions | .nbt |
| Poka parser | poka-nbt |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B3 Core (see Breadth tiers) |
How much Poka reads
B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-nbt/src/main.rs (339 lines) and plugin.json. No unit tests or tests/samples.rs, and the corpus has no .nbt, .dat-nbt and .schematic sample. Covers .nbt, .dat-nbt and .schematic. The tree reads every tag type (Byte to Long Array) of uncompressed big-endian NBT, with compounds and lists as branches and scalar values as leaves. Judgement: B3: the tag tree is complete for uncompressed files, but gzip-compressed NBT, the usual form of level.dat, player files and .schematic, is refused.
What Poka does not read
- Gzip- and zlib-compressed NBT is refused with a message to decompress it first; this covers most real .dat and .schematic files
- Bedrock Edition (little-endian) NBT is not read
- Byte, Int and Long arrays are shown as sizes, not values
- Strings are decoded as UTF-8, not Java's modified UTF-8, and cut at 64 characters
- Region files (.mca) are not read
- Caps of 5,000 tags and 200 levels
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- fastnbt (candidate; MIT OR Apache-2.0; Rust; https://github.com/owengage/fastnbt) — verify version at integration
Sources
- parsers/poka-nbt/src/main.rs
- parsers/poka-nbt/plugin.json