Circle Generator

Generate perfect pixel circles and ovals for your Minecraft builds. Download as PNG or copy the block count.

Circle Preview

Blocks: 0 Size: 0 x 0

Minecraft Commands

Building round things out of square blocks

There is no such thing as a circle in a block world. What you can build is the set of blocks a circle passes through, and every circle chart is somebody's answer to the same question: which blocks are inside the shape and which are not. Answer it consistently and you get a circle that reads as round from every angle. Answer it by eye and you get a shape with a flat spot on one side that you will notice forever.

Odd diameters have a centre; even diameters do not

This is the single most useful thing to know before you start placing blocks. An odd diameter — 7, 9, 15, 21 — has one block dead in the middle, so it has four axes of symmetry and a natural place to put a pillar, a beacon or a spawner. An even diameter has a two-by-two block at its centre and a seam running through it.

The practical consequence is about what you are building around. Centring a circle on a single existing block means an odd diameter. Centring it on the corner where four chunks or four blocks meet means an even one. Picking the wrong parity is the reason a tower ends up one block off-centre inside its own base.

In this tool, diameter mode is the only mode that can produce an odd diameter. Radius mode always yields a grid of twice the radius, so it is always even.

Block counts by diameter

Filled counts are for a solid disc; outline counts are for a one-block-thick ring. Multiply by the height for a cylinder, or by the number of layers for a wall.

DiameterFilledOutlineDiameterFilledOutline
521121517740
632201620852
737161722548
852201825648
969321929368
1080282031660
1197282134956
12112322238468
13137402342172
14156442444864

The filled column climbs smoothly, roughly with the square of the diameter, exactly as area should. The outline column does not, and that surprises people: a 7-wide ring needs 16 blocks while a 6-wide ring needs 20. A one-block outline is the gap between two shapes, and how many cells fall into that gap depends on where the grid happens to cut the curve. At some diameters the ring runs cleanly along cell edges and stays thin; at others it catches doubled cells on the diagonals. Neither is a mistake, and both look correct in the world.

Reading the /fill commands

The commands generated above lay the circle flat in the XZ plane at a single Y, one command per horizontal run of blocks. Each run becomes a /fill, except single blocks, which become /setblock — filling a one-block region works, but it wastes a command slot and reads badly in a chain.

Two practical notes. Commands typed into chat need the leading slash; pasted into a command block, drop it. And the volume of a single /fill is capped — since Java Edition 1.19.4 that cap is a gamerule rather than the old hardcoded 32,768 blocks — which is why this tool emits one command per row instead of trying to do a whole disc at once. A 128-wide circle never comes close to the limit that way.

To build a cylinder, run the same set of commands at each Y. To build a dome, generate a circle for each layer, shrinking the diameter as you go up.

Common mistakes

The circle looks lumpy in one place

Almost always a miscount while placing blocks, not a bad chart. Build the four cardinal points first, then fill in one quadrant and mirror it. The tool's centre marker exists for exactly this: it shows you the axes to measure from, and it is a guide only — it is never included in the block count or placed by the generated commands.

Two concentric circles do not look concentric

Check the parity. An odd circle inside an even one cannot be concentric, because their centres are half a block apart. Keep both odd or both even.

The oval looks like a stretched circle rather than an oval

That is what it is. The outline thickness is applied to each radius separately, so a very elongated oval has a visibly thicker outline at the ends of its short axis. Reduce the thickness to 1 for the cleanest result on extreme ratios.

Sources

The test this tool applies

Every cell in the grid is tested independently. A cell is filled when its centre point lies inside the ellipse. Written out, with the grid centre at (cx, cy) and radii rx and ry:

dx = (x + 0.5 − cx) ÷ rx
dy = (y + 0.5 − cy) ÷ ry
fill if dx² + dy² ≤ 1

Dividing by the radius before squaring normalises the ellipse to a unit circle, so one test covers circles and ovals alike with no special case for either.

Why not Bresenham

The midpoint circle algorithm, derived from Bresenham's line algorithm, is the usual answer for drawing a circle on a pixel grid. It is not the right answer here. It traces a one-pixel outline using eight-way symmetry and integer arithmetic, which is excellent when you are drawing a thin circle on a screen and want to avoid division. A block builder needs something different: filled discs, outlines of arbitrary thickness, and ellipses with independent radii. The containment test gives all three from one expression, and at these sizes — a few thousand cells at most — the cost of the arithmetic is irrelevant.

The +0.5, and why parity works

Cells are sampled at their centres, not their corners. That single half-block offset is what makes both odd and even diameters come out symmetric. On an odd diameter the middle cell's centre sits exactly on the axis and it is included; on an even diameter the two middle cells sit half a block either side and are treated identically. Sampling at corners instead biases every circle one cell up and to the left.

Thickness

An outline is the region between two ellipses. A cell is filled when it is inside the outer ellipse and outside an inner one whose radii are each reduced by the thickness:

inner rx = max(0, rx − t)
inner ry = max(0, ry − t)
fill if inside outer and not inside inner

Because the reduction is applied to each radius separately, the outline of an oval has constant thickness in cells along each axis rather than constant perpendicular thickness. When the thickness reaches the radius the inner ellipse vanishes and the result is a solid disc, which is why a thick enough outline and a filled circle converge.

Radius mode and diameter mode

Diameter mode produces a grid exactly as wide as the number you type, so it is the only way to get an odd diameter. Radius mode produces a grid of 2r, always even, measured from the corner point where four cells meet rather than from the middle of a block. If you want a circle with a single block at its centre, use diameter mode with an odd number.

References