MC ToolboxMC TOOLBOX

Mob Spawner Generator

Configure any spawner - outputs /setblock and /give for Java 1.21+ and legacy.

/summon Generator
Select Mob

MC Toolbox . Mob Spawner Generator

Honestly I just got tired of typing
the same NBT string over and over.

Every time I wanted a custom spawner in a map I was building, I had to look up the NBT keys, remember whether it was MinSpawnDelay or min_spawn_delay, figure out whether the 1.21 give command uses block_entity_data or BlockEntityTag, and then copy-paste it wrong anyway. So I built this. Pick a mob, drag a few sliders, copy the command. That's it.

If it saves you five minutes on your next build, great. If you use it to make a skeleton spawner that launches arrows at your friends, that's also acceptable. No judgment here.

📦
Three command formats
Outputs /setblock for placing directly in the world, /give for Java 1.21+ using data components, and a legacy /give with BlockEntityTag for older versions.
🎛️
All six spawner parameters
Spawn count, minimum and maximum delay, max nearby entities, required player range, and spawn radius. Every setting the game actually reads.
Updates as you drag
Commands regenerate instantly on every change. No submit button, no page reload. Change the mob and the delay updates in the same breath.
🧠
Min and max stay in sync
Drag the minimum delay above the maximum and the maximum follows automatically. You can not accidentally write a command that Minecraft would silently ignore.

Questions people actually ask

How do I use this? Start here.
Three steps. First, pick a mob from the list on the left. Second, adjust the sliders to control how the spawner behaves. Third, copy one of the three commands at the bottom and run it in your world. That is the whole thing.
How do I find the X Y Z coordinates to use with /setblock?
Press F3 in Java Edition to open the debug screen. Look for "XYZ" on the left side, it shows your exact position in blocks. Walk to the spot where you want the spawner, note the three numbers, and type them into the X Y Z fields. Alternatively, leave them as ~ ~ ~ and the spawner will be placed right at your feet when you run the command.
Which command should I use, /setblock or /give?
Use /setblock if you want to place the spawner at a specific coordinate right now. Use /give if you want to hand the spawner to a player as an item so they can place it themselves. The 1.21+ give command uses the new data component format. If you are on an older version, grab the Legacy one.
What does Spawn Count actually control?
It is how many mobs the spawner tries to spawn per activation. The keyword is "tries" because the game also checks the Max Nearby Entities cap before each attempt. If four zombies are already standing next to the spawner and your cap is four, nothing spawns even if Spawn Count is set to eight.
What is the difference between Spawn Range and Required Player Range?
Spawn Range is the radius around the spawner block where mobs can actually appear. Required Player Range is how close a player needs to be for the spawner to start ticking at all. If no player is within that radius, the spawner is completely dormant, which is the intended vanilla behavior.
Why are the delays in ticks instead of seconds?
Because Minecraft internally uses ticks and the NBT stores tick values. Twenty ticks equal one second, so the tool shows the conversion next to each slider. The default range is 200 to 800 ticks, which is 10 to 40 seconds, the same range vanilla dungeon spawners use.
Can I spawn any mob, including bosses?
Yes. The list includes everything from zombies and blazes to wardens and iron golems. A spawner technically accepts any entity ID. Whether the result is fun or a disaster in your world is entirely your problem.
Does this work on Bedrock Edition?
The commands here are Java Edition NBT format. Bedrock uses a completely different spawner system and does not support custom spawner commands in the same way. If you are on Bedrock you would need to use behavior packs instead.
Will the generated command work in command blocks?
Yes, both /setblock and /give work inside command blocks. The commands can get long, especially with all six parameters, but command blocks handle them fine. Just paste the whole thing in.