top of page

Use the TellRaw Command in Minecraft

  • Mar 27
  • 7 min read

You have likely used the /say command to broadcast messages across your server, only to be disappointed by the clumsy [@] brackets attached to every announcement. According to experienced map makers, that minor visual clutter is exactly what separates a basic multiplayer world from a polished, professional adventure map. To lose those ugly tags and unlock custom chat features, it is time to level up to the /tellraw command.


Underneath the hood, this tool relies on JSON text components, which is simply the background language the game uses to format text. In practice, instead of typing a plain sentence into the console, you are sending a raw message object built with a specific set of brackets and quotation marks. While looking at these symbols might feel like reading complex computer code at first, the structure actually follows a highly logical pattern of building blocks that snap together.

How to Use the TellRaw Command in Minecraft

Learning how to use the /tellraw command opens up a completely new realm of interactivity for your players. Beyond just adding vibrant colors or bold fonts, you will soon be generating custom chat messages featuring clickable links and hidden hover-over descriptions. Out of all the everyday Minecraft commands available right in your chat bar, this single tool provides the absolute most creative freedom for transforming your world.


Stop Using /say: Why /tellraw is the Secret Tool for Pro-Level Maps


When customizing server broadcast messages or building adventure maps, bulky prefixes from standard commands instantly remind players they are just looking at game code. The /tellraw command solves this problem completely by stripping away all sender information, leaving behind only the pure, clean text you want your audience to see.


Beyond looking professional, this tool gives you absolute control over exactly who reads the text. If a hidden pressure plate needs to whisper a secret clue to a single person without alerting the entire server, the difference between the /tellraw and /say commands becomes crucial. By combining this command with specific player selectors like @p (nearest player), you trigger perfectly timed, silent notifications that feel like a custom-built game feature rather than a generic announcement.


Mastering this silent, targeted communication separates basic worlds from top-tier experiences. Nearly every advanced command block guide treats this exact technique as the foundation for creating interactive dialogues and immersive server rules. Before adding vibrant colors or clickable buttons to your chat, understanding these foundational syntax building blocks is essential.


The Anatomy of a Command: How the /tellraw Syntax Actually Works


Looking at the console might seem intimidating, but the /tellraw command relies on a predictable pattern. Every message requires exactly three pieces of information to function. First, you state the command, then you specify who receives it by using target selectors (like @a for everyone or @p for the nearest player). The final piece is the actual message.


Think of the Minecraft JSON text component syntax like building with interlocking blocks, where symbols snap together to form instructions. Let's break down the /tellraw <target> <message> structure:


  • /tellraw: The base instruction for the server.

  • The Target (e.g., @a): The specific audience.

  • The Data (e.g., {"text":"Hello"}): The actual words, wrapped securely inside curly brackets.


Whenever you see those curly brackets { }, imagine them as a sealed envelope holding one complete thought.


Inside that envelope, the game expects information delivered as "key-value pairs," meaning a label and its contents. For example, typing "text":"Welcome" simply tells the game that the text you want displayed is Welcome, separated by a colon and wrapped in quotes. These basic envelopes serve as the foundation for applying advanced color and formatting to your output.


Painting Your Chat: Adding Color and Formatting to Every Letter


Making your text pop is straightforward once it sits safely inside its curly brackets. Adding color to /tellraw messages requires inserting a comma and a new key-value pair next to your words. By typing something like {"text":"Welcome", "color":"gold"}, you completely change the visual impact of your chat. The game instantly understands standard names like red, blue, or green as long as they are securely wrapped in quotes.


Beyond basic hues, emphasizing your announcements involves formatting text with bold and italic codes, plus underlined, strikethrough, or obfuscated styles. These specific modifiers use "Boolean" values—a simple programming toggle meaning "true or false." To make your text thick and commanding, you add "bold":true without any quotation marks around the word true, creating a bright alert that players cannot easily ignore.


Customizing your server occasionally demands specific shades that exist entirely outside the default game palette. Thankfully, Minecraft raw message formatting rules support Hexadecimal color codes for exact branding matches. A hex code uses a hashtag followed by six characters, like FF5555 for a soft pastel red. You plug this directly into the exact same spot as a standard color, writing "color":"#FF5555", immediately unlocking millions of distinct visual possibilities for your map.


Building Sentences with Multiple Styles and Colors


Sometimes, highlighting a single word in a sentence is all it takes to make an announcement stand out. Whenever you need multiple colors in one line, you must upgrade your command by wrapping your code in square brackets [ ]. Think of these square brackets as a baseplate, and every set of curly brackets { } inside it is a separate item. By snapping multiple objects together on this single baseplate, you create vibrant, multi-styled messages without causing formatting errors.


