Articles

BANNotation

#fun 22 December 2023 Updated on 14 July 2024
Table of Contents

Colours

Patterns

Syntax

Base

Simple Patterns

Combined Gradient Base

Examples

Appendices

Syntax in EBNF

The Banner Algebraic1 and Normalised Notation (BANNotation) is a notation system that I devised for communicating banner designs in Minecraft (Mojang, 2011). This page will describe this system, and provide some examples of its use.

Colours

The standard banner colours, and their notated forms, are defined in this table:

Colours sourced from Minecraft Wiki.

ColourNotated
WhiteWh
Light GrayLg
GrayGr
BlackBk
BrownBr
RedRd
OrangeOr
YellowYe
LimeLi
GreenGn
CyanCy
Light BlueLb
BlueBl
PurplePu
MagentaMa
PinkPi

Patterns

The standard banner patterns (as displayed in-game on Minecraft: Java Edition2), and their notated forms, are defined in this table, along with their expanded meanings.

Pattern names sourced from Minecraft Wiki.

PatternNotatedMeaning
Field-(none)
BaseSbstripe bottom
ChiefStstripe top
Pale DexterSlstripe left
Pale SinisterSrstripe right
PaleScvstripe center vertical
FessSchstripe center horizontal
BendSdwstripe downward
Bend SinisterSuwstripe upward
PalySbarstripe bars
SaltireSxstripe x
CrossScrstripe cross
Per Bend Sinister (JE)Wtlwedge top left
Per Bend (JE)Wtrwedge top right
Per Bend Inverted (JE)Wblwedge bottom left
Per Bend Sinister Inverted (JE)Wbrwedge bottom right
Per PaleBlblock left
Per Pale InvertedBrblock right
Per FessBtblock top
Per Fess InvertedBbblock bottom
Base Dexter CantonBblblock bottom left
Base Sinister CantonBbrblock bottom right
Chief Dexter CantonBtlblock top left
Chief Sinister CantonBtrblock top right
ChevronTbtriangle bottom
Inverted ChevronTttriangle top
Base IndentedTmbtriangle multiple bottom
Chief IndentedTmttriangle multiple top
RoundelCccentre circle
LozengeCdcentre diamond
BordureFframe
Bordure IndentedFwframe wavy
Field MasonedCbcentre bricks
GradientGtgradient top
Base GradientGbgradient bottom
Creeper ChargeCrcentre creeper
Skull ChargeCscentre skull
Flower ChargeCfcentre flower
ThingCmcentre mojang
GlobeCgcentre globe
SnoutCpcentre pig

Syntax

A banner notation starts with a base, and then any number of patterns, in order of their application.

Base

For a more formal syntax definition, see Appendix: Syntax in EBNF.

A base banner is simply defined as BB, where BB is the base colour.

Simple Patterns

A colour-pattern combination is defined as CC-PP, where CC is a colour, and PP is a pattern. For example, a Blue Chevron would be Bl-Tb (blue triangle bottom).

Combined Gradient Base

For simple gradient bases, instead of notating a base CAC_A and a gradient bottom CBC_B (or the other way with a gradient top), you can use the shorthand CAC_A+CBC_B-Gx., where Gx is the combined gradient pseudo-pattern, CAC_A is the top colour, and CBC_B is the bottom colour.

For example, a gradient that goes from blue at the top and red at the bottom would can be either:

But with the combined gradient syntax, it would be:

Note that this only works if the gradient is applied immediately after the base. If there are any patterns that are applied in between, the normal gradient top/bottom should be used instead.

Examples

This example will define all of the banners on the stone brick wall in this screenshot, posted by Jeb on Twitter/X.

Going left-to-right, then top-to-bottom:

  1. Bk. Lb-Cf.
    • Black Base
    • Light Blue Flower Charge
  2. Wh. Bk-Cc. Pi-Tb+Tt.
    • White Base
    • Black Roundel
    • Pink Chevron
    • Pink Inverted Chevron
  3. Bl. Wh-Sx.
    • Blue Base
    • White Saltire
  4. Bl. Wh-Cs.
    • Black Base
    • White Skull Charge
  5. Bl. Lb-Cb. Ye-Wtl.
    • Blue Base
    • Light Blue Field Masoned
    • Yellow Per Bend Sinister
  6. Gn+Li-Gx. Bk-Cr.
    • Green-Lime Gradient
      • either:
        • Green Base
        • Lime Base Gradient
      • or:
        • Lime Base
        • Green Gradient
    • Black Creeper Charge
  7. Wh. Rd-Sbar. Bk-Tmb+Tmt+Sch.
    • White Base
    • Red Paly
    • Black Base Indented
    • Black Chief Indented
    • Black Fess
  8. Or. Ye-Btr+Bbl. Rd-Cc.
    • Orange Base
    • Yellow Chief Sinister Canton
    • Yellow Base Dexter Canton
    • Red Roundel
  9. Bk.
    • Black Base
  10. Rd.
    • Red Base
  11. Lg.
    • Light Gray Base
  12. Wh.
    • White Base
  13. Li.
    • Lime Base
  14. Or.
    • Orange Base
  15. Cy.
    • Cyan Base
  16. Pi.
    • Pink Base

Appendices

Syntax in EBNF

colour = "Wh"
       | "Lg"
       | "Gr"
       | "Bk"
       | "Br"
       | "Rd"
       | "Or"
       | "Ye"
       | "Li"
       | "Gn"
       | "Cy"
       | "Lb"
       | "Bl"
       | "Pu"
       | "Ma"
       | "Pi"

pattern = "Sb"
        | "St"
        | "Sl"
        | "Sr"
        | "Scv"
        | "Sch"
        | "Sdw"
        | "Suw"
        | "Sbar"
        | "Sx"
        | "Scr"
        | "Wtl"
        | "Wtr"
        | "Wbl"
        | "Wbr"
        | "Bl"
        | "Br"
        | "Bt"
        | "Bb"
        | "Bbl"
        | "Bbr"
        | "Btl"
        | "Btr"
        | "Tb"
        | "Tt"
        | "Tmb"
        | "Tmt"
        | "Cc"
        | "Cd"
        | "F"
        | "Fw"
        | "Cb"
        | "Gt"
        | "Gb"
        | "Cr"
        | "Cs"
        | "Cf"
        | "Cn"
        | "Cg"
        | "Cp"

solid = colour, "."
gradient = colour, "+", colour, "-Gx."
base = solid | gradient

pattern_set = pattern, { "+", pattern }
layer = colour, "-", pattern_set, "."

banner = base, { " ", layer }

Footnotes

  1. “algebraic”, as in Algebraic Notation in chess.

  2. This is a crucial point, as there are some naming conflicts between Bedrock and Java Edition, mainly in the Per Bends.