Minecraft WorldEdit: Selections, Brushes and Schematics
Use WorldEdit on a Minecraft server: make selections, run //copy and //paste, save and load schematics, bind brushes, undo mistakes and set safe limits.
Somebody on your server wants to build a 200-block castle, and doing it by hand is not going to happen. WorldEdit is the answer, and it is also the plugin half your other plugins quietly depend on — WorldGuard cannot define a region without it, and CoreProtect can scope a rollback to a WorldEdit selection.
It is worth being clear about what WorldEdit is and is not. It is an in-game map editor: you tell it an area, then you tell it what to do to that area. It is not a protection plugin, it has no permissions model of its own beyond the nodes below, and it will happily let a trusted builder flatten spawn in one command. Installing it is a decision about who you trust.
This guide covers selections, the region and clipboard commands, schematic files, brushes, undo, and the limits you should set before you hand it to anyone. Installing plugins in general is covered in How to install plugins for Minecraft Java Edition.
Installing WorldEdit
WorldEdit is one of the rare projects that ships for both plugin and mod platforms from the same download page. Get it from Modrinth, and pick the build that matches your server:
| Server type | Where the jar goes | Config file |
|---|---|---|
| Paper, Spigot, Purpur | plugins/ |
plugins/WorldEdit/config.yml |
| Fabric, NeoForge | mods/ |
config/worldedit/worldedit.properties |
| Sponge | mods/ |
config/worldedit/worldedit.conf |
WorldEdit does not run on Bedrock Edition, Realms or Minecraft for Windows — those have no mod support to hook into. It also cannot be used on a plain vanilla server jar, which cannot load plugins at all; see Minecraft Server Software Compared if you are not sure which you are running.
Nobody can use WorldEdit until you grant permissions
WorldEdit's own documentation opens with this: "By default, no one can use WorldEdit." On a Bukkit-family server, operators get everything unless you disable that; otherwise you must hand out permission nodes through a permissions plugin.
worldedit.*grants the lot and is the usual node for administrators. On Fabric and NeoForge only operators can use it on a server, and in single player it needs cheats enabled. See How to Set Up LuckPerms Permissions for Minecraft.
As of 19 August 2026 the current release is WorldEdit 7.4.5, published 9 August 2026, and it supports Minecraft 26.2 on Bukkit, Paper, Spigot, Folia, Fabric and NeoForge.
Why some commands start with two slashes
This trips up everyone on day one. WorldEdit splits its commands across two prefixes, and the split is consistent:
- Anything that acts on your selection or clipboard uses
//—//set,//replace,//copy,//paste,//pos1,//expand. - Tools, brushes and navigation use a single
/—/brush,/mask,/material,/jumpto,/ascend,/thru. - History commands accept either.
/undoand//undoare the same command, as are/redoand/clearhistory.
If a command "does not exist", the slash count is the first thing to check.
Selections
A selection is the area WorldEdit will act on. Everything in the next section operates on it, and WorldGuard reads it to define a region.
Getting the two corners
//wand hands you the selection wand, which is a wooden axe by default. Left-click a block to set position 1, right-click to set position 2. Those two blocks are opposite corners of a cuboid, and the cuboid is always axis-aligned — you cannot select a rotated box.
If carrying an axe is awkward, there are three alternatives:
| Command | Sets the corner to |
|---|---|
//pos1 / //pos2 |
The block above the one you are standing on — useful when you are flying |
//pos1 x,y,z / //pos2 x,y,z |
Exact coordinates you already know |
//hpos1 / //hpos2 |
The block you are looking at, however far away |
//chunk |
The whole chunk you are standing in. //chunk -s selects every chunk your current selection touches |
You can bind the wand to a different item with /tool selwand while holding it, or change wandItem in the config.
Adjusting it afterwards
Most people select the footprint at ground level and then grow it vertically.
//expand 10 up
//expand 5 down //expand <amount> [direction] takes N, S, E, W, U, D, or relative directions F, B, L, R. Leave the direction off and it expands the way you are facing. //expand vert stretches the selection from sky to bedrock in one go, and //expand 10 n,w grows two directions at once. //contract works identically in reverse. //outset and //inset grow or shrink every face at once, //shift moves the whole box without resizing it, and //trim shrinks it to fit the blocks actually inside.
//size reports the dimensions and block count, //count <mask> counts matching blocks, and //distr breaks the selection down by block type — the fastest way to answer "how much stone is in here?"
You cannot see the selection without help
Vanilla draws nothing.
//drawselrenders a server-side outline, but only for cuboid selections up to 48×48×48 and only in creative mode, because it is built on structure blocks. For everything else, builders use a client-side mod such as WorldEdit CUI. That is a per-player client install; it changes nothing on the server.
Cuboids are the default, but //sel poly, //sel convex, //sel ellipsoid, //sel sphere and //sel cyl switch modes. Polygonal and convex selections are capped at 20 points by default (maxPolygonalPoints and maxPolyhedronPoints).
Changing the Selection
These are the commands the selection exists for. All of them respect masks and patterns, so //set sandstone,glass gives you a 50/50 mix and //set stone_bricks,cracked_stone_bricks,mossy_stone_bricks gives you a weathered wall.
| Command | What it does |
|---|---|
//set <pattern> |
Fill every block in the selection |
//replace [from] <to> |
Replace matching blocks only — //replace sandstone dirt |
//overlay <pattern> |
Put a block on top of every surface block |
//walls <pattern> |
Build the four sides |
//faces <pattern> |
Build walls, floor and ceiling |
//hollow [thickness] [pattern] |
Empty out the inside of a solid shape |
//smooth [iterations] [mask] |
Smooth the terrain elevation |
//naturalize |
Three layers of dirt on top, stone below |
//move [count] [offset] |
Move the contents somewhere else |
//stack [count] [offset] |
Repeat the contents in the direction you are facing |
//regen [-b] [seed] |
Regenerate the selection from world generation |
//line / //curve |
Draw a line or spline between selection points |
//forest [type] [density] / //flora [density] |
Plant trees or ground cover |
//set air clears an area. //regen is the one to reach for when you want terrain back the way the generator made it — add -b to regenerate biomes too, and give it a seed if you want different terrain.
//regenand//set airare not undoable by the worldThey are undoable by WorldEdit's own history, and only for as long as that history lasts. A
//regenover a player's base destroys the base and every chest in it. Take a backup from the Backups tab before any large destructive edit — see How to create a backup.
The Clipboard: Copy, Paste and Schematics
Copy and paste
//copy
//paste The single most important thing about //copy is that it records where you were standing relative to the copy. Paste it later and it lands in the same relative position. Stand on top of a castle when you copy it and //paste puts the castle under you; stand at its front door and it appears around your feet. Plan where you stand before you copy.
//cut copies and then deletes the original, leaving air unless you name a block to leave behind. Three flags apply to //copy, //cut and //paste alike:
-ealso handles entities (armour stands, item frames, paintings, mobs)-balso handles biomes-m <mask>restricts which blocks are involved
//paste adds a few of its own: -o pastes at the original coordinates rather than relative to you, -a skips air blocks so you paste a building into terrain without punching a hole around it, -s selects the pasted area afterwards, and -n shows you where the paste would land and selects it without pasting anything.
//rotate 90 turns the clipboard around the vertical axis — angles must be multiples of 90, and rotation happens around the point you were standing at when you copied. //flip [direction] mirrors it. /clearclipboard empties it.
Your clipboard and history live in a session, not on disk
Sessions survive for 10 minutes after a player logs off. Log back in inside that window and your clipboard and undo history are still there; come back the next day and they are gone. Anything you want to keep must be saved as a schematic.
Schematics
A schematic is a clipboard saved to a file. This is how builds move between worlds, between servers, and between people.
//schem save spawn_cathedral
//schem load spawn_cathedral
//paste | Command | What it does |
|---|---|
//schem save [-f] <name> |
Save the clipboard. -f overwrites an existing file |
//schem load <name> |
Load a file into your clipboard |
//schem list [-dn] [-p <page>] |
List saved schematics. -n sorts newest first, -d oldest first |
//schem delete <name> |
Delete a saved schematic |
//schem formats |
List the formats this server can read and write |
//schem share [name] |
Upload the clipboard and get a share link |
Files live in the schematics folder inside WorldEdit's config folder — plugins/WorldEdit/schematics on Paper, Spigot and Purpur, or config/worldedit/schematics on Fabric and NeoForge. The folder is not created until you save your first schematic; if you have downloaded a schematic and want to drop it in, create the folder yourself. The save and load commands accept folder/file, so //schem save builds/cathedral organises them into subfolders.
.schemand.schematicare different formats, and one is read-onlyWorldEdit 7 (from Minecraft 1.13 onwards) writes the Sponge schematic format, extension
.schem. The older MCEdit-compatible.schematicformat could not represent the modern block format, so WorldEdit can still import those files through a legacy compatibility layer but can no longer write them. A download site offering only.schematicfiles still works; you just cannot save back to it.
Both the copy's origin and your offset to it are stored in the file, so a schematic pastes relative to you exactly as the original copy did. Third-party tools that write the format do not always store that offset.
//schem share uploads to the EngineHub Paste Service by default and gives you a link. Those uploads are deleted after one month — it is a way to hand a build to somebody, not a backup.
Brushes
A brush turns an item into a terrain-sculpting tool. Bind one, then right-click at range to apply it. Brushes are how large natural terrain actually gets built.
/brush sphere stone 5
/mask grass
/material red_wool,green_wool
/brush none | Brush | Command |
|---|---|
| Sphere | /brush sphere [-h] <pattern> [radius] — -h for hollow |
| Cylinder | /brush cylinder [-h] <pattern> [radius] [height] |
| Set | /brush set <shape> [size] <pattern> — the only one that does cubes |
| Clipboard | /brush clipboard — stamps your clipboard at the target point |
| Smooth | /brush smooth [radius] [iterations] [mask] |
| Gravity | /brush gravity [radius] — drops floating blocks straight down |
| Forest | /brush forest <shape> [radius] [density] <tree type> |
| Extinguish | /brush extinguish [radius] — a fire-masked air sphere |
| Butcher | /brush butcher [radius] — kills entities, hostile only by default |
| Deform / raise / lower | /brush deform, /brush raise, /brush lower |
| Biome | /brush biome <shape> [radius] <biomeType> |
Four settings apply to whichever brush you currently hold: /mask limits which blocks it affects, /size sets the radius, /material sets the pattern, and /range sets how far it will reach. /tracemask controls what the ray tracer passes through — /tracemask #solid lets a brush reach through water, which is how underwater terrain gets built. /brush none (or /tool none) unbinds it.
Brush radius is capped by maxBrushRadius, which defaults to 6. Raise it in the config if your builders need more.
History, Limits and Not Breaking the Server
Undo
Every WorldEdit action, from a command or a brush, goes into your session history — the last 15 actions by default. //undo reverses the most recent one and //undo 5 reverses the last five. //redo puts them back. /clearhistory wipes your history.
Staff with the right permission can undo somebody else's work with //undo <number> <player>, and thanks to sessions that still works for 10 minutes after that player has logged off. This is the fastest way to deal with a builder who has just made a very large mistake.
Undo only reverses what WorldEdit directly changed
WorldEdit records direct changes. Knock-on effects — water that started flowing, doors and signs and tall grass that popped off when their support vanished, sand that fell — are not in the history and will not come back. For a build with a lot of attached blocks, this makes
//undoan approximate repair rather than an exact one.
Per-player limits
This is the part most servers skip and later regret. WorldEdit's default block change limit is unlimited (defaultChangeLimit: -1, maxChangeLimit: -1). One player with a fat-fingered //set and no limit can lock a server up.
| Config setting | Default | What it caps |
|---|---|---|
defaultChangeLimit |
-1 |
Blocks changed in one operation, for everyone |
maxChangeLimit |
-1 |
The highest limit a player may set with //limit |
maxBrushRadius |
6 |
Brush size |
maxRadius |
-1 |
Radius for commands that take one |
maxSuperPickaxeSize |
5 |
Super pickaxe area |
maxPolygonalPoints |
20 |
Points in a //sel poly selection |
Set defaultChangeLimit to something survivable — a few hundred thousand — and maxChangeLimit higher for the people who need it. In game, //limit <n> changes a player's own limit up to that ceiling, and worldedit.limit.unrestricted exempts a player from it entirely. Give that node to nobody you would not give /stop to.
A big edit also needs memory. WorldEdit's own guidance is roughly 1 GB for the server plus 2 GB for every ten million blocks you are editing — a 50 million block operation wants about 11 GB of heap. Heap sizing is covered in Minecraft Server RAM and JVM Flags. If the server dies mid-edit rather than finishing slowly, raise timeout-time in spigot.yml; that is the watchdog, not WorldEdit.
CoreProtect logs WorldEdit
If CoreProtect is installed, WorldEdit operations are logged like any other block change, and
r:#worldeditscopes a rollback to your current selection. That combination — select the damage, roll back only that — is the cleanest repair there is. See CoreProtect: Logging, Lookups and Rollbacks.
Common Issues
- Every command says "you do not have permission". WorldEdit grants nothing by default. Op yourself, or grant
worldedit.*through LuckPerms. - Commands return "0 blocks changed". A global mask is set. Clear it with
//gmaskand no argument. - The selection includes a block at (-1, -1, -1). A known conflict with a client-side mod. Use the long-range wand (
/tool farwand) or remove the mod. - Signs, chests or entities paste empty. Setting block entities needs the
worldedit.setnbtpermission. On Bukkit servers WorldEdit also needs a version-specific adapter, which is why a Minecraft update usually means updating WorldEdit before block entities work again. - The server crashes on a large edit. Not enough heap, or the watchdog killed it. Both are covered above.
- A schematic will not load. It may be a format this build cannot read —
//schem formatslists what is available. Files must sit in the schematics folder, not the WorldEdit folder itself. //undodid not restore everything. Indirect changes are not recorded. Restore from a backup if the difference matters.- A brush builds in mid-air. Its range is shorter than the distance to the ground; raise it with
/range.
FAQ
Does WorldGuard need WorldEdit, or the other way round?
WorldGuard needs WorldEdit — specifically the Bukkit build of it — because WorldEdit is what selects the area a region covers. WorldEdit does not need WorldGuard. See Minecraft WorldGuard: Region Protection Explained.
Can players use WorldEdit in survival?
They can, if you give them the nodes. Most servers do not. The usual arrangement is WorldEdit for staff and builders only, with a creative build world where they use it — see Multiverse: Running Several Worlds on One Minecraft Server.
Does WorldEdit work on Fabric and NeoForge?
Yes. The same version number ships for both, and 7.4.5 supports 26.2 on Fabric and NeoForge as well as the Bukkit family. Note that WorldGuard does not, so a Fabric server gets the editing without the protection.
How do I move a build to another server?
//copy, //schem save <name>, download the .schem file from plugins/WorldEdit/schematics over SFTP, upload it into the same folder on the other server, then //schem load <name> and //paste.
Why do my pastes land in the wrong place?
Because the paste is relative to where you stood when you copied. Use //paste -o to put it back at its original coordinates, or //paste -n first to select the target area without pasting so you can see where it would go.
Will WorldEdit lag my server?
A large operation absolutely will, because it is doing real work. That is what limits are for. Chronic lag that is not tied to a specific edit is a different problem — see Diagnosing Minecraft Server Lag.
What to Read Next
- How to install plugins for Minecraft Java Edition for getting the jar onto the server
- Minecraft WorldGuard: Region Protection Explained for the plugin that turns a selection into a protected region
- CoreProtect: Logging, Lookups and Rollbacks for logging WorldEdit changes and undoing them precisely
- How to Set Up LuckPerms Permissions for Minecraft for granting
worldedit.*to the right people only - Minecraft Server RAM and JVM Flags for the heap a large edit needs
- Minecraft Grief Protection and Rollback for how editing, protection and backups fit together
- How to create a backup — take one before any destructive edit
Primary sources used for this guide (all checked 19 August 2026): the official WorldEdit documentation — installation, configuration, permissions, selection, clipboard and schematics, history, brushes, the command reference and the FAQ; and the WorldEdit project on Modrinth for the current version and supported Minecraft versions.
Made with 💜 by GameServerKings

Need a Minecraft server?
Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $4.80 /month