Basic mode: ranges and a button
Set how many enchantments and attributes you want, a level and amount range, and press Randomize. The tool picks eligible entries for the selected item category at random, weighted evenly, and skips anything that vanilla forbids combining (unless you turn that check off). This is the fast path when you just need a plausible loot item.
Advanced mode: weights and locks
Advanced mode shows every eligible enchantment and attribute as a row with a rarity weight and a Lock checkbox. Raise a weight to make that entry more likely to be picked; lower it toward zero to make it rare without excluding it outright. Locking a row pins it at an exact level or amount — it survives every reroll, and only the unlocked rows change. This is how you build "always Mending, sometimes something else" without re-rolling until Mending happens to show up.
The shared range fields above both panels (how many, what level) still apply in Advanced mode: they cap how many unlocked slots get filled around your locked picks.
Basic or Advanced: which one for which job
| Situation | Use | Why |
|---|---|---|
| Quick chest loot, one-off reward | Basic | Set a count and level range, click once, done. |
| A boss weapon that must always have Mending | Advanced | Lock Mending at level 1, let everything else reroll around it. |
| A whole loot table where Sharpness should be common and Silk Touch rare | Advanced | Weights bias the pick without excluding anything outright. |
| You don't care which enchantments, just "a few, not too strong" | Basic | Even weighting across every eligible entry is exactly that. |
Worked example: rolling a boss sword
Say you want a diamond sword that always carries Mending, plus two or three other enchantments that vary. In Advanced mode: tick Lock on the Mending row and leave its level at 1, set the shared enchantment count range to 2–3 (Mending counts toward that), and click Randomize a few times. One roll might come back as:
/give @p minecraft:diamond_sword[minecraft:enchantments={levels:{"minecraft:mending":1,"minecraft:sharpness":4,"minecraft:unbreaking":2}}] 1
Randomize again with the same locks and only Sharpness and Unbreaking change — Mending never moves, because it is locked rather than merely likely. That is the practical difference between raising a weight to 99 and ticking Lock: a high weight is still a roll that can fail, a lock cannot.
/give vs a loot table entry
This is the second, unrelated choice. A /give command rolls one concrete item right now: pick it, and the numbers in the output are final. Useful for a command block reward or handing something to a player directly.
A loot table entry is different on purpose. Instead of pre-rolling a level or an amount, the tool writes it as a number provider:
"amount": { "type": "minecraft:uniform", "min": 1, "max": 4 }
Paste that into a real loot table and every single drop rolls its own value in-game — one player's sword ends up with Sharpness 2, another's with Sharpness 4, from the exact same table. A /give command cannot do this; a command runs once and produces one outcome. If you are feeding a loot table rather than handing an item to one player, the loot table option is almost always what you want, not a cosmetic alternative to it.
Modern vs legacy item format
Minecraft 1.20.5 replaced most item NBT tags with data components. This tool follows the same two-way split covered in the components vs NBT guide: pick Modern for minecraft:enchantments / minecraft:attribute_modifiers components, or Legacy for the older Enchantments / AttributeModifiers NBT tags if you are targeting an old server.
FAQ
Does the "respect vanilla conflicts" checkbox slow anything down?
No, it just filters the candidate pool before a pick is made. With it off, the randomizer can produce combinations no enchanting table would ever offer — useful for a deliberately generous boss drop, not something to leave on by accident for a "realistic" loot table.
Can I lock an attribute the same way as an enchantment?
Yes. Advanced mode's attribute table has the same Weight and Lock columns as the enchantment table, and a locked attribute keeps its exact amount and operation across rerolls the same way a locked enchantment keeps its level.
What happens if my count range is larger than the eligible pool?
The tool fills as many slots as the category actually has enchantments or attributes for, then stops — a fishing rod category will never produce four enchantments if only two vanilla enchantments apply to it.
Why does the loot table output sometimes show a plain number instead of a range?
When an enchantment or attribute is locked (or its min and max happen to match), there is nothing to randomize, so the tool writes the plain value instead of wrapping a single number in a minecraft:uniform object.
Where to go next
Not sure why two enchantments will not roll together? Enchantment conflicts explained lists every vanilla incompatibility group. For a fully custom item instead of a random roll on a vanilla item, see the custom item catalog.