NBT format

The Named Binary Tag format is used by Minecraft for the various files it saves data to. The format is described by Notch in a very brief specification. The format is designed to store data in a tree structure made of up various tags. All tags have an ID and a name. The original known version was 19132, and since then has been updated to 19133 with Anvil, with the addition of the Int Array tag.

TAG definition
A tag is an individual part of the data tree. The first byte in a tag is the tag type (ID), followed by two bytes for the length of the name, then the name as a string in UTF-8 format. Finally, depending on the type of the tag, the bytes that follow are part of that tag's payload. This table describes each of the 11 known tags in version 19133 of the Named Binary Tag format: The List and Compound tags can be and often are recursive.

File Format
An NBT file is a GZIPped Compound tag, name and tag ID included. Some of the files utilized by Minecraft may be uncompressed, but in most cases the files follow Notch's original specification and are compressed with GZIP. There is no header to specify the version or any other information.

Software
While there is no official software for the NBT format other than Minecraft itself, the community has developed programs to view and modify NBT files.