I have gone through every single website and video to try to make a sign with colored text, but nothing works. Can anyone help me to get a sign to say:

Place Block(dark blue and bold text)

I really want this for a map I am making and I need help.


4 Answers 4


What to use

It is common to use /blockdata for changing placed sign data. So, we will use it for now. The syntax of /blockdata is /blockdata [x] [y] [z] [dataInJSON] . Note that we use JSON formatting for text.

Basic for sign

To input a text with /blockdata, we will use Text1 tag. To write "Hello World" into the first line of the sign, simply just do /blockdata [x] [y] [z] {Text1:"{\"text\":\"Hello World\"}"}. The quotes is there for JSON formatting. If you need multiple line to display, use either Text2, Text3 or Text4.


There is a way to change color of the sign using the color sub tag. There is a lot selection of color. Here is all of the available one:

  • gold
  • red
  • dark_red
  • yellow
  • dark_purple
  • light_purple
  • aqua
  • dark_aqua
  • black
  • white
  • green
  • dark_green
  • blue
  • dark_blue

For writing "Hello World" in aqua, you write

/blockdata [x] [y] [z] {Text1:"{\"text\":\"Hello World\",\"color\":\"aqua\"}"}

into a command block. It will change the sign with the first line saying "Hello World" on aqua.


For bold text, you use bold sub-tag. This sub-tag is a boolean, meaning the value can be only true or false for example:

/blockdata [x] [y] [z] {Text1:"{\"text\":\"Hello World\",\"bold\":true}"}

will give you a sign with text "Hello World" with bold.

The real answer

Type this into a command block changing [x], [y], and [z] into the coords of the sign:

/blockdata [x] [y] [z] {Text1:"{\"text\":\"Place Block\",\"color\":\"dark_blue\",\"bold\":true}"}

Full list for Raw JSON tags

  • You can also use /setblock with the same NBT and JSON format. Note that it erases any existing text.
    – One 2 Many
    Commented Jul 28, 2020 at 0:50

You can use /give command too.

by using the BlockEntityTag You can place a sign down with text.

for example if I wanted a sign with "RedIsCool" with red color I would have to do

/give @p sign 1 0 {BlockEntityTag:{Text2:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}}

in a command block, and then power it.


Version Update


Above answers apply.


1.13 changed the command syntax. NBT now goes directly after the block/item ID, without a space. Here are some updated 1.13 commands from the previous answers:

/give @p sign{BlockEntityTag:{Text2:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}} 1
/setblock ~ ~ ~ sign{Text2:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}}

In addition, /blockdata is now a deprecated command, and has been replaced by /data merge block. Run the following command to change placed block data:

/data merge block ~ ~ ~ {Text1:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}


The 1.13 commands still work in 1.14+, but additional modifications are possible to make the commands easier to read:

  • You can use /data modify instead of /data merge. This allows you to modify one specific tag at a time. This is more useful when performing complex operations with NBT tags, but isn't really needed for simple operations.

  • 1.14 added support for single quotes ' to surround NBT string tags instead of double quotes ". Therefore, you can make the following replacement:


which will make it much easier to read.

  • @Niekvb Hi, I noticed that you posted a new question related to this, and then followed-up with a self-answer. Are you still having problems?
    – One 2 Many
    Commented Nov 4, 2022 at 1:54

It is example sign with custom text color:

/give @p oak_sign{BlockEntityTag:{Text1:'{"text":"Example","color":"#123456"}'}}

#123456 is your color hex. You can convert RGB to color hex with this website.

(RGB is Red Green Blue)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .