NBT Editor
Open a standalone NBT file, raw or gzip or zlib compressed, in big-endian (Java edition) or little-endian (Bedrock edition) byte order, and inspect it as a typed tree you can move through with the keyboard. Edit values, insert, remove and rename tags, search names and values, and undo any step. Longs are edited as exact decimal text, so 9007199254740993 stays 9007199254740993 instead of rounding to 9007199254740992, and tag types, compound order, duplicate names and negative zero are kept. Before any download, an unedited file must re-encode to its original uncompressed bytes, and an edited one must read back as exactly the tree you edited. Files are read in this tab and never uploaded.
Your file
Raw, gzip or zlib, detected from the file. Up to 1 MiB compressed and 1 MiB decompressed, 64 levels deep and 100,000 tags and array elements. Drop a file on this panel or choose one.
Tree
13 of 13 open rows shown. Up and Down move, Right opens, Left closes or goes to the parent, Enter edits the value.
Level / Seed
TAG_Long
Showing the built-in example. Open your own NBT file to inspect and edit it.
- File
- built-in example
- Tags and elements
- 26
- Depth
- 3 levels
- Byte order
- big-endian
- Compression
- none
- Round trip
- byte-exact
- Reparse check
- not run
- Changes
- 0
Change list
No changes yet. Edits, inserts, removals and renames appear here in order, and undo steps back one at a time.
- kept exact; a JavaScript Number would read 9007199254740992
- big-endian 00 20 00 00 00 00 00 01; little-endian 01 00 00 00 00 00 20 00
- 80 00 00 00 00 00 00 00 and 7F FF FF FF FF FF FF FF
- big-endian modified UTF-8 ED A0 BD ED B8 80; little-endian UTF-8 F0 9F 98 80
- big-endian 61 C0 80 62; little-endian 61 00 62
Common questions
- Which files can this NBT editor open?
- Standalone NBT whose root is a compound tag, raw or gzip or zlib compressed, up to 1 MiB (1,048,576 bytes) as a file and 1 MiB once decompressed, nested up to 64 levels counting the root, with up to 100,000 tags and array elements. Compression is detected from the file's first bytes. Region files (.mca, .mcr), LevelDB world database files, varint-encoded network NBT, files with an 8-byte level.dat header, and bzip2, xz, Zstandard, LZ4 or ZIP files are not supported, and the error names the container when it recognizes one instead of guessing.
- Should I choose big-endian or little-endian?
- Java edition files are big-endian and store strings in modified UTF-8; Bedrock edition files are little-endian with standard UTF-8. The byte order is your choice and nothing is converted between them. If a file fails in the order you chose but decodes in the other one, the error says so, and switching the Byte order menu reopens that file.
- Will saving change bytes I did not edit?
- No. With no edits, the download is allowed only if re-encoding the tree reproduces every original uncompressed byte. With edits, the new file is decoded again and must equal your edited tree exactly, down to tag types, order, duplicate names and the sign of zero. The download keeps the original compression (none, gzip or zlib), but compressed bytes can differ from the original even when the NBT inside is identical. If a file uses a string form that cannot be reproduced exactly, such as a raw NUL byte in big-endian text, you can inspect it but export stays blocked.
- How are 64-bit longs kept exact?
- Longs and long arrays are read, stored, edited and written as 64-bit integers, never as a JavaScript Number, which holds whole numbers exactly only up to 9007199254740991; the inspector shows what a Number would read only as a comparison. You edit a long as decimal text from -9223372036854775808 to 9223372036854775807, and 9007199254740993 is written as 00 20 00 00 00 00 00 01 in big-endian order rather than rounded to 9007199254740992.
- How do undo and projects work?
- Every edit, insert, removal and rename is listed in order, and Undo last change steps back one at a time, up to 10,000 changes in a session. Save project downloads a JSON file holding the original file and that change list; Open project replays the changes over the original and refuses the whole project if any change no longer applies. Only your byte-order choice is remembered in this browser.
- Does it check whether values are valid for the game?
- No. It edits binary structure: it checks that each value fits its tag type, that floats are finite and that the file stays within the size and depth limits, but it does not know what a tag means to any game and it does not convert files between editions.
Binary structure editing only, not validation of Minecraft or other game rules, and no cross-edition conversion. Nonfinite floats, unsupported encodings, Bedrock headers, varint NBT, region (MCA) files and LevelDB containers are refused explicitly, by name wherever the file is recognized. Compressed bytes may differ after saving; an unedited uncompressed tree must reproduce every original byte or export is blocked.