Minecraft /give Command
Gives an item or full stack directly to one or more players, with optional counts, custom components (Java 1.20.5+), and block interaction permissions (Bedrock).
Version Compatibility
Command Syntax
/give <targets> <item>[<components>] [<count>]/give <player> <itemName> [amount] [data] [components]Arguments Explained
targets / playerSelector / Player NameRequiredTarget entity receiving the items (e.g., @p nearest, @a all, or an exact gamer tag).
item / itemNameNamespaced Item IDRequiredThe official identifier of the item (e.g., minecraft:diamond_sword in Java, diamond_sword in Bedrock).
count / amountInteger (1-64)Number of items to give. Defaults to 1 if omitted. Can exceed 64 in Java for unstackables.
componentsComponents / JSONJava 1.20.5+ square-bracket components (e.g. [enchantments={levels:{"sharpness":5}}]) or Bedrock adventure JSON (can_place_on / can_destroy).
Practical Examples
/give @p minecraft:diamond 64Gives the nearest player a full stack (64) of diamonds.
Standard command for rewarding players or stocking inventories.
/give @s minecraft:netherite_sword[enchantments={levels:{"minecraft:sharpness":5,"minecraft:unbreaking":3}}]Java 1.20.5+: Gives yourself a Sharpness V, Unbreaking III Netherite Sword using modern component brackets.
Square bracket syntax [component=val] replaced legacy curly brace NBT in Java 1.20.5.
/give @p iron_pickaxe 1 0 {"minecraft:can_destroy":{"blocks":["stone","cobblestone"]}}Bedrock Edition: Gives an iron pickaxe that can only break stone and cobblestone in Adventure mode.
Crucial for Bedrock adventure maps with controlled puzzle progression.
/give @a minecraft:cooked_beef 32Gives 32 cooked beef to all connected players simultaneously.
Perfect for starting food kits or UHC events.
/give @p minecraft:potion[potion_contents={custom_effects:[{id:"minecraft:speed",duration:6000,amplifier:1}]}]Java 1.20.5+: Gives a custom Speed II potion lasting 5 minutes.
Demonstrates deep component nesting for custom consumables.
Common Mistakes
Mistake:
Using old curly brace NBT syntax like {Enchantments:[{id:"sharpness",lvl:5}]} on Java 1.20.5+
Fix:
Use modern component brackets: [enchantments={levels:{"minecraft:sharpness":5}}]
Mistake:
Using @s inside a standalone command block
Fix:
Command blocks cannot target themselves as a player. Use @p or /execute as @p run give @s ...
Mistake:
Expecting Bedrock Edition to accept enchantment data in /give
Fix:
Bedrock does not support enchantment parameters in /give. Give the item first, then run /enchant @p sharpness 5.
Java vs Bedrock Differences
Java Edition supports rich square-bracket components for enchantments, lore, attributes, custom models, and food components. Bedrock Edition uses numeric data values and limited JSON components strictly for adventure mode block placement permissions.
Command Block Usage & Automation
When used in Command Blocks, avoid using @s because the command block itself is the executor and @s evaluates to nothing. Always target players with @p (nearest player), @a (all players), or filtered selectors like @a[distance=..5]. Use Impulse command blocks connected to pressure plates for starter kits, or Chain Conditional blocks following a scoreboard balance test to dispense shop items.
Useful Tips
Java 1.20.5+ allows custom names and lore directly: diamond_sword[custom_name='{"text":"Excalibur","color":"gold"}']
In Java Edition, you can give yourself custom player heads: player_head[profile={name:"Notch"}]
For adventure maps, combine can_place_on and can_destroy to build lock-and-key exploration mechanics.
Important Notes
In Java 1.20.5 and newer, item components inside square brackets `[component=value]` replaced old NBT curly braces `{Tag:value}`. Bedrock Edition does not support custom enchantments or potion tags inside /give; enchantments on Bedrock must be added with /enchant or an anvil.
Frequently Asked Questions
Can I give items with custom names in Bedrock Edition with /give?
No, Bedrock /give does not support custom nametags. Use an anvil or custom addon item definitions.
Why do I get a red syntax error on Java 1.20.5 or 1.21?
You are likely using legacy curly brace {NBT} syntax. Modern Java 1.20.5+ requires square bracket components [component=value].
Can /give put items into an offline player's inventory?
No, the /give command only interacts with players who are currently online and loaded in the world.
Ready to build your command?
Use our interactive generator to create error-free /give commands with a visual interface.
Open Command Generator