Article — Minecraft Circle Generator
Minecraft circle generator: pixel-perfect rings and discs
A pixel circle in Minecraft is a rasterized circle - the integer-coordinate cells closest to a continuous circle of a given diameter. The standard algorithm was published by Jack Bresenham at IBM in 1965, used in every computer graphics pipeline since, and is now used by millions of players to build round towers and domes out of square blocks.
The generator at the top of this page produces the exact block chart for any diameter from 3 to 64. The article below explains the algorithm, why circles look chunky at small sizes, and how to use the chart for towers, domes, and ovals.
Why circles are hard on a block grid
Minecraft is built on a uniform grid of 1m cubes. Every block is at integer coordinates. A continuous circle has irrational coordinates almost everywhere on its boundary, so the best you can do on a grid is pick the cells closest to that boundary. The result is a polygonal approximation that becomes visually circular only when the radius is large compared to the cell size.
This is the same problem old cathode-ray displays and dot-matrix printers had to solve in the 1960s and 1970s. Pixels were huge by today's standards, and curves had to be drawn one pixel at a time with no floating-point math. The algorithms developed for that hardware are still the basis of every line, circle, and arc you see on a modern screen.
The midpoint algorithm (Bresenham, 1965)
Jack E. Bresenham, working at IBM in the early 1960s, published his line-drawing algorithm in IBM Systems Journal in 1965. The trick was simple in hindsight: starting from a candidate pixel, evaluate a decision function at the midpoint between the two next-possible pixels. The sign of the result tells you which to plot. No multiplications, no divisions, no square roots. Just integer addition.
The line algorithm extended to circles within a few years (Pitteway, 1967; Van Aken, 1984). For a circle of radius r centred at the origin, the decision function is:
f(x, y) = x² + y² − r² (decision function)f < 0 midpoint inside circle → pick upper pixelf ≥ 0 midpoint outside circle → pick lower pixel8-way symmetry compute octant, mirror 7×The algorithm computes one octant - the 45-degree arc from (r, 0) to (r/√2, r/√2) - and uses the eight symmetries of the circle to plot the rest. That cut the work by 8× on the slow CPUs of 1960s mainframes and is still useful in graphics drivers today.
Jack E. Bresenham developed the original line and circle algorithms at IBM in the 1960s. His 1965 algorithm has been cited tens of thousands of times in computer science. The original publication ran to fewer than three pages and described a "plotter," not a screen - the algorithm was intended for the mechanical drum plotters IBM was selling in the early 1960s. It is now baked into hardware in every graphics card on Earth, and into the brain of every Minecraft player who has built a round tower.
How this generator works
The generator above uses a slightly different but equivalent approach: distance from centre. For each cell (x, y) on a square grid of side d, it computes the distance from the cell's centre to the circle's centre. If that distance is at most the radius, the cell is part of the filled disc.
For a hollow ring, the generator filters further: a cell is in the ring only if it is in the disc and at least one of its four orthogonal neighbours is outside the disc. That definition gives the outermost ring exactly, with no gaps and no extra-thick stretches, matching what Bresenham's midpoint algorithm produces for the same radius.
The two formulations give identical results on integer grids and integer radii. The distance method uses one square root per cell and is easier to read; the midpoint method uses only integer arithmetic and was faster on 1960s hardware. On a modern computer the difference is well under a millisecond either way.
Good diameters for builds
Circles at small diameters look chunky. At diameter 3 you get a five-block plus shape; at diameter 5 you get a diamond with rounded corners. The minimum diameter for a "real-looking" circle is 7, and from 11 upward the circle reads as round in-game from any viewing angle.
- d = 3: a plus / cross. 5 disc blocks.
- d = 5: a diamond / chunky plus. 13 disc blocks.
- d = 7: smallest "real" circle. 37 disc blocks.
- d = 11: smooth, reads as round from any angle. 89 disc blocks.
- d = 15: very smooth, good for medium towers. 177 disc blocks.
- d = 21: near-perfect, common for arenas. 349 disc blocks.
- d = 25: classic "perfect circle" preset. 489 disc blocks.
- d = 51: massive structure, ~2,000 disc blocks.
Spheres, domes, and stacked circles
A sphere in Minecraft is a stack of circular cross-sections. For a sphere of total diameter D, the equator (middle layer) is a circle of diameter D. Each layer above or below the equator uses a smaller circle, with diameter given by:
r_y = √(R² − (y − R)²), where R = D/2 and y is the layer index from 0 to D − 1.
To build a dome, take the top half of a sphere - layers from the equator up. To build a hemispherical lake, take the bottom half and dig instead of place. The mainstream Minecraft mapping tools (WorldEdit's //sphere and //hsphere, Litematica's sphere shapes) automate this; building by hand is tedious but works for small spheres up to about diameter 21.
Domes look better with slightly oblate proportions in Minecraft - height closer to 0.85× the equator diameter rather than 1.0×. A perfect hemisphere reads as visually tall in first-person because of the camera FOV. Trim the top 2-3 layers of a 21-diameter dome and the result looks more architecturally correct.
Odd vs even diameter - why it matters
An odd diameter (7, 9, 11,...) produces a single central block. The circle has perfect 4-fold rotational symmetry. Odd is the right choice for towers, fountains, watchtowers, and any structure with a single central feature (a spiral staircase, a beacon, a banner pole).
An even diameter (8, 10, 12,...) has a 2×2 centre and no single block at the middle. The symmetry is still 4-fold but offset by half a block. Even diameters are good for floor pads, helipads, and large open discs where the centre is just part of the floor. They look slightly off when used for towers because the "middle" of the tower is not a block but a corner.
A common beginner error is to use diameter 8 or 10 for a tower, then place a beacon or banner in the middle. There is no middle. You will end up with the feature offset by half a block in two directions, and the structure looks subtly wrong. Use diameter 7, 9, or 11 instead for any tower with a central feature.
Beyond circles - ovals, arcs, partial rings
The same rasterization principle covers other shapes. An oval (ellipse) uses two radii instead of one and the inequality (x/a)² + (y/b)² ≤ 1. Stadiums, racetracks, and elongated arenas are typical use-cases.
Partial rings (arcs) - useful for amphitheatres, balconies, and crescent moons - take a ring and mask off the parts you do not want. Most Minecraft mapping tools have an //arc or //sphere command that handles this with two angle parameters; building by hand means generating the full ring and removing blocks by sector.
Concentric circles (multiple rings of increasing radius around a common centre) are used for clock faces, mandala patterns, and large mosaic floors. Generate each ring separately and stack them - or use a filled disc with rings of different-coloured blocks for a mosaic effect.
Common build mistakes
Using a tiny diameter for a hollow tower. A diameter-5 hollow ring leaves no usable interior - it is a single-block-thick wall around a 3×3 floor. For walk-in towers, diameter 11 is the minimum for a comfortable interior; 15 is better.
Assuming the algorithm gives 8-fold symmetry on every diameter. The midpoint algorithm is 8-symmetric, but at small diameters the result can look 4-symmetric instead because half the symmetry pixels coincide. The asymmetry only emerges from diameter 9 upward.
Stacking identical circles for a "sphere." A cylinder of stacked identical circles is not a sphere - it is a cylinder. The layer diameters must shrink with distance from the equator using r_y = √(R² − y²). The generator above does one layer; for a full sphere, use a sphere generator or WorldEdit's //sphere command.
Counting blocks by the formula πr². The continuous-circle area formula is a good estimate but not the exact count. Rasterization can produce slightly more or fewer cells depending on whether the radius lands cleanly on a half-integer. The generator's reported count is exact; the formula's value is within a few percent for any practical diameter.