/say
Sends a public message to all players in chat, prefixed with the sender's name in square brackets. Can use selectors.
Overview
Sends a public message to all players in chat, prefixed with the sender's name in square brackets. Can use selectors. In vanilla Minecraft Java Edition it is one of the display commands and has been available since version 1.0.
It is invoked as /say and accepts one required argument (
When executed from a command block, the sender name is '@'. When executed from the server console, the sender is 'Server'. Entity selectors in the message are resolved to entity names.
Output is plain text prefixed with the sender in square brackets. From a command block the prefix is '@', and from the console it is 'Server'. Selectors in the text are expanded to entity names.
Syntax & Arguments
/say <message>The full syntax is /say . Angle brackets < > mark required arguments and square brackets [ ] mark optional ones; a vertical bar | between words means you pick exactly one of those literals. You must always supply
- message
- Required, of type a message. The message to broadcast. Supports entity selectors like @a, @p.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| message | message | Required | The message to broadcast. Supports entity selectors like @a, @p. |
Examples
The 2 examples below are ready to copy and adapt. For instance, /say Welcome to the server! broadcasts "[Steve] Welcome to the server!" to all players. Each example varies the arguments to show a different real use of /say; read the note under every snippet to see exactly what changes.
/say Welcome to the server!Broadcasts "[Steve] Welcome to the server!" to all players.
/say The winner is @p[scores={wins=1..}]Announces the name of the player with a wins score of 1 or more.
Permission Level & Requirements
/say sits at permission Level 2 - Game Master / Cheats, which means it needs permission level 2, the level cheats grant to single-player worlds and that operators hold by default.
In a single-player world you must have "Allow Cheats" turned on (or open the world to LAN with cheats) before it will run; on a multiplayer server the player needs to be an operator at the matching level.
This reference describes the Java Edition 1.21 form of the command; Bedrock Edition may use slightly different argument formats.
Common Mistakes
- Using /say when you want formatted text, /say sends plain text. Use /tellraw for formatted messages.
- Not realizing /say from a command block shows [Server] as the prefix.
Notes
When executed from a command block, the sender name is '@'. When executed from the server console, the sender is 'Server'. Entity selectors in the message are resolved to entity names.
Related Commands
If /say is part of your toolkit, the commands below are the ones you will most often reach for alongside it: /msg, /tellraw, and /me. They cover closely related tasks, so the links above jump straight to each one.
Frequently Asked Questions about /say
What does the /say command do in Minecraft?
Sends a public message to all players in chat, prefixed with the sender's name in square brackets. Can use selectors. It belongs to the display command group and was added in Java Edition 1.0.
What is the correct syntax for /say?
/say
What permission level does /say need?
It requires permission Level 2 - Game Master / Cheats. On a server the player must be an operator at that level, or have cheats enabled in single-player.
What is a common mistake when using /say?
Using /say when you want formatted text, /say sends plain text. Use /tellraw for formatted messages.
Can you give an example of /say in use?
Yes. /say The winner is @p[scores={wins=1..}] — announces the name of the player with a wins score of 1 or more.
Need a Minecraft server?
Try these commands on Astroworld or host your own server.
Try Astroworld Hosting