Reference

Bukkit Color Codes

The full list of Bukkit color codes and format codes — chat codes (§0–§f), MOTD / unicode codes (\u00A70–\u00A7f), ChatColor enum names, hex and RGB — plus a live code generator.

Reference and conversion tool for Bukkit / Spigot / Paper color codes and format codes — for chat messages, the server MOTD and in-game text. The chat code (§0§f) is what the client renders; the MOTD code (\u00A70\u00A7f) is the unicode-escape form for server.properties. In plugin YAML most people write the ampersand form (&0) and call ChatColor.translateAlternateColorCodes('&', text).

Bukkit color codes

Color nameChat codeMOTD codeHexRGB
Black 0, 0, 0
Dark Blue 0, 0, 170
Dark Green 0, 170, 0
Dark Aqua 0, 170, 170
Dark Red 170, 0, 0
Dark Purple 170, 0, 170
Gold 255, 170, 0
Gray 170, 170, 170
Dark Gray 85, 85, 85
Blue 85, 85, 255
Green 85, 255, 85
Aqua 85, 255, 255
Red 255, 85, 85
Light Purple 255, 85, 255
Yellow 255, 255, 85
White 255, 255, 255

Format codes

FormatChat codeMOTD codeEffect
ObfuscatedRandomly cycling characters
BoldBold text
StrikethroughLine through text (Bedrock: not supported)
UnderlineUnderlined text (Bedrock: not supported)
ItalicItalic text
ResetClears all colour and formatting

Color code generator

Type your message, put the caret where you want a code, then click a color or format below. The preview shows how it renders in game; copy the code string into a sign, book, MOTD, plugin config or chat.

Toggle to § section sign for in-game chat, signs and /tellraw; use \u00A7 unicode for server.properties and Java .properties files that can't hold the § character.

ChatColor API

The 16 colours as the Bukkit ChatColor enum, with the ampersand code used in config files.

EnumConfig codeColorHex
ChatColor.BLACKBlack
ChatColor.DARK_BLUEDark Blue
ChatColor.DARK_GREENDark Green
ChatColor.DARK_AQUADark Aqua
ChatColor.DARK_REDDark Red
ChatColor.DARK_PURPLEDark Purple
ChatColor.GOLDGold
ChatColor.GRAYGray
ChatColor.DARK_GRAYDark Gray
ChatColor.BLUEBlue
ChatColor.GREENGreen
ChatColor.AQUAAqua
ChatColor.REDRed
ChatColor.LIGHT_PURPLELight Purple
ChatColor.YELLOWYellow
ChatColor.WHITEWhite

Using color in a plugin

In config.yml: prefix: "&8[&bServer&8]". In code:

String msg = ChatColor.translateAlternateColorCodes('&',
    config.getString("prefix"));
player.sendMessage(msg);

On Paper / Spigot 1.16+ you can also use full hex with &#RRGGBB, or net.md_5.bungee.api.ChatColor.of("#RRGGBB"). The 16 classic codes above work on every version.

Bukkit, Spigot and Paper — same codes

Bukkit, Spigot and Paper all share the same color-code system, because it comes from Minecraft itself. Spigot is a fork of Bukkit and Paper is a fork of Spigot; each adds performance and API features on top, but org.bukkit.ChatColor, the § codes and translateAlternateColorCodes behave identically across all three. That means a plugin config written with & codes, or a permissions prefix, or an Essentials nickname, works the same whether the server runs CraftBukkit, Spigot or Paper. The one meaningful split is hex support: full #RRGGBB colors need a 1.16+ server, and the exact helper differs — Paper adopts the modern Adventure Component API, while Spigot uses the BungeeCord ChatColor.of() method.

The ampersand convention

Almost every plugin asks you to write colors with & rather than § in YAML and JSON config, because the section sign is awkward to type and easy for a text editor to corrupt. The plugin then calls ChatColor.translateAlternateColorCodes('&', text) to swap every & followed by a valid code character into a real § before sending the message. If your colors show up as literal &a text in game, that translate call is missing or the config value was not passed through it. The MOTD in server.properties is the exception — it is read by the vanilla server, not a plugin, so it needs the \u00A7 unicode form, which the generator above produces.

Bukkit color code FAQ

Why are my color codes showing as &a in chat?

The plugin isn't translating them. Wrap the config string in ChatColor.translateAlternateColorCodes('&', text), or check that the feature is enabled — some plugins have a "use color codes" permission or config toggle.

How do I use hex colors in a Bukkit plugin?

On 1.16+: Spigot uses net.md_5.bungee.api.ChatColor.of("#RRGGBB"); Paper recommends the Adventure API with Component.text("...").color(TextColor.color(0xRRGGBB)). Some config-driven plugins accept &#RRGGBB directly.

Is ChatColor.BLUE the same as §9?

Yes. The ChatColor enum maps one-to-one to the § codes: ChatColor.BLUE is §9, ChatColor.DARK_BLUE is §1, and so on. The ChatColor API table above lists every pairing.

Do these codes work on Spigot and Paper too?

Yes — the 16 colors and 6 format codes are identical on CraftBukkit, Spigot and Paper. Only the newer hex-color helper methods differ between platforms.