Minecraft Wiki
This article is about the legacy §-based formatting system. For the modern JSON system, see Raw JSON text format.
Minecraft Formatting

A book showing the possible formatting options with the character that performs them.

Formatting codes (also known as color codes) add color and modifications to text in-game.

Text in Minecraft can be formatted with the section sign (§). In Bedrock Edition, the section sign can be used in signs, world names, book and quills, anvils and cartography tables (to rename items and maps), and in the chat input field (including in commands such as /say and /title). In Java Edition, section signs may be used in server.properties, pack.mcmeta, splashes.txt, language files, world titles, and server names. External programs can be used to insert it in other locations.


Text can be formatted using the section sign (§) followed by a character. A § symbol followed by a hex digit in the message tells the client to switch colors while displaying text. In Bedrock Edition, the § symbol can be used in any text input, while in Java Edition, it may be used in server.properties, pack.mcmeta, language files, world titles, and server names.

In Java Edition, if a color code is used after a formatting code, the formatting code is disabled beyond the color code point. For example, §cX§nY displays as XY, whereas §nX§cY displays as XY. Therefore, when using a color code in tandem with a formatting code, ensure the color code is used first and reuse the formatting code when changing colors. Also, you could put; e.g. "§#04280D NVBIS", in a anvil to rename an item it will be non-italic.

Motd scramble bug

In Bedrock Edition, formatting codes persist after a color code. Furthermore, if an obfuscated code is used and a reset code is not used before the end of the line, the client GUI continues to obfuscate text past the MOTD and into the version number display.

Color codes[]


Hex digit to color mapping. Use "§" followed by the corresponding color letter/number; e.g. "§e" gives yellow. Also, there is another colorcode; e.g. "§r§f" which gives if you rename an item to; e.g. "§r§fItem" it will make it non-italic

Messages sent from the server to the client can contain color codes, which allow the coloring of text for various purposes.

Code Name Foreground color Background color Equivalent ANSI escape code Version
R G B Hex R G B Hex
§0 black 0 0 0
0 0 0
§1 dark_blue 0 0 170
0 0 42
§2 dark_green 0 170 0
0 42 0
§3 dark_aqua 0 170 170
0 42 42
§4 dark_red 170 0 0
42 0 0
§5 dark_purple 170 0 170
42 0 42
§6 gold 255 170 0
42 42 0
\e[0;33m [JE only]
64 42 0
[BE only]
§7 gray 170 170 170
42 42 42
§8 dark_gray 85 85 85
21 21 21
§9 blue 85 85 255
21 21 63
§a green 85 255 85
21 63 21
§b aqua 85 255 255
21 63 63
§c red 255 85 85
63 21 21
§d light_purple 255 85 255
63 21 63
§e yellow 255 255 85
63 63 21
§f white 255 255 255
63 63 63
§g minecoin_gold 221 214 5
55 53 1
[BE only]
§h material_quartz 227 212 209
56 53 52
[BE only]
§i material_iron 206 202 202
51 50 50
[BE only]
§j material_netherite 68 58 59
17 14 14
[BE only]
§m material_redstone 151 22 7
37 5 1
[BE only]
§n material_copper 180 104 77
45 26 19
[BE only]
§p material_gold 222 177 45
55 44 11
[BE only]
§q material_emerald 17 160 54
4 40 13
[BE only]
§s material_diamond 44 186 168
11 46 42
[BE only]
§t material_lapis 33 73 123
8 18 30
[BE only]
§u material_amethyst 154 92 198
38 23 49
[BE only]

Formatting codes[]

Code Name Equivalent ANSI escape code Compatible with Bedrock Compatible with Java
§k obfuscated/MTS* \e[8m Yes Yes
§l bold \e[1m Yes Yes
§m strikethrough \e[9m No[1] Yes
§n underline \e[4m No[1] Yes
§o italic \e[3m Yes Yes
§r reset \e[0m Yes Yes
§r§f reset + add a color \e[0m Yes N/A

The random characters placed after §k are always the same width as the original characters. For example, any random character cycled through where the letter "m" would be wide characters while any random character in the spot of an "i" would be narrow characters.

*MTS: Magical Text Source; used in minecraft source code (this.magictextsrc)

§r resets the styles of following characters; e.g., §nXXX§rYYY displays as XXXYYY.


  • To enter "§" on Windows with most US/UK English keyboards type Alt + NUMPAD2NUMPAD1 (alt code on cp437) or Alt + NUMPAD7NUMPAD8NUMPAD9. For any other keyboard, the Windows ANSI version Alt + NUMPAD0NUMPAD1NUMPAD6NUMPAD7 often works.
  • If EnableHexNumpad is enabled in the Windows registry, Alt + NUMPAD+ANUMPAD7 (using the main keyboard for "A") works for any language due to it being Unicode.
  • On a Mac with a US keyboard, type ⌥ Option + 6 (or ⌥ Option + 5 for US Extended). For any other keyboard, type ⌥ Option + 00a7.
  • On Linux with the compose key activated, type Composeso. The symbol can also be typed by using Unicode shortcuts: Ctrl + ⇧ Shift + u00a7.
  • To enter "§" on a Nintendo Switch, select languages (globe icon), scroll to the bottom to find the "Symbols" language, and then select Page 2 to find the symbol to the right in the bottom line.
  • For various Android keyboards:
    • Google Keyboard (GBoard): The "§" is in the More Symbols section the symbols. To access it, press the Numbers and Symbols button (?123), then press the More Symbols button (=\<). Note that on previous versions of GBoard, it was behind the Paragraph Symbol "¶" in the same position, but they were recently swapped so that now "¶" is behind "§".
    • Samsung Keyboard: The "§" is under the "s" key. To access, hold down on the "s" and then slide over to the "§" mark.
  • For iOS:
    • On the iPad the "§" is under the percent sign. To access, tap the number/symbol button and then swipe down on the percent sign.
    • On the iPhone the "§" is under the ampersand "&". To access, tap the number/symbol button then hold down the ampersand key and slide over to the "§" mark.
  • For Xbox:
    • On the Xbox One the "§" is under the paragraph mark "¶". To access, use Left trigger, hold down A button while on ¶ until other options pop up. Move the cursor over to the "§" mark and use A button to select.
    • One can also highlight the S key on the standard alphanumeric keyboard, then press and hold A button to reveal several "alternate" characters, including "§". This method also works on the Windows 10 version.

When part of JSON text, the symbol can be written as \u00A7 or \u00a7.

Alternatively in Bedrock Edition, the character can be copied from this page (§) and pasted into virtually any text field by pressing Ctrl + V (Windows) or ⌘ Cmd + V (macOS). If pasting does not work it may be necessary to use the JSON format or another method.

While in chat in Java Edition, usage of this character disconnects the user, even in 'offline' single player mode, and thus cannot be used directly in commands such as /say.

In early Java Edition Classic versions, the character used was & instead of §.[2]

Sample text[]

The following text can be pasted into a Book and Quill (prior to 1.14) to produce what is shown in the picture:

Minecraft Formatting
§nMinecraft Formatting§r

§00 §11 §22 §33
§44 §55 §66 §77
§88 §99 §aa §bb
§cc §dd §ee §ff
§r§a §r§b §r§c, etc…

§rk §kMinecraft
§rl §lMinecraft
§rm §mMinecraft
§rn §nMinecraft
§ro §oMinecraft
§rr §rMinecraft

Use in server.properties and pack.mcmeta[]

In order to get an MOTD colored or formatted, \u00A7 must be used instead of §; for example, §5 would be \u00A75. The full list of them is listed below. Colors can be used in conjunction with formatting. The formatting must be done after the color.

Given that pack.mcmeta files accept raw JSON text as descriptions, the usage of § can be replaced by text components with different color and style, though using § still works.

Code Official Name MOTD code Note
§0 Black \u00A70
§1 Dark Blue \u00A71
§2 Dark Green \u00A72
§3 Dark Aqua \u00A73
§4 Dark Red \u00A74
§5 Dark Purple \u00A75
§6 Gold \u00A76
§7 Gray \u00A77
§8 Dark Gray \u00A78
§9 Blue \u00A79
§a Green \u00A7a
§b Aqua \u00A7b
§c Red \u00A7c
§d Light Purple \u00A7d
§e Yellow \u00A7e
§f White \u00A7f
§k Obfuscated \u00A7k
§l Bold \u00A7l
§m Strikethrough \u00A7m [Java Edition only]
§n Underline \u00A7n [Java Edition only]
§o Italic \u00A7o
§r Reset \u00A7r
§r and add a § and a letter (a,b,c,d,e,f,k,l,o,r) or a number (1-9) will make it different color and non-italic. (It only works on renaming items in an Anvil. Non-Italic text when renaming items. \u00A7§r§<any letter or number listed on the code to the left

Compatibility with older versions[]

Formatting codes can be used in the motd line in a server.properties file, but the section signs must be escaped as \u00A7. If a section sign is entered directly, the server replaces it with \u00C2\u00A7 (§); clients display the \u00C2 character as a question mark. Delete the \u00C2 character in the MOTD if it comes with a bunch of question marks: this happens if something is not compatible.

Use in custom language packs[]

Formatting codes can be used to color names and description in language files by using § then any of the numbers/letters displayed above. This is also used in end.txt and credits.txt. An example of this is §dDiamond to make the name of a diamond appear as Diamond.

Since Java Edition 1.16, §r can no longer be used to remove italics from custom translation tags within language files. For example, if the translation tag "item.example.test": "§rTest Item" is applied to the Name display data of a custom item ({display:{Name:'{translate:"item.example.test"}'}), it still appears as Test Item rather than simply Test Item. This is not true of any other formatting options.

Use in world names[]

With the use of external tools, such as NBTExplorer, world names can have custom colors and formatting codes. To modify the name, choose the LevelName tag in the world's level.dat. In this example,[more information needed] LevelName is set to §1R§2e§3d§4s§5t§6o§7n§8e §9C§ar§be§ca§dt§ei§fo§1n§2s.

Additionally, the player can rename the world's folder to contain one of the codes. In the world selection menu, the specified color or effect appears.

The player can also use a resource pack with a § already in the world name when creating a world and all the user has to do is to change or alter the color code after the §.

In Bedrock Edition, the player is allowed to use a § inside of the world name when creating the world. This allows for using custom colors and formatting codes inside of the world name without having to modify the game.

Use in server names[]


With the use of a third party tool such as NBTExplorer, server names can have custom colors. To utilize this functionality, select the Name attribute in the servers.dat file inside the .minecraft directory using a third party tool. In the following example, the Name tag is set to §4§lMinecraft §6§lServer:


Obfuscated Text Comparison
Jigsaw Block (top texture) JE2 BE2
This section needs expansion. 
You can help by expanding it.
Instructions: A conversion to history table with information about when it was added, when & was changed to §, when it was superseded, etc.
This section is missing information about When was g added to Bedrock Edition?. 
Please expand the section to include this information. Further details may exist on the talk page.

Obfuscated format §d has changed 3 times in Java Edition after being introduced in Beta 1.8. On the right is an image of how the obfuscated text of 1234567890abcdefghijklmnopqrstuvwxyz~!@#$%^&*()-=_+{}[] looks in 4 different versions. At first glance, they might look similar, but in reality, there are some differences. One major difference is that as font textures get updated with new characters and symbols, the obfuscated character cycles through more characters. That change can be clearly seen when any character gets obfuscated in versions 1.6.4-1.12.2. However, when 1.13 came out, if the obfuscated format was used on any character, it looped only through the ASCII character set. Nevertheless, an obfuscated character can still add a character to its loop. If a character that matches its dimensions was written into the chat by a player, it is inserted to the loop automatically. As for 1.13+, the whole system got reworked. All characters cycle through all characters that can be written in the game no matter what kind of character is getting obfuscated. The difference is that the condition that identifies similar characters, became more diverse in its identification, which made it include several unicode font characters. This can be spotted in one pixel width characters i!:;., which are the most used characters by players, as they display a unique effect when used with obfuscation rather than it being what it's for, "Obfuscation". Followed by @~ in older versions.


  • The color codes almost exactly match, in order, the 16 colors available using a Color Graphics Adapter (CGA), as released in 1981. Only color 6 differs; the value for color 6 in Minecraft –
    – differs from that made for CGA –
  • Minecoin Gold (§g) doesn't display on PlayStation. Any text using it displays either as default, or transparent.
  • Obfuscated format (§k) displays as dots in Bedrock Edition if any font except Mojangles is used.


  1. a b MCPE-41729
  2. IRC logs on Archive.org; #minecraft.20090619.log. "P7:43:58 <Notch> Quatroking: want to know a secret?" [...] "P7:44:44 <Notch> /say He&1llo&f, world! &bHOW ARE YOU!?" [...] "P7:45:52 <Notch> it's the ega palette, almost" (June 20, 2009, 00:43:58 UTC)