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.

TargetWho gets the item
@pThe nearest player (you, when you type it in chat)
@sWhoever runs the command
@aEvery player online
@a[team=red]Only players on the red team
SteveOne 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 versionA diamond sword named "Hero Sword"
1.21.5+/give @p minecraft:diamond_sword[custom_name="Hero Sword"]
1.20.5–1.21.4/give @p minecraft:diamond_sword[custom_name='"Hero Sword"']
1.13–1.20.4/give @p minecraft:diamond_sword{display:{Name:'"Hero Sword"'}}

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

Common questions

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

  1. Open the Give generator and choose Java or Bedrock before entering an ID.
  2. Try /give @p minecraft:diamond_sword 1 in a test world. @p selects the nearest player; the final argument is the number of items.
  3. Enable the name or lore options only after the plain item works. Copy the entire generated command without changing quotation marks or brackets.
  4. 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.

Related tools