mc-nbt
mc-nbt is a free Node.js library for reading, writing, and manipulating Minecraft data files.
What mc-nbt is
mc-nbt is a free Node.js library for reading, writing, and manipulating Minecraft data files. It supports NBT, gzip-compressed DAT, MCA region, SNBT, and JSON formats, and converts among NBT, SNBT, and JSON while preserving data types. Its region tools can read, write, and modify individual chunks, as well as process multiple MCA files concurrently. Lazy loading, configurable concurrency, and asynchronous methods support MCA operations. An InventoryManager can list, add, remove, and modify player inventory items, while validation and inspection methods help examine NBT structures. The library reads and writes numeric and string tags, arrays, lists, and compounds. Applications can parse and serialize buffers and provide their own adapters for remote data, with SFTP and APIs shown as examples. The project requires Node.js 12.0.0 or higher and uses only built-in Node.js modules. It is MIT licensed. Its stated use cases include production Minecraft servers, world conversion tools, batch processing scripts, and memory-constrained environments.
Good
- Supports NBT, DAT, MCA, SNBT, and JSON.
- Can edit individual chunks in region files.
- Processes multiple MCA files concurrently.
- InventoryManager can modify player inventory items.
- Uses only built-in Node.js modules.
Watch out
- Requires Node.js 12.0.0 or higher.
- Designed as a Node.js library, not a GUI app.
Who it suits
mc-nbt suits developers building Minecraft server tools, world conversion utilities, or batch processing scripts. Its asynchronous methods and lazy loading are also relevant for memory-constrained environments.
Verdict
mc-nbt provides file conversion, region editing, and inventory tools for Node.js applications. Its format and concurrency support make it relevant to Minecraft data workflows, provided Node.js is part of your setup.
Plans and prices
From mc-nbt's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| mc-nbt-lib | Free | MIT licensed · Node.js 12.0.0 or higher |
The facts
Each one read from mc-nbt's own pages, with the date it was checked.
What it does
- Conversion
- It converts between NBT, SNBT, and JSON, with type preservation described in the README.checked 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.checked 9 Oct 2026
- File formats
- It supports NBT, DAT, MCA, SNBT, and JSON files.checked 9 Oct 2026
- Formats
- It supports NBT, gzip-compressed DAT, MCA region, SNBT, and JSON files.checked 9 Oct 2026
- Integrations
- Buffer operations support user-provided adapters, with SFTP and APIs shown as example data sources.checked 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.checked 9 Oct 2026
- Inventory tools
- Its InventoryManager can list, add, remove, and modify player inventory items.checked 9 Oct 2026
- License
- The repository README identifies the license as MIT.checked 9 Oct 2026
- Maintainer
- The GitHub profile identifies flaasz as Bartek Profic, an e-commerce web developer in Poland.checked 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.checked 9 Oct 2026
- Performance features
- Async methods, lazy loading, and configurable concurrency are provided for MCA operations.checked 9 Oct 2026
- Purpose
- mc-nbt is a Node.js library for reading, writing, and manipulating Minecraft NBT, DAT, and MCA files.checked 9 Oct 2026
- Region files
- It can read, write, and manipulate individual chunks in Minecraft region files, and process multiple MCA files concurrently.checked 9 Oct 2026
- Region tools
- Its MCA support includes reading and writing individual chunks, lazy loading, and concurrent bulk processing.checked 9 Oct 2026
- Remote data
- Buffer parsing and serialization allow applications to work with remote files through user-provided adapters, including SFTP examples.checked 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.checked 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.checked 9 Oct 2026
- Support
- The README welcomes contributions and directs users to contributing guidelines and pull requests.checked 9 Oct 2026
- Validation
- The library includes NBT structure validation and inspection methods.checked 9 Oct 2026
Alternatives to mc-nbt
- 1

Chunker
Free planOpen sourceWebAPILinuxmacOS7.6Free plan - 2
MCBE Inventory Editor
Free planOpen sourceWebLinuxmacOSSelf-hosted7.4Free plan - 3
Minecraft Region Fixer
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.2Free plan - 4

Amulet Map Editor
APILinuxmacOSSelf-hosted6.9From £7 a year - 5

Bedrock NBT Editor
Free planAndroidiOSWeb6.6Free plan - 6

Universal Minecraft Tool
Free planWindows6.5From $60 a year
