Menu

Guidefor server owners4 min read

Which Java version does each Minecraft release need?

Java 25 from 26.1, Java 21 for 1.20.5 to 1.21.11, Java 17 from 1.18, Java 8 below that. The full table for every version in our 903 row spine.

The short version

Minecraft versionsRequired JavaRange opens withReleases in range
26.1 and later2526.1, 24 March 20264
1.20.5 to 1.21.11211.20.5, 23 April 202414
1.18 to 1.20.4171.18, 30 November 202113
1.17 and 1.17.1161.17, 8 June 20212
1.0 to 1.16.581.0, 17 November 201166

These are not rules of thumb. Each number is the Java major version Mojang states in the per version metadata for that release. Of the 903 Minecraft versions in our version spine, 885 carry a stated Java major: 552 rows on Java 8, 144 on Java 17, 119 on Java 21, 45 on Java 25 and 25 on Java 16. Those counts include snapshots, pre releases and release candidates, which is why they are much larger than the release counts in the table above.

Java 25 era: 26.1 and later

26.1 was the first calendar version and replaced what would have been 1.22. Every calendar era row we hold requires Java 25, all 45 of them, from 26.1-snapshot-1 on 16 December 2025 through the current 26.3-snapshot-5. There is no split inside the calendar era so far.

The four calendar releases are 26.1, 26.1.1, 26.1.2 and 26.2. 26.2 shipped on 16 June 2026 and speaks protocol 776. Java 25 is a long term support line, and the newest Temurin 25 general availability release in our Adoptium data is jdk-25.0.3+9.

Java 21 era: 1.20.5 to 1.21.11

1.20.5, released 23 April 2024, raised the requirement to Java 21. Fourteen releases sit in this band, ending at 1.21.11 on 9 December 2025, which is the last release in the 1.x line. Counting snapshots and candidates, 119 versions state Java 21.

This band is where most existing servers still are, and it is the one that gets confused with the calendar era. A 1.21.x server does not run on the Java requirement of 26.2, and a 26.2 server does not run on the Java 21 you installed for 1.21.8. Protocol numbers do not help you here either: 1.21.7 and 1.21.8 share protocol 772 and their clients and servers interoperate, yet a shared protocol says nothing about the runtime.

Java 17 era: 1.18 to 1.20.4

Thirteen releases from 1.18 on 30 November 2021 to 1.20.4 on 7 December 2023 state Java 17, and 144 versions in total once snapshots are included.

Note where the boundary falls. 1.20.4 wants Java 17 and 1.20.5 wants Java 21, so the requirement changed inside the 1.20 line rather than at a version people would think of as a major boundary. "The 1.20 series needs Java 17" is wrong for half of that series. Check the exact patch version, never the series.

Java 8 and 16 for older releases

1.17 and 1.17.1 are the only two releases that state Java 16, a line that never received long term support and that Adoptium last shipped as jdk-16.0.2+7. In practice most people run those two on Java 17 instead.

Everything from 1.0 on 17 November 2011 through 1.16.5 on 14 January 2021 states Java 8, which is 66 releases and 552 version rows. Eighteen rows from mid 2013 carry no Java major at all, from 13w24a to 13w38c, including the 1.6.1, 1.6.2 and 1.6.4 releases. Mojang's metadata for those files predates the field rather than declaring anything unusual, and Java 8 is the correct runtime for them.

Minimum is not the same as maximum

The stated major is a floor, not a pin. Java class files are forward loadable: a jar compiled for one class file version runs on any runtime that recognises that version or a higher one. That is why a 1.21.8 server usually starts on Java 25 even though it asks for 21.

What breaks it is everything outside the class file format. Older server jars, older plugin stacks and older mod loaders reach into JDK internals that later releases removed or closed off, use agents that changed shape, or depend on the security manager. The failure then is a NoSuchMethodError, an InaccessibleObjectException or a startup crash inside a library, not a clean version message.

A workable policy: for anything below 1.17, run exactly Java 8. For 1.18 and later, the stated major is safe, and one long term support line above it is usually fine if you test it against a copy of your world and your full plugin set first. The detail is in running old Minecraft versions on newer Java.

Full table for every version

The complete table is the site itself rather than a block of markdown. Every one of the 903 versions has a page carrying its Java requirement next to its protocol version, data version and official jar link, for example Minecraft 26.2. The version index lists them all in chronological order across both eras, and the Java version checker answers the single version case directly. Each Java page works the other way around and lists the Minecraft versions that require that runtime, alongside the Temurin builds we track for it.

What could change

The calendar era boundary is the thing to watch. Every 26.3 snapshot so far still states Java 25, so the next release is expected to keep that floor, but Mojang has moved the floor mid series before, as 1.20.4 to 1.20.5 shows. Adoptium already publishes Java 26 as jdk-26.0.1+8, which is not a long term support line, so a move there would be a change of kind rather than a routine bump.

To check the current answer yourself, open the version page for your exact patch version on the version index, or read the javaVersion.majorVersion field in Mojang's per version JSON, which is what this site imports. Our data resyncs from the Mojang manifest and the Adoptium API automatically, so the version pages update before this guide is next reviewed.

Frequently asked

What Java does 26.2 need?

Java 25. Mojang's metadata for 26.2, released 16 June 2026 and speaking protocol 776, states Java major 25, and so does every other calendar era version we hold.

What Java does 1.21.11 need?

Java 21. 1.21.11 was released on 9 December 2025 and is the last release in the 1.x line. Every release from 1.20.5 onwards states Java 21.

Is Java 25 a long term support release?

Yes. In the Adoptium data we sync, Java 8, 11, 17, 21 and 25 are marked long term support. Java 16, which 1.17 and 1.17.1 require, was not.

Do the client and the server need the same Java?

They need the same major version floor, because Mojang states one Java requirement per version and both jars are compiled against it. The official launcher downloads a matching runtime for the client on its own. A server you start yourself uses whatever java your start script resolves to, which is why servers hit version errors and clients rarely do.

Referenced on this site

Last reviewed 2026-07-27. Version data on this site updates automatically; this guide is reviewed by hand when the ecosystem changes.