Updated:

Message one player

/msg Steve Come to the base
/tell Steve Come to the base
/w Steve Come to the base

All three do the same thing. Only you and the receiver see the message, in grey italics. Press Tab to complete player names.

Message several players

/msg @a[distance=..20] Only players within 20 blocks see this
/msg @a[team=red] Only the red team sees this

Target selectors work as the receiver. See target selectors for filters.

Message your team (/teammsg)

/teammsg Attack from the east
/tm Attack from the east

On Java, this goes to everyone on your team; /tm is the short form. You must be on a team first (see the team command).

Describe an action (/me)

/me is going to sleep

Everyone sees * Steve is going to sleep in chat.

No operator rights needed

/msg, /tell, /w, /teammsg and /me work for every player, and in single player they work with cheats off. Some servers disable them with plugins.

Which command to use

GoalCommand
Quietly message one or a few players/msg (/tell, /w)
Message only your team/teammsg (Java)
Announce to everyone with your name/say
Colored or clickable text/tellraw
Big text in the middle of the screen/title

From a command block, /msg shows the sender as @. For minigame announcements, /tellraw looks cleaner.

Bedrock Edition

/msg, /tell, /w and /me work the same on Bedrock. Bedrock has no /teammsg.

Common problems

Common questions

Check your command

The Command Error Doctor checks common syntax mistakes in your browser.