GitHub
The Java Version Almanac
javaalmanac.io
Feedback on this page?

Class File Versions

Each JDK Release comes with its class file version. Class files are backward compatible. But class files compiled for newer JDK releases cannot be executed and will result in an UnsupportedClassVersionError.

A class file version consists of a major and a minor version: <major>.<minor>

For recent JDK releases, the major version is incremented for every release and the minor version is 0. The only exception are class files which use preview features of that JDK release. In that case the minor version is 65535. A class file which uses preview features can only be loaded by the JDK release matching the major version. Loading such classes with a newer JDK release is not permitted.

The following table lists class file versions for each JDK release. Follow the linked JDK information to find download options for a suitable JDK.

JDK Version Class File Version
Java 1.0 45.0
Java 1.1 45.3
Java 1.2 46.0
Java 1.3 47.0
Java 1.4 48.0
Java 5 49.0
Java 6 50.0
Java 7 51.0
Java 8 52.0
Java 9 53.0
Java 10 54.0
Java 11 55.0
Java 12 56.0
Java 13 57.0
Java 14 58.0
Java 15 59.0
Java 16 60.0
Java 17 61.0
Java 18 62.0
Java 19 63.0
Java 20 64.0
Java 21 65.0
Java 22 66.0
Java 23 67.0
Java 24 68.0
Java 25 69.0
Java 26 70.0
Data Source