Download Java — Free OpenJDK for Windows, Mac, Linux
Trusted Java downloads for every platform and every supported version. All builds are free, open-source OpenJDK distributions from Eclipse Temurin, Microsoft, Amazon Corretto, Azul Zulu — plus Oracle JDK when a subscription applies. Clicking a button takes you to the official vendor page for the final download.
Java 21 LTS
Virtual threads, records, pattern matching. Supported by every modern framework. The default choice for new projects in 2026.
See all Java 21 downloads →Java 25 LTS
Released September 2025. Adds structured concurrency (stable) and value objects preview.
See Java 25 downloads →Java 17 LTS
Sealed classes, records finalised. Still the target for many production systems and frameworks.
See Java 17 downloads →All Java versions
Pick a version to see every OS, architecture and vendor combination. LTS versions (8, 11, 17, 21, 25) get free patches for years; non-LTS versions (18–20, 22–24, 26) are six-month releases with shorter support.
Java 25 LTS
Released Sept 2025 · Structured concurrency, value objects preview
Java 21 LTS
Released Sept 2023 · Virtual threads, pattern matching in switch, sequenced collections
Java 17 LTS
Released Sept 2021 · Sealed classes, records, pattern matching for instanceof
Java 11 LTS
Released Sept 2018 · HttpClient, local-variable syntax for lambda parameters
Java 8 Legacy LTS
Released March 2014 · Still the most deployed Java version worldwide. Lambdas, streams, java.time
Which JDK distribution should I pick?
All the OpenJDK distributions listed here are built from the same source code — they run your Java program identically. The differences are in packaging, patch cadence, and support model.
| Vendor | License | Commercial use | Best for |
|---|---|---|---|
| Eclipse Temurin | GPL v2 + Classpath Exception | Free | Default choice — most widely adopted, all platforms, monthly security patches |
| Microsoft Build of OpenJDK | GPL v2 + Classpath Exception | Free | Azure and Windows environments, integrates with winget |
| Amazon Corretto | GPL v2 + Classpath Exception | Free | AWS workloads, long-term patch support |
| Azul Zulu | GPL v2 + Classpath Exception (Community) | Free (Community edition) | Broad platform coverage including Alpine Linux (musl) |
| Oracle JDK | Oracle NFTC / commercial OTNL | Requires subscription for commercial production | Organisations already under Oracle support contracts |
Installing via package manager (alternative to downloading)
Most developers should skip the installer download and use their OS package manager — it handles upgrades automatically.
Windows
winget install EclipseAdoptium.Temurin.21.JDK
# or Microsoft build:
winget install Microsoft.OpenJDK.21
macOS (Homebrew)
brew install openjdk@21
# follow the brew hint to symlink it into /Library/Java/JavaVirtualMachines/
Ubuntu / Debian
sudo apt update
sudo apt install openjdk-21-jdk
Fedora / RHEL
sudo dnf install java-21-openjdk-devel
SDKMAN! (works on macOS / Linux)
curl -s "https://get.sdkman.io" | bash
sdk install java 21.0.3-tem
Safety and trust
Every download button on this site links through to the official vendor page — we don't mirror binaries, we don't rehost them, and we never redirect through third-party download portals. The vendors listed (Adoptium, Microsoft, Amazon, Azul, Oracle) publish binaries signed with their own keys and publish SHA-256 checksums on their release pages.
Avoid these download sources:
- FileHippo, Softonic, CNET Downloads — wrap installers in adware.
- Generic download portals asking to install a "download manager" first.
- Any URL that isn't the vendor's own domain (
adoptium.net,learn.microsoft.com,aws.amazon.com,azul.com,oracle.com).
After you download: verify the installation
Open a new terminal (Command Prompt / Terminal.app / bash / zsh) and run:
java -version
javac -version
Both should print the version you just installed. If java is not recognised, see the PATH troubleshooting guide. If java works but javac doesn't, you installed a JRE instead of a JDK.
Full walkthroughs per OS:
Frequently asked questions
Is Java really free for commercial use?
Yes — as long as you use an OpenJDK distribution (Temurin, Microsoft, Corretto, Zulu). The GPL v2 with Classpath Exception explicitly permits commercial use. Only Oracle JDK requires a paid Oracle Java SE subscription for production use. Full answer →
JDK or JRE — which do I need?
Install the JDK. It is a superset of the JRE and only a few hundred MB larger. You need the JDK to compile any Java code; the JRE only runs pre-compiled programs. Modern OpenJDK vendors mostly ship only JDK builds anyway. Full answer →
What is the difference between Java 8, 11, 17, 21 and 25?
Each is a Long-Term Support release with different language features and performance improvements. Java 8 (2014) introduced lambdas and streams; Java 11 (2018) added HttpClient and new String methods; Java 17 (2021) added records, sealed classes and pattern matching; Java 21 (2023) added virtual threads and pattern matching in switch; Java 25 (2025) added structured concurrency. Pick the newest LTS your framework supports. Full answer →
Do I need Java installed to play Minecraft?
Usually not — the official Minecraft launcher ships its own bundled JRE since 2021. You only need a system Java install for modded setups, third-party launchers (Prism, MultiMC), or running a Minecraft server. Full answer →
How do I check if Java is already installed?
Open a terminal and run java -version. If it prints a version string, Java is installed and on your PATH. If it says "command not found" or "not recognized", Java is not installed or not on PATH. Full answer →
Where should I download Java from?
Use one of the official vendor pages: adoptium.net, learn.microsoft.com/java/openjdk, aws.amazon.com/corretto, azul.com/downloads, or Oracle's own site for Oracle JDK. All buttons on this page link through to one of these. Full answer →