- Home
- Minecraft World Editors
- mc-nbt
mc-nbt
What it is
mc-nbt is a free Node.js library for reading, writing, converting, and manipulating Minecraft data files. It supports NBT, gzip-compressed DAT, MCA region, SNBT, and JSON formats, and converts between NBT, SNBT, and JSON while preserving data types. Its NBT support includes numeric and string tags, byte, int, and long arrays, lists, and compounds. For MCA region files, the library can read, write, and modify individual chunks, as well as process multiple files concurrently. Lazy loading, configurable concurrency, and asynchronous methods are available for MCA operations. InventoryManager can list, add, remove, and modify player inventory items. The library also includes NBT structure validation and inspection methods. Applications can parse and serialize buffers and provide their own adapters for remote files, with SFTP and APIs shown as examples. mc-nbt requires Node.js 12.0.0 or higher, uses only built-in Node.js modules, and is MIT licensed. The project describes production Minecraft servers, world conversion tools, batch scripts, and memory-constrained environments as potential use cases.
For and against
For
- Reads, writes, and manipulates NBT, DAT, and MCA files
- Converts NBT, SNBT, and JSON while preserving types
- Can edit individual chunks and process MCA files concurrently
- Uses only built-in Node.js modules
- MIT licensed
Against
- Requires Node.js 12.0.0 or higher
- Designed as a Node.js library, not a standalone editor
The verdict
mc-nbt brings format conversion, region and inventory operations, and validation into a Node.js library. It is a fit for developers who can work with its Node.js requirement and library-based interface.
Who it suits
mc-nbt is suited to developers building Minecraft server tools, world converters, or batch-processing scripts. It requires Node.js 12.0.0 or higher.
Plans and prices
mc-nbt-lib
MIT licensed · Node.js 12.0.0 or higher
Read 9 Oct 2026 · github.com
On the record
- Conversion
- It converts between NBT, SNBT, and JSON, with type preservation described in the README.github.com · read 9 Oct 2026
- Dependencies
- The project requires Node.js 12.0.0 or higher and states that it uses only Node.js built-in modules.github.com · read 9 Oct 2026
- File formats
- It supports NBT, DAT, MCA, SNBT, and JSON files.github.com · read 9 Oct 2026
- Formats
- It supports NBT, gzip-compressed DAT, MCA region, SNBT, and JSON files.github.com · read 9 Oct 2026
- Integrations
- Buffer operations support user-provided adapters, with SFTP and APIs shown as example data sources.github.com · read 9 Oct 2026
- Intended users
- The README highlights production Minecraft servers, world conversion tools, batch processing scripts, and memory-constrained environments as use cases for async methods.github.com · read 9 Oct 2026
- Inventory tools
- Its InventoryManager can list, add, remove, and modify player inventory items.github.com · read 9 Oct 2026
- License
- The repository README identifies the license as MIT.github.com · read 9 Oct 2026
- Maintainer
- The GitHub profile identifies flaasz as Bartek Profic, an e-commerce web developer in Poland.github.com · read 9 Oct 2026
- NBT tags
- It reads and writes Byte, Short, Int, Long, Float, Double, String, byte array, int array, long array, List, and Compound tags.github.com · read 9 Oct 2026
- Performance features
- Async methods, lazy loading, and configurable concurrency are provided for MCA operations.github.com · read 9 Oct 2026
- Purpose
- mc-nbt is a Node.js library for reading, writing, and manipulating Minecraft NBT, DAT, and MCA files.github.com · read 9 Oct 2026
- Region files
- It can read, write, and manipulate individual chunks in Minecraft region files, and process multiple MCA files concurrently.github.com · read 9 Oct 2026
- Region tools
- Its MCA support includes reading and writing individual chunks, lazy loading, and concurrent bulk processing.github.com · read 9 Oct 2026
- Remote data
- Buffer parsing and serialization allow applications to work with remote files through user-provided adapters, including SFTP examples.github.com · read 9 Oct 2026
- Requirements
- The README requires Node.js 12.0.0 or higher and says the library uses only built-in Node.js modules.github.com · read 9 Oct 2026
- Security and compliance
- The repository describes data validation and preservation of exact data types and values; it does not state security certifications or compliance claims.github.com · read 9 Oct 2026
- Support
- The README welcomes contributions and directs users to contributing guidelines and pull requests.github.com · read 9 Oct 2026