Back to Tools
Reference

Minecraft Color Codes

All 16 colors, five format codes and the Bedrock materials — with the hex values, a live preview and the § or & form ready to copy.

Live preview

Type with § or & codes — the box below draws them the way the client does

Click a swatch to append its code Render as an image

Crafty » Welcome back, Steve!

Color codes

The 16 colors every edition understands — click a row to copy its code

CodeColorChat nameHexShadow
Blackblack#000000#000000
Dark Bluedark_blue#0000AA#00002A
Dark Greendark_green#00AA00#002A00
Dark Aquadark_aqua#00AAAA#002A2A
Dark Reddark_red#AA0000#2A0000
Dark Purpledark_purple#AA00AA#2A002A
Goldgold#FFAA00#3E2A00
Graygray#AAAAAA#2A2A2A
Dark Graydark_gray#555555#151515
Blueblue#5555FF#15153F
Greengreen#55FF55#153F15
Aquaaqua#55FFFF#153F3F
Redred#FF5555#3F1515
Light Purplelight_purple#FF55FF#3F153F
Yellowyellow#FFFF55#3F3F15
Whitewhite#FFFFFF#3F3F3F

The shadow column is the colour the client paints one pixel down and to the right of every glyph. It is the foreground at a quarter brightness, except gold, which Mojang rounds to #3E2A00 rather than the #3F2A00 the formula gives.

Formatting codes

Style rather than colour — and the two Java keeps to itself

Bedrock material colors

13 extra codes Bedrock reads and Java ignores

§m and §n are the ones to watch: on Java they are strikethrough and underline, on Bedrock they are the redstone and copper material colours. A message written for one edition will not read the same on the other unless it sticks to §0–§f, §k, §l, §o and §r.

Typing the section sign

§ is U+00A7, and no keyboard has a key for it

Windows Alt + 21 on the numpad, or Alt + 0167 on any layout
macOS Option + 6 on a US layout, or Option + 0 0 a 7 anywhere else
Linux Compose then s then o, or Ctrl + Shift + U, a7, Enter
Mobile Hold the & key on iOS, or the s key on a Samsung keyboard
Config files \u00A7 — server.properties reads Unicode escapes, not the raw sign

Most people never type it. Plugin configs take & and translate it, the preview above hands you the § form to paste, and server.properties wants the § escape anyway.

Hex colors, beyond the 16

What 1.16 added, and where the legacy §x form is still needed

Java 1.16 gave the JSON text component full RGB, so {"text":"hi","color":"#ff8800"} works in /tellraw, books written by a datapack, and anything else that takes a text component. Signs, anvils and the chat box a player types into are still limited to the 16 named colours.

Spigot and Paper bolted the same range onto the legacy syntax: §x followed by each hex digit carrying its own section sign. That is the form MOTD generators and chat plugins emit, and it is what a gradient really is — one colour code per character.

#ff8800 as a legacy code

Tools that use these codes

Where to actually put the colours once you have picked them

Frequently asked questions

§ versus &, hex colours and the Bedrock differences

What is the difference between § and & color codes? +

The section sign § is what Minecraft itself reads — chat, signs, books, anvils and the JSON text component all expect it. The ampersand & is a convention plugins invented because § is awkward to type and most config files could not carry it safely. Essentials, LuckPerms and virtually every Bukkit plugin translate & to § before the text reaches the client, so in a plugin config you write &c and the player sees red. Vanilla does not do that translation: an & typed straight into chat stays an ampersand on screen.

Why do my formatting codes disappear when I change color? +

In Java Edition a color code resets every active format. §lBold §ctext loses the bold the moment §c is read, because §c rebuilds the style from scratch rather than adding to it. The fix is to put the color first and the format second — §c§lBold red text — and to reapply both after every color change. Bedrock keeps formats across a color change, which is why the same string can look different on the two editions.

How do I use hex colors instead of the 16 codes? +

Java 1.16 added full RGB to the JSON text component, so /tellraw and datapacks can take {"color":"#ff8800"} directly. On the legacy side Spigot and Paper accept §x followed by each hex digit prefixed with its own section sign — §x§f§f§8§8§0§0 for #ff8800 — which is what MOTD generators and most chat plugins emit. Vanilla signs, books and anvils are still limited to the 16 named colors.

Do color codes work in server.properties? +

Yes, but the file is read as a Java properties file, so the raw § character is not safe to save. Write the Unicode escape instead: motd=\u00A76Welcome renders as a gold MOTD. Editors that save the file as UTF-8 sometimes get away with a literal §, but the escape works everywhere and survives being edited by a panel that rewrites the file.

Which codes do not work in Bedrock Edition? +

§m and §n mean strikethrough and underline in Java, but Bedrock reassigned both to material colors — redstone and copper. Bedrock also adds its own set (§g minecoin gold, §h through §v for quartz, iron, netherite, gold, emerald, diamond, lapis, amethyst and resin) that Java ignores completely. If a message has to look the same on both editions, stick to §0-§f plus §k, §l, §o and §r.

How do I type the § symbol? +

On Windows hold Alt and type 21 on the numeric keypad, or Alt+0167 on a layout without one. On macOS it is Option+6 with a US keyboard. On Linux with a compose key it is Compose then s then o. On mobile it hides behind the ampersand on iOS and under the s key on Samsung's keyboard. In configuration files the Unicode escape \u00A7 avoids the question entirely.

Verified against the Minecraft Wiki