How do you enchant and name items with /give using command blocks?


5 Answers 5


Add this to your command

{display:{Name:"Test Name"},ench:[{id:19,lvl:1}]}

It will give you a Item with the name "Test Name" with knockback 1.

You use this:


like that for enchantments. For names, use this:

display:{Name="Name of item"}

Remember to use curly brackets and colons inbetweeen.

If you just need the template for whatever reason, here it is pieced together:

/give @p (item id or minecraft:name) 1 0 {display:{Name:"(Name of item)"}, ench:[{id:(enchant id),lvl(1-sideways 8)},[{id:(enchant id),lvl(1-sideways 8)}, repeat enchant block...]}
  • Remember to use colons?
    – Bergi
    Commented Sep 29, 2014 at 0:53
  • Enchantment 19 is Knockback, Sharpness is 16. Although I think minecraft:sharpness also works, if you don't want to remember numbers.
    – MrLemon
    Commented Sep 29, 2014 at 21:28
  • In the second text, there is no closing bracket for the (
    – Mystery
    Commented Oct 26, 2015 at 11:10
  • I think you mean: display:{Name:"Name of item"} Note the colon.
    – JSideris
    Commented Jan 16, 2017 at 15:45
  • As of 1.13, ench is called Enchantments and ids are now strings instead of numbers.
    – pppery
    Commented Aug 10, 2018 at 0:36

To add on to 3dsboy08's answer, you can find a list that tells you which id corresponds to which enchantment here. Also, in order to add multiple enchantments at once, you need to use the following syntax inside the "ench" part:


As a "full" example, the following command would give you a stick called "Irritating Stick" with Sharpness V and Knockback II:

/give excalibur223 stick 1 0 {display:{Name:"Irritating Stick"},ench:[{id:16,lvl:5},{id:19,lvl:2}]}

If you are interested, you can find a table of other NBT tags you can add to items here.


Updated answer as of Java 1.16:

/give @p minecraft:bow{display:Name:{'[{"text":"chuck mc norris"}]'}}


/give @p minecraft:bow{display:{Name:"{\"text\":\"chuck mc norris\"}"}}

Mojang updated some of their JSON sequencing for the give command, and now the old name argument doesn't work like it used to. This is the updated command, giving you a bow whose name is "chuck mc norris".

  • In 1.14+, you can actually use single quoted strings instead of double quoted strings. So instead of: Name:"{\"text\":\"This is ExpertCoder14's computer\"}" try this instead: Name:'[{"text":"This is ExpertCoder14\'s computer."}]'
    – One 2 Many
    Commented Jul 28, 2020 at 17:42
  • hmm, so strings don't work the same way in minecraft as in programming (i.e. java)? that's interesting. I had never noticed because I'm used to using double quotes. Commented Jul 28, 2020 at 17:45
  • Yes, they've changed it to be more like Python, accepting both single and double quoted strings. With all NBT JSON text string tags, they are now converted into single quoted ' format, no matter how you type them. So typing Name:"\"hello world\"" would automatically be converted into Name:'"hello world"'.
    – One 2 Many
    Commented Jul 28, 2020 at 17:47
  • I don't really see why though, the answer would remain completely unchanged in that value is not added with the edit. Commented Jul 28, 2020 at 20:17
  • ah i see, i'll put that as the first option and the original as the second. i didn't realize that it replaces the backslashes, sorry. big brainfart. Commented Jul 28, 2020 at 20:36

The following command would give the nearest player a bow called Chuck Norris' Gun with the enchantments 48 (Power), 51 (Infinity), 50 (Flame) and 34 (Unbreaking). These enchantments are all level 10000.

/give @p bow 1 0 {display:{Name:"Chuck Norris' Gun"},ench:[{id:48,lvl:10000},{id:51,lvl:10000},{id:50,lvl:10000},{id:34,lvl:10000}]}
  • Edited the question to explain the command.
    – nelson2tm
    Commented Apr 13, 2016 at 15:42

This command would give the nearest player a book called Death Note with the enchantment 16 (Sharpness) level 100.

/give @p book 1 0 {display:{Name:"Death Note"},ench:[{id:16,lvl:100}]}
  • Edited the question to explain the command.
    – nelson2tm
    Commented Apr 13, 2016 at 15:44

Not the answer you're looking for? Browse other questions tagged .