| Type | Command |
|---|
Data checked Oct 21, 2026
The /give command puts items directly into a player’s inventory in Minecraft. It is the fastest way to get blocks and tools for building, test redstone, set up custom maps, hand out rewards on servers, or give yourself items that do not appear in the Creative inventory, such as command blocks and debug sticks. This command reference covers the full syntax in Java and Bedrock, how to give enchanted and custom items, quantities, target selectors, permissions and common errors.
Syntax
| Edition | Syntax |
|---|---|
| Java | /give <targets> <item> [count] |
| Bedrock | /give <player> <itemName> [amount] [data] [components] |
- targets or player: who receives the item. Use your own name, @s for yourself, @p for the nearest player, @a for everyone or @r for a random player.
- item: the item ID, such as diamond, oak_planks or netherite_sword. In Java you can add data components in square brackets for custom names, enchantments and more.
- count or amount (optional): how many to give. The default is 1. If the amount is more than a stack, the game splits it into several stacks.
- data (Bedrock): an older value for item variants; usually 0.
- components (Bedrock): JSON for special behavior, such as can_place_on or keep_on_death.
Basic examples
| Command | Result |
|---|---|
| /give @s diamond 64 | A stack of diamonds for you |
| /give @a bread 16 | 16 bread for every player |
| /give Steve netherite_sword | A netherite sword for Steve |
| /give @p oak_log 128 | Two stacks of oak logs for the nearest player |
| /give @s command_block | A command block, not in the Creative menu |
| /give @s debug_stick | Java: the debug stick for editing block states |
| /give @s elytra | An elytra for testing flight |
Finding item IDs
Item IDs are lowercase with underscores, such as golden_apple, ender_pearl or diamond_pickaxe. In Java, press F3 + H to turn on advanced tooltips, then hover over an item in your inventory to see its ID. In both editions, the chat suggests IDs as you type, so press Tab (Java) or use the suggestions list (Bedrock) to autocomplete.
Giving enchanted and custom items (Java)
Java Edition uses data components in square brackets after the item ID. The exact format has changed across versions, so if a command from an older guide fails, it is usually because it uses the old NBT format with curly braces. Common uses include:
- Enchantments: give a sword with Sharpness V by adding an enchantments component listing sharpness at level 5.
- Custom names: use the custom_name component with text to name an item, for example a sword called Excalibur.
- Unbreakable: the unbreakable component makes tools never lose durability.
- Lore: add description lines with the lore component.
Because the syntax is detailed and version-specific, many players use online command generators set to their exact Java version, then paste the result. Command blocks accept the same syntax for adventure maps.
Giving special items in Bedrock
Bedrock uses JSON components at the end of the command. Two popular ones are can_place_on and can_destroy, which let Adventure-mode players place or break specific blocks with the item, and keep_on_death, which keeps the item after death, and item_lock, which stops it being dropped or moved. Bedrock does not support enchanting through /give directly; give the item, then use the /enchant command while holding it.
Items you can only get with /give
- Command block and its chain and repeating versions.
- Structure block, jigsaw block and structure void.
- Barrier and light blocks for invisible walls and lighting in maps.
- Debug stick in Java, to change block states like stair shapes and fence connections.
- Knowledge book in Java, used with recipe unlocking.
- Spawn eggs and other operator items, depending on the edition.
Permissions
/give requires cheats in single player or operator status on a server (permission level 2 in Java). On Realms, the owner can grant operator status. In Bedrock, using commands with cheats on disables achievements in that world.
Common errors
- Unknown item: the ID is misspelled or uses spaces. Use underscores, for example red_bed instead of red bed.
- Expected whitespace or invalid component: the Java component syntax is wrong or outdated for your version.
- Item does not appear: your inventory is full. Extra items drop on the ground at your feet.
- No player found: the target name is wrong, or the player is offline.
- Count too large: Java limits a single /give to a set number of items; split very large amounts into several commands.
Practical uses of /give
- Building: give yourself stacks of blocks without opening the Creative menu.
- Testing: try out weapons, armor and redstone parts before using them in Survival.
- Map making: hand out starter kits with command blocks when players enter an area.
- Servers: staff can reward event winners or replace items lost to bugs.
- Learning: new players can explore items safely in a test world.
Related commands
- /clear: remove items from inventories.
- /enchant: enchant the item you are holding.
- /gamemode: switch to Creative.
- /summon: spawn mobs and entities.
/give FAQ
How do you use /give in Minecraft?
Type /give, a target such as @s, the item ID and an optional amount, for example /give @s diamond 64.
How do you give yourself a command block?
/give @s command_block, with cheats enabled.
How do you give enchanted items?
In Java, add an enchantments component. In Bedrock, give the item and then use /enchant.
Does /give work on Realms?
Yes, for operators.
Using /give with command blocks
Command blocks run /give automatically, which is how adventure maps and minigames hand out kits. Place a command block, set it to Impulse and Needs Redstone, type a command such as /give @p iron_sword, and connect a button. Every press gives the nearest player a sword. Use a Repeat command block with a target selector that checks a tag or score to give items only once, and pair it with /clear to reset inventories between rounds. On servers, kit plugins do the same thing, but command blocks work in single player and Realms without any plugins.
Target selectors with /give
Selectors make /give far more powerful. The @a selector gives every online player the item, which is perfect for event rewards. You can filter selectors in brackets: @a[team=red] gives only the red team an item, @a[distance=..10] gives items to players within ten blocks, and @r gives a random player a prize. In Java you can also target players with a specific tag, set with /tag, so only players who completed a challenge get the reward. Bedrock supports the same basic selectors with slightly different filter options, such as r for radius.
How many items can you give at once?
A single /give can hand out multiple stacks at once. If the amount is larger than what fits in the inventory, extra items drop as entities at the player’s feet. Very large numbers create many dropped item entities, which can cause lag, so give large amounts in batches or use shulker boxes filled with items instead. Unstackable items such as tools and armor are given one per slot, so giving 64 swords fills most of an inventory.
Tip: in Bedrock, typing /give and a space shows a list of every item ID, so you can scroll and pick instead of remembering exact names. In Java, the Tab key cycles through matching IDs as you type, which avoids most spelling mistakes.