The 8-byte header, and why it matters
A Bedrock level.dat is not raw NBT. The first four bytes are a little-endian storage version (8 and 10 are the values in the wild), the next four are the byte length of the NBT payload, and the tags follow uncompressed. Edit the payload without fixing that length and the game rejects the file — which is exactly what happens when people open Bedrock saves in a Java-only NBT tool.
| Offset | Size | Field |
|---|---|---|
| 0 | 4 bytes | Storage version, little-endian int |
| 4 | 4 bytes | Payload length in bytes, little-endian unsigned |
| 8 | rest | Little-endian NBT, root compound, uncompressed |
This editor shows the storage version in the file bar, preserves it, and rewrites the length for you every time you save.