Skip to content

Type to search across every guide and reference page.

KnowledgeBoth · 26.x

What Language Is Minecraft Coded In? Java and C++

Minecraft Java Edition is written in Java; Bedrock Edition is written in C++. Why there are two codebases, and what that changes for mods and cross-play.

By minecraft.bd Editorial Team·Updated

Minecraft Java Edition is written in Java. Minecraft Bedrock Edition is written in C++. They’re two separate games built to play the same way, and that split explains most of the differences people notice between them.

Why there are two

Markus “Notch” Persson wrote the first version of Minecraft in Java in 2009. Java was a sensible choice for a solo developer: the same program ran on Windows, macOS and Linux, and early Minecraft even ran inside a web browser as a Java applet.

Phones and consoles were a different problem. Java didn’t run well, or at all, on that hardware. So in 2011 Mojang started Pocket Edition as a fresh codebase in C++, which compiles to native code for each device. Over the years that codebase grew into what’s now called Bedrock Edition (2017), which runs on Windows, Xbox, PlayStation, Switch, Android and iOS. The full family tree is in every Minecraft edition, explained.

What it changes for players

Mods. Java programs are relatively easy to decompile and modify, and Mojang publishes mappings that make the code readable. That’s why Java has an enormous mod scene with loaders like Fabric and NeoForge (our Forge vs Fabric page explains the options). Bedrock’s compiled C++ can’t be modded the same way, so it uses add-ons instead: data-driven packs in JSON plus a JavaScript scripting API.

Performance. Bedrock generally runs more smoothly on low-end hardware and phones. Java relies more on the CPU and on memory, and performance mods like Sodium exist because of that.

Cross-play. Bedrock’s single codebase is why a phone player can join a friend on Xbox. Java players can only join Java servers.

Small mechanical differences. Redstone timing, mob spawning, combat cooldowns and some farm designs behave differently because each edition implements them separately. When a tutorial doesn’t work, check which edition it was made for. Our Java vs Bedrock page lists the differences that matter most.

Other languages in the mix

  • JSON for data packs, resource packs, add-ons, loot tables and recipes.
  • mcfunction files, which are lists of game commands, for Java data packs.
  • JavaScript for Bedrock’s Script API and for Minecraft Education’s MakeCode.
  • Python in MakeCode and Minecraft Education’s coding tools.
  • GLSL for shaders.

Want to write some of it yourself?

If you want to make a Java mod, you’ll need to learn Java; how to make a Minecraft mod shows the setup. If you’re starting from zero, the gentler route is block coding first, explained in learning to code with Minecraft.

Common questions

Is Minecraft made in Java?

Java Edition is. Bedrock Edition, the version on consoles, phones and the Windows store, is written in C++. They are separate programs that Mojang keeps as close as it can.

Does Bedrock use any other languages?

Add-ons for Bedrock are written in JSON, and its Script API uses JavaScript. The game engine itself is C++.

Do I need Java installed to play Minecraft Java Edition?

No. The Minecraft Launcher downloads the right Java runtime for each game version automatically.

Sources & verification

Facts on this page are checked against these references and in-game behavior for the stated edition(s). how we verify.

Keep reading