Skip to content

Importing a Java World into the Seed Map

Java

Typing a seed is fine until you mistype it. The Load from save button reads the seed, version and spawn out of a Java world's own files, in your browser, and sets the map up in one click. This is what it does, where the files live, and what to make of the three errors it can show.

Updated · 6 min read · Java up to 26.3

Seed map centred on the spawn marker of seed -1234567890123 after loading its level.dat
After an import: seed −1234567890123 set, version picked from the save, map centred on the spawn at −16, 16.

What the importer reads and what it changes

Every Java world folder has a level.dat, a small compressed NBT file with the world's settings. The importer reads four things from it. The seed, from Data → WorldGenSettings → seed on 1.16 and later, or Data → RandomSeed on older worlds. The spawn, from SpawnX and SpawnZ. The version name the world was last saved in. And the world's name, which it shows back to you so you know it read the right file.

The seed box, Go button and the folder-shaped Load from save button in the map toolbar
The importer is the folder button next to Go. Nothing else on the page changes until you pick a file.

It then switches the map to Java if it was on Bedrock, picks the version, sets the seed and centres the map on the spawn. The version choice is the newest entry in the version list that is not newer than the save: a world saved in 1.21.8 lands on the 1.21.6 – 1.21.8 band, a 26.3 world on 26.3, and a name like 1.20.1 Pre-Release 2 is read as 1.20. Large Biomes is never selected automatically, because level.dat's version name does not say which world type was used; if your world is Large Biomes, change that by hand afterwards.

The map toolbar after a successful import, with the seed filled in and the status line Loaded Birch Hills (26.3)
A successful import of a test world we saved as Birch Hills: the seed −1234567890123 in the box, 26.3 selected, and the world name and version in the status line.

All of this happens in your browser. The file is parsed by JavaScript on your machine and the seed goes to the same engine the map always uses. Nothing is uploaded, which is also why the import works offline once the page has loaded.

Spawn point finder for seed -1234567890123 centred on the spawn marker with the spawn chunks outlined
Where the map lands after the import: the spawn at −16, 16 read from SpawnX and SpawnZ, with the spawn chunks outlined. The ruined portal 93 blocks away is the first thing to check in-game.

Where the file is

Where you playPath to the world folder
Windows%APPDATA%\.minecraft\saves\<world name>\
macOS~/Library/Application Support/minecraft/saves/<world name>/
Linux~/.minecraft/saves/<world name>/
Your own server<server folder>/world/ (or whatever level-name says in server.properties)
Realms (owner)Download a backup from the Realm settings; the download is a world folder

Inside the folder you want level.dat, not level.dat_old. The old file is the previous save and is usually fine too, but if the two disagree, the game trusts level.dat. If you would rather not dig for the file, zip the whole world folder with your system's compress command and drop the zip on the map instead; the importer finds level.dat inside it.

Step by step

  1. Open the seed map. Next to the seed box there is a folder button; its tooltip reads Load from save (level.dat or world .zip).
  2. Pick the level.dat, or the zipped world folder. The file picker accepts .dat and .zip.
  3. Read the status line under the seed box. It says Loaded, then the world's name and the version it was saved in, for example Loaded My World (26.3).
  4. Check the version box. If the world has crossed a major version since it was created, set the version that generated the area you want to look at.
  5. The map is now centred on the world spawn. Zoom out and the structures around it are the ones in your game.

The three error messages

MessageWhat it meansWhat to do
Could not parse level.dat: …The file is not a Java level.dat. The most common cause is a Bedrock world: Bedrock also has a level.dat, in a different format the importer does not read. Truncated or corrupt files produce this too.For Bedrock, read the seed in the world settings and type it. For a damaged Java file, try level.dat_old from the same folder.
No seed found in level.dat (expected Data.WorldGenSettings.seed or Data.RandomSeed)The file parsed but has neither seed field. Very old Alpha and Beta saves, some converted worlds and some mod-generated files look like this.Use /seed in the game or Re-Create in the world list, and type the number.
No level.dat found in the zipThe zip does not contain a level.dat anywhere inside it. Usually the wrong folder was zipped, or the archive is a Bedrock .mcworld renamed to .zip.Zip the world folder itself, the one that contains level.dat and the region folder.

A fourth, generic Could not read that save appears if the browser cannot read the file at all, which in practice means a permissions problem or a file still being written by the game. Close the world first; Minecraft rewrites level.dat on every save.

The map toolbar with the red status line Could not parse level.dat after loading a file that was not an NBT save
What the first error looks like. We fed the importer a text file renamed to level.dat; a Bedrock level.dat produces the same message.

Old worlds, mixed versions, snapshots

A world created years ago and still played has chunks from several versions. The importer can only tell you the last version the world was saved in, so after importing an old world, think about which area you want: the land around the original base follows the version the world was created in, and new chunks follow the current one. The troubleshooting guide has the full list of what moves between versions.

Worlds saved in snapshots import fine, with the version name rounded down to the nearest release. The generation itself may not match, since snapshots change weekly; the import gets you the seed and the spawn, and the version is your call.

Pre-1.16 worlds store the seed as RandomSeed and the importer reads it. Their terrain follows the old layer-based generator for 1.7 and later, which the engine supports; anything older than 1.7 is outside the version list.

Bedrock worlds

Bedrock's level.dat is a different file format, and .mcworld exports are zips of it, so neither can be imported. Read the seed from the world's settings instead: press the pencil icon next to the world on the Play screen, open Game, and copy the Seed field. Then choose Bedrock on the map and the version band that matches your game. The world seed guide covers each edition's settings in more detail.

Questions

Is my world uploaded when I import it?

No. The file is read in your browser and only the seed, spawn, version name and world name are extracted; the engine that draws the map runs on your device too.

Can I import a Bedrock world?

No. Bedrock's level.dat uses a different format and .mcworld files are zips of it. Read the seed from the world's settings and type it with Bedrock selected.

Why did the importer pick a version I do not recognise?

It chooses the newest entry in the version list that is not newer than the save's version name, so 1.21.8 shows as the 1.21.6 – 1.21.8 band. The generation is the same within a band.

The import worked but the structures near my base are wrong.

The version it set is the one the world was last played in. Older areas follow the version the world was created in; change the version box for those.

Can I import a server's world?

Yes, if you have the server's files: the world folder named in server.properties contains level.dat. Players without file access should ask an admin for the seed.

Written by the Minecraft Tools team from the same world-generation engine that runs the seed map. Coordinates quoted here were computed with it for the stated seed, edition and version, and the engine is tested against the real game.