Which Java version does each Minecraft version need?
A lookup table of the Java major version Mojang lists for every Minecraft release, generated from Mojang's own version manifest rather than from a forum thread. Newest release first.
What this covers: 102 Minecraft release versions, 99 of them with a published javaVersion, from the newest release 26.2 (released 2026-06-16) back to the oldest one in the manifest. Snapshots and pre-releases are not listed. This table is a snapshot of the manifest, regenerated by hand from the source below — it is not fetched live on every page view, so a Minecraft release newer than the one named here will not appear until the data is refreshed.
Read this before you rely on the table. javaVersion is the LAUNCHER's client-JRE selector. 1.18+ is corroborated by Mojang's changelogs; the Java 8 rows are a strong proxy, not an explicit server statement. Do not publish as an unqualified server requirement.
In practice: for Minecraft 1.18 and newer, Mojang's release notes state the same requirement for the server (1.18 moved to Java 17, 1.20.5 to Java 21), so those rows are safe to read as server requirements. For the Java 8 era the number is what the launcher shipped clients with, which is a strong indication of what the server needs but not a statement Mojang made about the server. Modded servers add their own constraints on top of these — a mod loader or a modpack can require a specific Java release the vanilla table does not.
Summary by Java version
| Java version | Minecraft releases | Newest | Oldest | Count |
|---|---|---|---|---|
| Java 25 | 26.1 – 26.2 | 26.2 (2026-06-16) | 26.1 (2026-03-24) | 4 |
| Java 21 | 1.20.5 – 1.21.11 | 1.21.11 (2025-12-09) | 1.20.5 (2024-04-23) | 14 |
| Java 17 | 1.18 – 1.20.4 | 1.20.4 (2023-12-07) | 1.18 (2021-11-30) | 13 |
| Java 16 | 1.17 – 1.17.1 | 1.17.1 (2021-07-06) | 1.17 (2021-06-08) | 2 |
| Java 8 | 1.0 – 1.16.5 | 1.16.5 (2021-01-14) | 1.0 (2011-11-17) | 66 |
| no requirement published | releases that pre-date the javaVersion field | 3 |
Every Minecraft release and its Java version
All release versions from the manifest, newest first. The Java column is javaVersion.majorVersion exactly as Mojang publishes it (see the caveat above). Machine-readable copy: /minecraft-java-version.json.
| Minecraft version | Java version | Released |
|---|---|---|
| 26.2 | Java 25 | 2026-06-16 |
| 26.1.2 | Java 25 | 2026-04-09 |
| 26.1.1 | Java 25 | 2026-04-01 |
| 26.1 | Java 25 | 2026-03-24 |
| 1.21.11 | Java 21 | 2025-12-09 |
| 1.21.10 | Java 21 | 2025-10-07 |
| 1.21.9 | Java 21 | 2025-09-30 |
| 1.21.8 | Java 21 | 2025-07-17 |
| 1.21.7 | Java 21 | 2025-06-30 |
| 1.21.6 | Java 21 | 2025-06-17 |
| 1.21.5 | Java 21 | 2025-03-25 |
| 1.21.4 | Java 21 | 2024-12-03 |
| 1.21.3 | Java 21 | 2024-10-23 |
| 1.21.2 | Java 21 | 2024-10-22 |
| 1.21.1 | Java 21 | 2024-08-08 |
| 1.21 | Java 21 | 2024-06-13 |
| 1.20.6 | Java 21 | 2024-04-29 |
| 1.20.5 | Java 21 | 2024-04-23 |
| 1.20.4 | Java 17 | 2023-12-07 |
| 1.20.3 | Java 17 | 2023-12-04 |
| 1.20.2 | Java 17 | 2023-09-20 |
| 1.20.1 | Java 17 | 2023-06-12 |
| 1.20 | Java 17 | 2023-06-02 |
| 1.19.4 | Java 17 | 2023-03-14 |
| 1.19.3 | Java 17 | 2022-12-07 |
| 1.19.2 | Java 17 | 2022-08-05 |
| 1.19.1 | Java 17 | 2022-07-27 |
| 1.19 | Java 17 | 2022-06-07 |
| 1.18.2 | Java 17 | 2022-02-28 |
| 1.18.1 | Java 17 | 2021-12-10 |
| 1.18 | Java 17 | 2021-11-30 |
| 1.17.1 | Java 16 | 2021-07-06 |
| 1.17 | Java 16 | 2021-06-08 |
| 1.16.5 | Java 8 | 2021-01-14 |
| 1.16.4 | Java 8 | 2020-10-29 |
| 1.16.3 | Java 8 | 2020-09-10 |
| 1.16.2 | Java 8 | 2020-08-11 |
| 1.16.1 | Java 8 | 2020-06-24 |
| 1.16 | Java 8 | 2020-06-23 |
| 1.15.2 | Java 8 | 2020-01-17 |
| 1.15.1 | Java 8 | 2019-12-16 |
| 1.15 | Java 8 | 2019-12-09 |
| 1.14.4 | Java 8 | 2019-07-19 |
| 1.14.3 | Java 8 | 2019-06-24 |
| 1.14.2 | Java 8 | 2019-05-27 |
| 1.14.1 | Java 8 | 2019-05-13 |
| 1.14 | Java 8 | 2019-04-23 |
| 1.13.2 | Java 8 | 2018-10-22 |
| 1.13.1 | Java 8 | 2018-08-22 |
| 1.13 | Java 8 | 2018-07-18 |
| 1.12.2 | Java 8 | 2017-09-18 |
| 1.12.1 | Java 8 | 2017-08-03 |
| 1.12 | Java 8 | 2017-06-02 |
| 1.11.2 | Java 8 | 2016-12-21 |
| 1.11.1 | Java 8 | 2016-12-20 |
| 1.11 | Java 8 | 2016-11-14 |
| 1.10.2 | Java 8 | 2016-06-23 |
| 1.10.1 | Java 8 | 2016-06-22 |
| 1.10 | Java 8 | 2016-06-08 |
| 1.9.4 | Java 8 | 2016-05-10 |
| 1.9.3 | Java 8 | 2016-05-10 |
| 1.9.2 | Java 8 | 2016-03-30 |
| 1.9.1 | Java 8 | 2016-03-30 |
| 1.9 | Java 8 | 2016-02-29 |
| 1.8.9 | Java 8 | 2015-12-03 |
| 1.8.8 | Java 8 | 2015-07-27 |
| 1.8.7 | Java 8 | 2015-06-05 |
| 1.8.6 | Java 8 | 2015-05-25 |
| 1.8.5 | Java 8 | 2015-05-22 |
| 1.8.4 | Java 8 | 2015-04-17 |
| 1.8.3 | Java 8 | 2015-02-20 |
| 1.8.2 | Java 8 | 2015-02-19 |
| 1.8.1 | Java 8 | 2014-11-24 |
| 1.8 | Java 8 | 2014-09-02 |
| 1.7.10 | Java 8 | 2014-05-14 |
| 1.7.9 | Java 8 | 2014-04-14 |
| 1.7.8 | Java 8 | 2014-04-09 |
| 1.7.7 | Java 8 | 2014-04-09 |
| 1.7.6 | Java 8 | 2014-04-09 |
| 1.7.5 | Java 8 | 2014-02-26 |
| 1.7.4 | Java 8 | 2013-12-09 |
| 1.7.3 | Java 8 | 2013-12-06 |
| 1.7.2 | Java 8 | 2013-10-25 |
| 1.6.4 | no requirement published | 2013-09-19 |
| 1.6.2 | no requirement published | 2013-07-05 |
| 1.6.1 | no requirement published | 2013-06-28 |
| 1.5.2 | Java 8 | 2013-04-25 |
| 1.5.1 | Java 8 | 2013-03-20 |
| 1.4.7 | Java 8 | 2012-12-27 |
| 1.4.6 | Java 8 | 2012-12-19 |
| 1.4.5 | Java 8 | 2012-12-19 |
| 1.4.4 | Java 8 | 2012-12-13 |
| 1.4.2 | Java 8 | 2012-11-24 |
| 1.3.2 | Java 8 | 2012-08-15 |
| 1.3.1 | Java 8 | 2012-07-31 |
| 1.2.5 | Java 8 | 2012-03-29 |
| 1.2.4 | Java 8 | 2012-03-21 |
| 1.2.3 | Java 8 | 2012-03-01 |
| 1.2.2 | Java 8 | 2012-02-29 |
| 1.2.1 | Java 8 | 2012-02-29 |
| 1.1 | Java 8 | 2012-01-11 |
| 1.0 | Java 8 | 2011-11-17 |
Where the numbers come from
Mojang publishes a version manifest for the Minecraft launcher at https://launchermeta.mojang.com/mc/game/version_manifest_v2.json. Each release listed there links to a per-version JSON that carries a javaVersion.majorVersion field. This page is generated from those files, one row per release version, and nothing on it is typed in by hand. Three early releases (the 1.6.x line) pre-date the field and are shown as “no requirement published”.
On a MineXHost server you do not pick the Java version yourself: MineXEngine selects the JVM for a server from the pack's Minecraft version and, where it can, from the server jar's own bytecode level, so a pack that needs a newer Java than its Minecraft version suggests still boots with the right one.