Banner Maker

Design custom banners with all Minecraft patterns. Drag layers to reorder. Get crafting recipes and /give commands.

Commands

Bedrock's /give takes <item> [amount] [data] [components], and its components argument accepts only can_place_on, can_destroy, item_lock and keep_on_death. There is no argument for banner patterns, so this command can only hand you the blank base banner — build the layers above on a loom.

Banner patterns: the full reference

A banner is two separate things stacked together. The base colour is baked into the item itself — there are sixteen distinct items, from white_banner to black_banner, and nothing you do at a loom changes which one you are holding. Everything drawn on top is a pattern layer: a shape plus a dye colour, stored as a list on the item. Understanding that split explains most of what confuses people about banners, including why you cannot recolour a finished banner and why the base colour never appears in a pattern list.

The loom, and the six-layer ceiling

Since Java Edition 1.14 the loom is where patterns are applied. It takes the banner, one dye, and optionally a Banner Pattern item, and it consumes one dye per layer. A loom will apply at most six layers; the seventh is refused. Commands and external editors are not bound by that limit — a banner obtained through /give can carry more than six layers, and the game will draw up to sixteen of them before it stops rendering the rest.

Layers are drawn in list order, each one painted over everything below it. Two banners with the same layers in a different order are different banners, and there is no way to reorder layers in-game short of starting again. That is the reason this tool lets you drag layers around before you commit to the dye cost.

Which patterns need a Banner Pattern item

Most patterns need nothing but a dye. Ten of them are gated behind a Banner Pattern item, which is placed in the loom's third slot and is not consumed. Two of those ten were free until recently: Field Masoned (bricks) and Bordure Indented (the curly border) were removed from the loom's no-item list in Java Edition 1.21.2, so guides written before that release will tell you they cost only a dye. They no longer do.

Every pattern, with both sets of identifiers

Java Edition dropped the short codes in 1.20.5. Bedrock Edition still uses them, and so does any Java world running 1.20.4 or earlier, which is why both columns matter. The heraldic name in the first column is what the game shows on the item tooltip.

In-game nameJava resource nameCodeWhat it draws
Fully coloured fieldbasebThe whole field
Basestripe_bottombsBottom third coloured
Chiefstripe_toptsTop third coloured
Pale Dexterstripe_leftlsLeft third coloured
Pale Sinisterstripe_rightrsRight third coloured
Palestripe_centercsCentre vertical line
Fessstripe_middlemsCentre horizontal line
Bendstripe_downrightdrsLine, upper-left to lower-right
Bend Sinisterstripe_downleftdlsLine, upper-right to lower-left
Palysmall_stripesssVertical pinstripes
SaltirecrosscrAn X shape
Crossstraight_crossscAn upright cross
Per Bend Sinisterdiagonal_leftldSplit diagonally, upper-left half
Per Benddiagonal_rightrudSplit diagonally, upper-right half
Per Bend Inverteddiagonal_up_leftludSplit diagonally, lower-left half
Per Bend Sinister Inverteddiagonal_up_rightrdSplit diagonally, lower-right half
Per Palehalf_verticalvhSplit vertically, left half
Per Pale Invertedhalf_vertical_rightvhrSplit vertically, right half
Per Fesshalf_horizontalhhSplit horizontally, top half
Per Fess Invertedhalf_horizontal_bottomhhbSplit horizontally, bottom half
Base Dexter Cantonsquare_bottom_leftblSquare in lower-left corner
Base Sinister Cantonsquare_bottom_rightbrSquare in lower-right corner
Chief Dexter Cantonsquare_top_lefttlSquare in upper-left corner
Chief Sinister Cantonsquare_top_righttrSquare in upper-right corner
Chevrontriangle_bottombtTriangle at the bottom
Inverted Chevrontriangle_topttTriangle at the top
Base Indentedtriangles_bottombtsScallop shapes at the bottom
Chief Indentedtriangles_topttsScallop shapes at the top
RoundelcirclemcCircle in the centre
LozengerhombusmrRhombus in the centre
BordureborderboPlain border
GradientgradientgraColour at the top, fading down
Base Gradientgradient_upgruColour at the bottom, fading up
Bordure Indentedcurly_bordercboFancy border — needs a pattern item
Field MasonedbricksbriBrick pattern — needs a pattern item
Flower ChargeflowerfloFlower icon — needs a pattern item
Creeper ChargecreepercreCreeper face — needs a pattern item
Skull ChargeskullskuSkull and crossbones — needs a pattern item
ThingmojangmojFormer Mojang Studios logo — needs a pattern item
GlobeglobeglbCube-shaped earth — needs a pattern item
SnoutpiglinpigPiglin snout — needs a pattern item
FlowflowflwSpiral shape — needs a pattern item
GustergustergusBreeze body — needs a pattern item

mc is the Roundel — a plain circle. It is not the Mojang pattern, which is moj. The two are confused often enough that copied-and-pasted commands regularly put a circle where somebody wanted a logo.

