One command per line. Comments and a leading slash are kept. It all runs in your browser.
Loading the Bedrock tables...
Paste one Java command or a whole function file and this converter rewrites each line in Bedrock syntax. A line that needs a compromise says what was dropped, and a line Bedrock has no way to run says why, so nothing quietly turns into a broken command.
The two editions share most command names, but the arguments drift apart in small ways that break a pasted command. @e[type=zombie,limit=1,distance=..5] becomes @e[type=zombie,r=5,c=1]. effect give @a speed 30 1 loses the word give. xp add @s 5 levels becomes xp 5L @s. Block states are named differently too: a stair's facing=east is "weirdo_direction"=0 on Bedrock. A few dozen entities, items, effects and sounds have other ids as well, the evoker being evocation_illager.
The converter is the same translator the pack converter uses to turn Java data packs into Bedrock add-ons. It was checked by converting 33 popular data packs, more than 81,000 commands, and loading every result on a Bedrock Dedicated Server, which rejects a function over a single line it can't parse. Entity, effect, enchantment, item and gamerule names were each tested on the server the same way.
Bedrock commands can't read or write NBT, so the data command, execute store, nbt selector checks other than items, and most summon NBT have nothing to become. There are no teams, bossbars, attributes, advancements or trigger objectives, and functions can't take macro arguments or return early. Where a Java pack leans on those, the converted lines run but the logic around them needs a different approach on Bedrock.
A few things convert with a known loss. Bedrock's particle command plays one emitter, so the Java spread, speed and count are dropped. Damage amounts round to whole numbers. Locating a Java village biome variant finds the nearest village of any kind, and the desert pyramid, jungle temple, witch hut and igloo all come back from Bedrock's single temple search. Each of these shows under the command so you can decide whether it matters.
Most of them, once they're rewritten. Bedrock took Java's execute syntax in 1.19.50, so execute chains carry over nearly as they are, but selectors, text, effects and many names are written differently. Paste the Java command into the converter and copy the Bedrock version. Commands that read or write NBT, like data, have no Bedrock form at all, and the converter says so instead of guessing.
Bedrock's summon command has no NBT. It takes one spawn event instead, and the converter uses it: a Java villager with a profession becomes a summon with minecraft:become_librarian (or the matching profession), IsBaby becomes minecraft:as_baby, a powered creeper becomes minecraft:become_charged and a wolf variant becomes its spawn_wild event. A custom name carries over, and tags are added with a tag command straight after. Anything else in the NBT, such as NoAI or equipment, has nowhere to go and is listed under the command.
Java's limit becomes c, distance becomes r and rm, level becomes l and lm, gamemode becomes m, and the rotation arguments become rx, rxm, ry and rym. A Java nbt check on a held item, inventory or armor slot turns into Bedrock's hasitem. Teams, predicates, advancements and other NBT checks have no Bedrock argument, so those lines are left out with the reason.
Yes. Java text components, in the older JSON form or the SNBT form used since 1.21.5, become Bedrock rawtext. Colors and bold or italic turn into section-sign codes, scores and selectors keep working, and translate keys are renamed to Bedrock's. Click and hover actions are dropped because Bedrock chat has neither.
Anything built on NBT or on systems Bedrock lacks: the data command, execute store, execute on and execute summon, function macros, return, bossbar, team, attribute, advancement and trigger. Some particles and a few entities (markers and display entities) have no Bedrock counterpart either. Each left-out line shows why, and the .mcfunction download keeps it as a comment so you can see where it was.
Copy a single command into chat or a command block with cheats on. For a longer list, download the behavior pack, import it, turn it on in your world's behavior packs and run /function converted. The pack needs Bedrock 1.21.0 or newer.
Converting a whole data pack? Use the pack converter: