---
title: "Minecraft WorldEdit: Selections, Brushes and Schematics"
description: "Use WorldEdit on a Minecraft server: make selections, run //copy and //paste, save and load schematics, bind brushes, undo mistakes and set safe limits."
url: "https://www.gameserverkings.com/knowledge-base/minecraft/worldedit-and-schematics/"
category: "Minecraft"
category_url: "https://www.gameserverkings.com/knowledge-base/minecraft/"
published: "2026-08-19T10:07:41.280Z"
updated: "2026-08-19T10:20:09.179Z"
source_format: "markdown"
site: "GameServerKings"
---

# Minecraft WorldEdit: Selections, Brushes and Schematics

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](/knowledge-base/minecraft/java-plugins/).

## 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](/knowledge-base/minecraft/choosing-server-software/) if you are not sure which you are running.

> [!IMPORTANT] 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](/knowledge-base/minecraft/luckperms-permissions/).

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.** `/undo` and `//undo` are the same command, as are `/redo` and `/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.

```text title="Select the floor, then take in the whole building"
//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?"

> [!TIP] You cannot see the selection without help
> Vanilla draws nothing. `//drawsel` renders 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.

> [!WARNING] `//regen` and `//set air` are not undoable by the world
> They are undoable by WorldEdit's own history, and only for as long as that history lasts. A `//regen` over 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](/knowledge-base/general/how-to-create-a-backup/).

## The Clipboard: Copy, Paste and Schematics

### Copy and paste

```text title="Copy a build and drop a second one where you stand"
//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:

- `-e` also handles entities (armour stands, item frames, paintings, mobs)
- `-b` also 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.

> [!NOTE] 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.

```text title="Save the clipboard, then load it back later"
//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.

> [!IMPORTANT] `.schem` and `.schematic` are different formats, and one is read-only
> WorldEdit 7 (from Minecraft 1.13 onwards) writes the **Sponge schematic format**, extension `.schem`. The older MCEdit-compatible `.schematic` format 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 `.schematic` files 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.

```text title="A stone sphere brush of radius 5, painting only onto grass"
/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.

> [!CAUTION] 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 `//undo` an 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](/knowledge-base/minecraft/allocating-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.

> [!TIP] CoreProtect logs WorldEdit
> If CoreProtect is installed, WorldEdit operations are logged like any other block change, and `r:#worldedit` scopes 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](/knowledge-base/minecraft/coreprotect-rollback/).

## 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 `//gmask` and 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.setnbt` permission. 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 formats` lists what is available. Files must sit in the schematics folder, not the WorldEdit folder itself.
- **`//undo` did 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](/knowledge-base/minecraft/worldguard-region-protection/).

### 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](/knowledge-base/minecraft/multiverse-multiple-worlds/).

### 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](/knowledge-base/general/how-to-upload-files-via-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](/knowledge-base/minecraft/diagnosing-lag-and-low-tps/).

## What to Read Next

- [How to install plugins for Minecraft Java Edition](/knowledge-base/minecraft/java-plugins/) for getting the jar onto the server
- [Minecraft WorldGuard: Region Protection Explained](/knowledge-base/minecraft/worldguard-region-protection/) for the plugin that turns a selection into a protected region
- [CoreProtect: Logging, Lookups and Rollbacks](/knowledge-base/minecraft/coreprotect-rollback/) for logging WorldEdit changes and undoing them precisely
- [How to Set Up LuckPerms Permissions for Minecraft](/knowledge-base/minecraft/luckperms-permissions/) for granting `worldedit.*` to the right people only
- [Minecraft Server RAM and JVM Flags](/knowledge-base/minecraft/allocating-ram-and-jvm-flags/) for the heap a large edit needs
- [Minecraft Grief Protection and Rollback](/knowledge-base/minecraft/grief-protection-and-rollback/) for how editing, protection and backups fit together
- [How to create a backup](/knowledge-base/general/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](https://worldedit.enginehub.org/en/latest/) — [installation](https://worldedit.enginehub.org/en/latest/install/), [configuration](https://worldedit.enginehub.org/en/latest/config/), [permissions](https://worldedit.enginehub.org/en/latest/permissions/), [selection](https://worldedit.enginehub.org/en/latest/usage/regions/selections/), [clipboard and schematics](https://worldedit.enginehub.org/en/latest/usage/clipboard/), [history](https://worldedit.enginehub.org/en/latest/usage/general/history/), [brushes](https://worldedit.enginehub.org/en/latest/usage/tools/brushes/), the [command reference](https://worldedit.enginehub.org/en/latest/commands/) and the [FAQ](https://worldedit.enginehub.org/en/latest/faq/); and the [WorldEdit project on Modrinth](https://modrinth.com/plugin/worldedit) for the current version and supported Minecraft versions.

---

Made with 💜 by GameServerKings