The 1.20.5 command break

Java Edition 1.20.5 replaced item NBT with item components, and banner commands were among the casualties. The old form put a BlockEntityTag compound in braces after the item id and identified patterns by short code and colour number. The new form puts a banner_patterns component in square brackets and identifies patterns by resource name and colour name.

A 1.20.4 command pasted into a current server does not silently degrade — it fails to parse. This tool emits both forms so you can take whichever one your server understands. The same banner_patterns component also works on shields; a shield without an explicit base_color component is treated as white.

Bedrock numbers run backwards

Bedrock Edition still addresses banners by numeric data value, and its numbering is the exact reverse of the order Java uses for dyes. In Java, 0 is white and 15 is black. In Bedrock, 0 is black and 15 is white, with every colour between mirrored the same way — so the Bedrock data value is 15 minus the Java number. Getting this backwards is a quiet failure: the command succeeds and hands you a perfectly good banner in completely the wrong colour.

Bedrock's /give also has no way to express pattern layers. Its signature is /give <player> <item> [amount] [data] [components], and the components argument understands only can_place_on, can_destroy, item_lock and keep_on_death. On Bedrock, the loom is the only route to a patterned banner.

Things that catch people out

Why does my banner look nothing like the preview?

Almost always layer order. The preview here draws layers bottom-to-top exactly as the game does, so if the shapes are right but the wrong one is on top, drag the layer list rather than re-dyeing anything.

Can I copy a banner design?

Yes. Put a patterned banner and a blank banner of the same base colour in a crafting grid and you get a duplicate, with the original returned. This costs no dye and is far cheaper than repeating six loom operations.

Can I get the pattern off a banner?

Using a banner on a cauldron containing water removes the topmost layer, one use at a time. There is no way to remove a layer from the middle.

Why is the preview not pixel-identical to the game?

The shapes here are vector approximations of the game's pixel textures, drawn to read clearly at preview size. They show which pattern you have selected and how the layers stack; they are not a substitute for the texture itself. The six detailed charge patterns — skull, flower, thing, snout, flow and guster — are omitted from the picker for that reason, though their identifiers are listed in the table above.

Sources

How Minecraft banner layering works

A loom will apply up to 6 pattern layers to a banner. The base colour is not one of them — it belongs to the banner item, which is why there are sixteen separate banner items rather than one banner with a colour field.

Rendering is a painter's algorithm: each pattern is drawn over everything already on the banner, in list order. Patterns later in the list appear on top. Reordering the same set of layers produces a genuinely different banner.

Commands are not held to the loom's limit. A banner given through /give can carry more than six layers, and the game draws up to sixteen before it stops rendering the remainder.

How the layers are stored, before and after 1.20.5

Java Edition 1.20.5 replaced item NBT with item components. Banners changed shape along with everything else, and the two forms are not interchangeable.

Java Edition 1.13 to 1.20.4 stored the layers as an NBT list, keyed by short code and colour number:

/give @p white_banner{BlockEntityTag:{Patterns:[
  {Pattern:"mc",Color:15},
  {Pattern:"cr",Color:14}
]}}

Java Edition 1.20.5 and later use the banner_patterns component, keyed by resource name and colour name:

/give @p white_banner[banner_patterns=[
  {pattern:"minecraft:circle",color:"black"},
  {pattern:"minecraft:cross",color:"red"}
]]

Each entry carries exactly two things — which shape, and what colour to draw it in. The base colour is not in the list; it is the item id itself.

Dye colour numbers (Java)

The pre-1.20.5 format identifies a colour by number. These are the standard Java dye ids, and the same numbers are used for dyed leather, collars, beacon beams and firework stars:

0  = White       8  = Light Gray
1  = Orange      9  = Cyan
2  = Magenta     10 = Purple
3  = Light Blue  11 = Blue
4  = Yellow      12 = Brown
5  = Lime        13 = Green
6  = Pink        14 = Red
7  = Gray        15 = Black

Bedrock Edition numbers banner items in the opposite direction, 0 for black through 15 for white. The two systems collide constantly in copied commands.

The colours in this tool

The sixteen swatches above are the dye colour codes the game uses to tint banner layers — white is #F9FFFE, red is #B02E26, black is #1D1D21. These are not the sixteen chat colours behind the § codes, which are a different and much more saturated palette. If you are picking a colour to match text, use the colour codes reference rather than this page.

The loom

Since Java Edition 1.14 the loom applies patterns; before that, patterns were crafted in a crafting table with the banner and dye laid out in the shape of the pattern. The loom takes:

  • 1 banner, which is consumed and returned with the new layer
  • 1 dye per layer, consumed
  • optionally 1 Banner Pattern item, which is not consumed

Ten patterns require the pattern item. Two of them — Field Masoned and Bordure Indented — only started requiring one in Java Edition 1.21.2.

References