NBT Libraries
expert
There are plenty of existing NBT libraries, as not everyone has the time or motivation to create their own. This here is a curated list of existing solutions, sorted by programming languages.
Name | Description | Language |
---|---|---|
nbtx | NBT implementation in pure Rust | Rust |
HematiteNBT | A full-featured Rust crate for Minecraft's NBT file format, including Serde support. | Rust |
Quartz | Provides support for encoding and decoding Minecraft's NBT format. | Rust |
SimdNBT | A very fast NBT serializer and deserializer. | Rust |
fastnbt | Fast serde serializer and deserializer for Minecraft's NBT and Anvil formats | Rust |
shen-nbt5 | A Fast NBT parser/writer (warning: lot's of unsafe (from author)) | Rust |
CrabNBT | Up-to-date Rust crate for easy and intuitive working with NBT data. | Rust |
zuri_nbt | Zuri's Nbt library | Rust |
NBT.js | A JavaScript parser and serializer for NBT archives. | JavaScript |
NBTify | Parser & writer NBT library intended for usage in a web browser. | JavaScript, TypeScript |
twoolie/NBT | This is mainly a Named Binary Tag parser & writer library. | Python |
nbtlib | A python library to read and edit nbt data. | Python |
Python-NBT | A python lib for reading and writing nbt files | Python |
gophertunnel/nbt | Gophertunnel's Nbt library | Go |
go-nbt | This package implements the Named Binary Tag format of Minecraft. | Go |
cNBT | As simple (and, consequently, as fast) as possible NBT file parser. | C |
libnbt | A lightweight library to work with NBT, written in C. | C |
libnbt++ | A free C++ library for Minecraft's file format Named Binary Tag (NBT). | C++ |
cpp-nbt | A C++23 header-only library for reading/writing Minecraft NBT data. | C++ |
Cloudburst/nbt | An Named Binary Tag library built including VarInt support introduced by Minecraft: Bedrock Edition in 0.16.0 | Java |
BitBuf/nbt | Flexible and intuitive library for reading and writing Minecraft's NBT format. | Java |
hephaistos | This library is both a NBT library and a Minecraft Anvil format library. | Java, Kotlin |
Nedit | A simple, lightweight NBT parsing library | Java |
knbt | Kotlin NBT library for kotlinx.serialization. | Kotlin |
KotlinNBT | With a builder DSL and type-safety | Kotlin |
simpleNBT | Streams, ByteBuffer, NIO, Endianness, Zlib, Gzip, Any Input/Output, Examples in Comments. | Kotlin |
php-nbt | A full PHP implementation of Minecraft's Named Binary Tag (NBT) format. | PHP |
PMMP/nbt | PHP library for working with the NBT (Named Binary Tag) data storage format, as designed by Mojang. | PHP |
TagForge | A library made for the serialisation and deserialisation of MC NBT | Nim |
Venom | An NBT decoder written in pure Elixir. | Elixir |
ScalaNBT | Scala library for NBT io with some Mojangson support. | Scala |
Not all libraries are maintained anymore. If any popular nbt libraries are missing, please add them here.