Freedom251 › Minecraft World Editors
mc-nbt

What mc-nbt 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 among NBT, SNBT, and JSON while preserving types. Its NBT handling covers numeric and string tags, arrays, lists, and compounds. For MCA regions, it can read, write, and modify individual chunks, with lazy loading and configurable concurrency for bulk processing. InventoryManager can list, add, remove, and modify player inventory items. The library includes structure validation and inspection, and asynchronous methods for file operations. Applications can parse and serialize buffers and provide their own adapters for remote files; SFTP and APIs are shown as examples. The project highlights production Minecraft servers, world conversion, batch scripts, and memory-constrained environments as use cases. It requires Node.js 12.0.0 or higher, uses only built-in Node.js modules, and is MIT licensed.
Who it suits
mc-nbt suits developers building Minecraft server tools, world converters, or batch-processing scripts. Its lazy loading and configurable concurrency may also suit work in memory-constrained environments.
What it does well
- Supports NBT, DAT, MCA, SNBT, and JSON.
- Can read, write, and modify region chunks.
- InventoryManager edits player inventory items.
- Uses only built-in Node.js modules.
- MIT licensed and free.
What to know first
- Requires Node.js 12.0.0 or higher.
- Remote file access requires user-provided adapters.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| mc-nbt-lib | MIT licensed · Node.js 12.0.0 or higher | Free |
As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Open the mc-nbt GitHub repository.
- Use a Node.js environment running version 12.0.0 or higher.
- Add the library to a Node.js project and use its file, conversion or region operations.
- For remote data, provide an adapter for buffer operations; SFTP and APIs are shown as examples.
Verdict
mc-nbt covers conversion, region-file editing, inventory operations, and validation in a Node.js library. Its Node.js requirement and adapter-based approach to remote data are worth considering before adopting it.
Questions
How much does mc-nbt cost?
It is free. The listed plan is free and identifies the library as MIT licensed.
Which file formats does it support?
It supports NBT, gzip-compressed DAT, MCA region, SNBT and JSON files.
Can it edit Minecraft region files?
Yes. It can read, write and modify individual chunks in MCA region files, with lazy loading and concurrent bulk processing.
What does it require?
mc-nbt requires Node.js 12.0.0 or higher and says it uses only built-in Node.js modules.
Is mc-nbt open source?
The repository README identifies its license as MIT.
Can it work with remote files?
Buffer parsing and serialization allow applications to provide adapters for remote data. SFTP and APIs are shown as examples.
Facts from mc-nbt's own pages
- Conversion
- It converts between NBT, SNBT, and JSON, with type preservation described in the README. · github.com, 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, 9 Oct 2026
- File formats
- It supports NBT, DAT, MCA, SNBT, and JSON files. · github.com, 9 Oct 2026
- Formats
- It supports NBT, gzip-compressed DAT, MCA region, SNBT, and JSON files. · github.com, 9 Oct 2026
- Integrations
- Buffer operations support user-provided adapters, with SFTP and APIs shown as example data sources. · github.com, 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, 9 Oct 2026
- Inventory tools
- Its InventoryManager can list, add, remove, and modify player inventory items. · github.com, 9 Oct 2026
- License
- The repository README identifies the license as MIT. · github.com, 9 Oct 2026
- Maintainer
- The GitHub profile identifies flaasz as Bartek Profic, an e-commerce web developer in Poland. · github.com, 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, 9 Oct 2026
- Performance features
- Async methods, lazy loading, and configurable concurrency are provided for MCA operations. · github.com, 9 Oct 2026
- Purpose
- mc-nbt is a Node.js library for reading, writing, and manipulating Minecraft NBT, DAT, and MCA files. · github.com, 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, 9 Oct 2026
- Region tools
- Its MCA support includes reading and writing individual chunks, lazy loading, and concurrent bulk processing. · github.com, 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, 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, 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, 9 Oct 2026
- Support
- The README welcomes contributions and directs users to contributing guidelines and pull requests. · github.com, 9 Oct 2026
- Validation
- The library includes NBT structure validation and inspection methods. · github.com, 9 Oct 2026
Where mc-nbt stands on Freedom251
- Minecraft World Editors#17 of 35