Red warning to all players
/tellraw @a {"text":"Server restart in 5 minutes","color":"red"}Everyone sees the warning in red, with no sender name.

/tellraw sends a formatted message to chosen players, written as JSON text. Unlike /say, it shows no sender name, and it supports colors, bold text, player names, scores and translated names. It is the standard tool for map dialogue and server messages.
/tellraw <targets> <message>| Argument | Expects | What it does |
|---|---|---|
| targets | Player selectorone or several | Players who receive the text: a name, @a, @p or @a[team=Red]. Other entities are not accepted. |
| message | JSON text | JSON text, like "Hello" or {"text":"Hello","color":"gold"}. A list [...] joins several parts. |
/tellraw @a {"text":"Server restart in 5 minutes","color":"red"}Everyone sees the warning in red, with no sender name.
/tellraw @a [{"text":"Welcome, ","color":"gray"},{"selector":"@p","color":"gold"}]The second part is replaced by the name of the nearest player, in gold.
/execute as @a run tellraw @s [{"text":"Your kills: "},{"score":{"name":"@s","objective":"kills"}}]Each player reads their own value of the kills objective.
/tellraw @a {"translate":"block.minecraft.diamond_block","color":"aqua"}Each player reads the name of the Block of Diamond in the language of their game.
Fill in the fields, then copy the command.
Command generator"Hello": plain text in quotes.{"text":"Hello","color":"gold","bold":true}: styled text. Colors include red, green, aqua, gold, gray or a hex code like "#A6F23C".[{"text":"Hi "},{"selector":"@p"}]: a list joins several parts, here with a player name.{"score":{"name":"@s","objective":"kills"}}: shows a score from /scoreboard.{"translate":"block.minecraft.diamond_block"}: each player reads the name in their own language.A missing quote or brace makes the command fail, and the chat box marks the faulty part in red. Since 1.21.5, event keys are written click_event and hover_event: older guides using clickEvent no longer work. In a score, @s is whoever runs the command, not the reader. To show each player their own score, use /execute: execute as @a run tellraw @s ....
Put /tellraw in a Command Block or a /function for map dialogue, rules or a welcome message. For big text in the middle of the screen, use /title. Players without operator rights can still react to clickable text through /trigger.
✓ Checked in Java Edition 26.3 · updated 2 November 2026
/say adds the sender name and only sends plain text to everyone. /tellraw picks its targets, shows no sender, and supports colors, styles, scores and translated names.
Put \n inside a text value, for example {"text":"Line one\nLine two"}. The chat shows the two parts on separate lines.
Type it in the chat with cheats on: /tellraw <targets> <message>.
Cheats on, or operator level 2.