Formatting codes



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. $$, 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). $$, 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.

Usage
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. $$, the § symbol can be used in any text input, while $$, it may be used in server.properties, pack.mcmeta , language files, world titles, and server names.

$$, if a color code is used after a formatting code, the formatting code is disabled beyond the color code point. For example,  displays as X Y , whereas   displays as X Y. 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.

$$, 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
Messages sent from the server to the client can contain color codes, which allow the coloring of text for various purposes.

Formatting codes
The random characters placed after  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)

resets the styles of following characters; e.g.,  displays as XXX YYY.

Typing

 * To enter "§" on Windows with most US/UK English keyboards type (alt code on cp437) or . For any other keyboard, the Windows ANSI version  often works.
 * If  is enabled in the Windows registry,  (using the main keyboard for "A") works for any language due to it being Unicode.
 * On a Mac with a US keyboard, type (or  for US Extended). For any other keyboard, type.
 * On Linux with the compose key activated, type . The symbol can also be typed by using Unicode shortcuts:.
 * 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 the left trigger, hold down A while on ¶ until other options pop up. Move the cursor over to the "§" mark and use A to select.
 * One can also highlight the S key on the standard alphanumeric keyboard, then press and hold the 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 $$, the character can be copied from this page and pasted into virtually any text field by pressing  (Windows) or  (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.

In early Java Edition Classic versions, the character used was instead of.

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:

Use in server.properties and pack.mcmeta
In order to get an MOTD colored or formatted,  must be used instead of  ; for example,   would be. 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  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.

Compatibility with older versions
Formatting codes can be used in the  line in a  file, but the section signs must be escaped as. If a section sign is entered directly, the server replaces it with  ; clients display the   character as a question mark. Delete the  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  to make the name of a diamond appear as Diamond.

Since Java Edition 1.16,  can no longer be used to remove italics from custom translation tags within language files. For example, if the translation tag  is applied to the   display data of a custom item, it still appears as   rather than simply. 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, LevelName is set to.

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 §.

$$, 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 attribute in the  file inside the  directory using a third party tool. In the following example, the tag is set to :

History


Obfuscated format  has changed 3 times $$ after being introduced in Beta 1.8. On the right is an image of how the obfuscated text of  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, 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.

Trivia

 * 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.