MCPE NBT Editor — Minecraft Pocket Edition Files

Supports Minecraft Bedrock Edition and Java Edition — and every server core for both, popular or obscure: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina and the rest. Full list.

Bedrock Edition writes NBT little-endian, and its level.dat is preceded by an 8-byte header holding the storage version and the payload length. Drop a Bedrock file below — level.dat, .mcstructure, a LevelDB value, a protocol dump — and the editor reads it, keeps the header intact, recalculates the length on save, and hands the file back ready to drop into the world folder.

MCPEMCBEBedrock Dedicated ServerPocketMine-MPNukkitPowerNukkitXCloudburstDragonflyEndstone

Drop a Bedrock level.dat here

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · chunk dumps

The 8-byte header, and why it matters

A Bedrock level.dat is not raw NBT. The first four bytes are a little-endian storage version (8 and 10 are the values in the wild), the next four are the byte length of the NBT payload, and the tags follow uncompressed. Edit the payload without fixing that length and the game rejects the file — which is exactly what happens when people open Bedrock saves in a Java-only NBT tool.

OffsetSizeField
04 bytesStorage version, little-endian int
44 bytesPayload length in bytes, little-endian unsigned
8restLittle-endian NBT, root compound, uncompressed

This editor shows the storage version in the file bar, preserves it, and rewrites the length for you every time you save.

Bedrock tags worth knowing

Bedrock keeps its settings flat at the root of level.dat rather than nesting them under a Data compound the way Java does, and game rules are individual tags instead of a GameRules child.

TagTypeMeaning
LevelNameStringWorld name shown in the world list and in server output
GameTypeInt0 survival, 1 creative, 2 adventure
DifficultyInt0 peaceful … 3 hard
commandsEnabledByteCheats on or off
SpawnX, SpawnY, SpawnZIntWorld spawn
RandomSeedLongWorld seed, a true 64-bit value
lastOpenedWithVersionList of IntClient or server build that last wrote the world
StorageVersionIntWorld storage revision, mirrors the header
experimentsCompoundExperimental toggles enabled for the world
keepinventory, domobspawning, …ByteGame rules, one lowercase tag each

Finding the file on each platform

  • Android: Android/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftWorlds/<id>/level.dat. Newer Android releases restrict that folder — use the in-game world export, or a file manager with the right access.
  • iOS: export the world to a .mcworld from the game, open it in the Files app, and unzip it there — level.dat sits at the archive root.
  • Windows: %LOCALAPPDATA%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds\<id>\level.dat.
  • Bedrock Dedicated Server: worlds/<World>/level.dat.
  • PocketMine-MP, Nukkit, PowerNukkitX: worlds/<World>/level.dat — see the server-side guide.

The world folder name is a random id, not the world name. Sort by modification time, or open a few level.dat files here and read LevelName to identify the right one.

Beyond level.dat

Bedrock keeps chunks, entities and block entities in a LevelDB database in the db/ folder, with little-endian NBT as the value of many keys. Extract a value and it opens here as Bedrock raw — no header, no compression. Structure files use the same encoding: see the .mcstructure editor. Protocol captures use the varint variant, which the editor detects as Bedrock network.

Frequently Asked Questions

Why will not my Bedrock level.dat open in NBTExplorer?

Because NBTExplorer expects Java's big-endian layout and does not know about the 8-byte Bedrock header. This editor handles both, and rewrites the header length when it saves.

Can I edit an MCPE world on my phone?

Yes. Open this page in the phone's browser, pick the file from your file manager, edit and save. The download lands in your Downloads folder; copy it back over the original.

What is the difference between storage version 8 and 10?

They mark revisions of the Bedrock world storage format; 10 is what current clients write. The editor keeps whatever value the file had rather than forcing one, because rewriting it does not migrate the world data behind it.

Does this work with .mcworld files?

Not directly — a .mcworld is a zip archive. Unzip it, edit level.dat here, put it back in the archive, and rename it back to .mcworld.

Does it work with Bedrock game rules?

Yes. Bedrock stores each rule as its own lowercase byte tag at the root — keepinventory, domobspawning, showcoordinates and so on. Set the byte to 1 or 0. The game rules guide lists them.

Related tools