To combine these elements successfully, the JSON text syntax relies on commas to snap the pieces together. Here is how you construct a sentence where only the middle word is bold and red:


  1. Open your sequence with a square bracket: [

  2. Add your first plain text block: {"text":"Welcome to "},

  3. Place a comma, then add your styled block: {"text":"Server", "color":"red", "bold":true},

  4. Add another comma, then the final text block: {"text":" today!"}

  5. Close the entire sequence with a final bracket: ]


This modular approach completely prevents your formatting from leaking into the next word. Because every { } container acts as an isolated bubble, the bold red style won't accidentally carry over to the word "today!"—a crucial trick for keeping complex messages perfectly organized.


Creating Interactive Buttons: How ClickEvents and HoverEvents Change Everything


Now that your text is perfectly formatted, you can transform those static words into functioning buttons. By nesting an "action" inside your text blocks, you can tell the game exactly what to do when a player interacts with the chat. This IF/THEN logic is the secret to creating interactive menus without needing extra server plugins.


When you add a clickEvent to a text block, you turn it into a trigger. IF the player clicks the text, THEN the game executes your chosen action. For example, building a "Click to Teleport" button simply means inserting "clickEvent":{"action":"run_command", "value":"/tp @s 0 64 0"} alongside your text and colors. You can choose from three main behaviors when adding interactions:


  • run_command: Forces the clicking player to instantly execute a specific command.

  • suggest_command: Types a command into the player's chat bar but waits for them to press Enter.

  • open_url: Safely asks the player if they want to visit an external website.


Surprising players with secret tooltips requires a similar approach using a hoverEvent. If you want to explain a rule without cluttering the screen, you can use the show_text action to display a hidden message whenever a cursor rests on the word. Combining these features creates powerful examples, like a glowing "Website" link that smoothly reveals a "Click to visit!" message when hovered over.


Personalizing the Experience: How to Show Player Names and Scores Automatically


Writing a welcome message that says "Hello, Player!" feels impersonal for a custom server. Instead of hard-coding a specific name into your command, you can use the selector component to automatically fetch and display whoever triggers the message. By swapping your standard text definition for {"selector":"@s"}, the game dynamically reads the target and prints their actual username. This simple swap makes displaying player names in chat messages feel like a premium, customized experience.


Taking personalization a step further means plugging directly into your server's economy or minigame stats. If you have a scoreboard tracking coins or wins, the score component lets you drop those exact numbers right into a sentence. For example, a bracket containing {"score":{"name":"*","objective":"coins"}, "color":"gold"} acts as a digital wallet readout, showing players their exact currency. Using target selectors alongside these score readouts turns a basic text box into a fully functioning status update.


Because these dynamic messages require extra curly braces and quotation marks, it is incredibly easy to accidentally delete a comma. When your console inevitably spits back a syntax error, a quick debugging routine is essential.


Fixing Syntax Errors: Why Your Command Failed and How to Repair It


Staring at angry red text in your chat box is a common frustration when formatting JSON. Because the game relies on exact formatting, a single missing character breaks the entire message. When fixing /tellraw syntax errors, your first step is checking the structural "glue" holding your command together.


Run through this quick troubleshooting checklist before giving up on your code:


  • The Unclosed Quote Trap: Elements like "color" need quotes on both sides. Forgetting the final quote is the most common mistake.

  • Missing Commas: When placing two instruction blocks side-by-side inside your main brackets, they must always be separated by a comma.

  • Mismatched Brackets: Every opening { or [ requires a matching closing bracket to seal the command.


Hunting for a microscopic typo can feel overwhelming, so let a computer do the heavy lifting. Using a JSON validator for Minecraft commands acts like an automated spellchecker, highlighting exactly where your code failed. Additionally, utilizing online /tellraw generator tools lets you click visual menus to design text while the site writes the flawless JSON code for you.


Your Next Steps: Mastering Custom Chat Messages


Moving from the basic output of /say to the robust features of the /tellraw command provides a specialized toolset to craft immersive, custom experiences. Nested JSON brackets are simply tools to weave color, text, and action together smoothly.


To cement your new skills, try designing an interactive 'Rules' message for your server. Draft a colorful welcome greeting using basic text components, add a hover event that reveals hidden server lore, and attach a click event that teleports players to a starter zone.


These techniques transform standard announcements into dynamic interactive elements. Experiment freely with combining different hover and click events to design complex menus and hidden secrets, allowing you to program a more engaging interface for your custom world.

 
 
 

Comments


grok_video.mp4
grok-video.mp4
11_chf3_iris1.mp4
18_chf3_iris1.mp4
17_chf3_iris1.mp4
14_chf3_iris1.mp4
13_chf3_iris1.mp4

2026 © bluTrumpet

bottom of page