Updated:
Basic /give command
A simple command looks like /give @p minecraft:diamond_sword 1. The target selector, item ID and count must be correct. If one part is missing, Minecraft may show an incomplete command error.
| Target | Who gets the item |
|---|---|
@p | The nearest player (you, when you type it in chat) |
@s | Whoever runs the command |
@a | Every player online |
@a[team=red] | Only players on the red team |
Steve | One player by name |
Java Edition can give up to 100 stacks in one command (6,400 of an item that stacks to 64). Items that do not fit drop at the player's feet.
Bedrock Edition syntax
/give @p diamond_sword 1 0
Bedrock uses the order target, item, amount, data value, and minecraft: is optional. Bedrock /give cannot add a name, lore or enchantments. Name the item on an anvil, or give it first and then use /enchant.
Custom items and weapons
For an item with a custom name, lore or enchantments, start by checking that the base item ID works. Add one option at a time and compare the output with the selected game version. Advanced item data must follow that version’s syntax; older Java NBT examples are not interchangeable with item components introduced in Java 1.20.5. Test in a disposable world before using it on a public server.
| Java version | A diamond sword named "Hero Sword" |
|---|---|
| 1.21.5+ | /give @p minecraft:diamond_sword[custom_name= |
| 1.20.5–1.21.4 | /give @p minecraft:diamond_sword[custom_name= |
| 1.13–1.20.4 | /give @p minecraft:diamond_sword{display: |
Up to 1.21.4 the name is a JSON string, so it is wrapped twice: '"…"'. From 1.21.5 a plain quoted string works. When you need a name, lore and enchantments together, pick your version in the Give generator instead of editing an old example by hand.
Common mistakes
- Using a Bedrock command in Java Edition or the opposite.
- Typing
minecraft/giveinstead of/give. - Missing a quote, bracket or comma in a custom item command.
- Using an old NBT example with a newer components-based command.
Common questions
- Nothing arrived: check the target.
@pfrom a command block picks the player nearest the block, not you. - "Unknown item": the ID may be from another version or edition, or misspelled. Try
minecraft:stonefirst. - Can I give to a player who is offline? No. /give only reaches players who are online.
- Does /give work without cheats? No. In single player, enable cheats (Open to LAN on Java), or ask a server operator.
Check your command
The Command Error Doctor checks common syntax mistakes in your browser.
A practical workflow: from a plain item to a custom item
- Open the Give generator and choose Java or Bedrock before entering an ID.
- Try
/give @p minecraft:diamond_sword 1in a test world.@pselects the nearest player; the final argument is the number of items. - Enable the name or lore options only after the plain item works. Copy the entire generated command without changing quotation marks or brackets.
- If the custom version fails, remove the most recently added option to isolate the incompatible part.
Version boundary: NBT versus item components
For Java versions before 1.20.5, item customization is commonly shown using NBT attached to the item. Starting with Java 1.20.5, item stacks use components and the command layout is different. Even when the basic /give command works in both eras, custom names, enchantments and data cannot be assumed to translate unchanged. Bedrock has its own rules and does not accept Java-style item NBT in /give.
Diagnosing a failed give command
First verify permission to use commands, then try a known ID such as minecraft:stone. If the result says the target was not found, replace a more selective target with @p in a single-player test. If it complains about an item argument, check the selected version and the exact item identifier. Check the give troubleshooting guide before adding complicated data back.