How to Download and Get Started with GraalVM
Updated
To get started with GraalVM, go to graalvm.org and use the two entry points on the homepage: Download and Get Started. The site currently highlights GraalVM 25.4, which it describes as bringing new compiler optimizations, smaller Native Image binaries, and advanced Truffle and WebAssembly capabilities. The homepage does not publish install commands, archive names, or a step-by-step setup guide, so treat the download page and Get Started page as the authoritative next stops rather than relying on secondhand instructions.
What GraalVM Is, in One Paragraph
GraalVM is described on its site as an advanced JDK with ahead-of-time Native Image compilation. You can use it as a JDK for developing, building, testing, debugging, and packaging Java applications, and you can additionally compile an application ahead of time into a native executable. That distinction matters for what you download and how you plan your first project.
Step 1: Choose Your Starting Point
The homepage organizes the workflow into five stages: Develop, Build, Test, Debug, Package & Deploy. Decide which one you need first:
| Your goal | Where to start | What to expect |
|---|---|---|
| Try GraalVM as a faster or more capable JDK | Download, then Get Started | A JDK you can point your existing build at |
| Produce a native executable | Download, then Get Started, then the Native Image material | Ahead-of-time compilation of your app into a standalone binary |
| Evaluate whether it fits an existing framework stack | Framework support information | Confirmation that Spring Boot, Micronaut, Helidon, or Quarkus support GraalVM |
If you are unsure, start by running your application on GraalVM as a JDK before attempting Native Image. Native Image adds constraints (for example around dynamic features), and separating the two steps makes problems easier to isolate.
Step 2: Download
Use the Download link on graalvm.org. The site does not state licensing terms, pricing, or whether an account is required on the pages reviewed here, so check the download page itself for the terms that apply to your use. Pick the build that matches your operating system and architecture; the download page is the place to confirm which builds exist for the current release rather than assuming a platform is covered.
Step 3: Follow Get Started
The Get Started link is the site's own onboarding path. Use it to confirm installation and environment setup for your platform, then verify the installation by checking that the java on your path is the GraalVM one and that its version matches the release you downloaded. The homepage does not document the exact commands, so follow the Get Started page rather than a remembered sequence.
Step 4: Run Your First Build
A practical first pass, in the order the site's workflow suggests:
- Develop — compile and run your application with GraalVM as the JDK. Confirm tests pass here before changing anything else.
- Test — run your existing test suite. This is where framework or library incompatibilities usually surface.
- Debug — if something fails, resolve it at this stage; debugging a JVM-mode failure is far easier than debugging a native build failure.
- Package & Deploy — only now attempt Native Image compilation, then package the resulting executable.
What You Gain from Native Image
The site lists four benefits of native executables, which are the reasons to invest in the extra build step:
- Low resource usage — native executables use only a fraction of the memory and CPU a JVM requires, improving utilization and reducing cost.
- Improved security — the executable contains only the classes, methods, and fields your application needs, reducing attack surface.
- Fast startup — ahead-of-time compilation means instant startup with no warmup to reach peak performance.
- Compact packaging — small executables with a range of linking options, suited to minimal container images.
These benefits come from ahead-of-time compilation, so they apply to the native executable, not to running the same application on the JVM.
Framework and Cloud Support to Check Before You Commit
GraalVM's site states that Spring Boot, Micronaut, Helidon, and Quarkus provide first-class support, and that SDKs from AWS, Microsoft Azure, GCP, and Oracle Cloud Infrastructure integrate with and support GraalVM. If your stack depends on a framework or cloud SDK not on these lists, verify compatibility with that project's own documentation before planning a native deployment — the GraalVM homepage does not claim coverage beyond what it names.
Common Sticking Points
- Skipping the JVM step. Going straight to Native Image makes failures ambiguous. Get a clean test run on the JVM first.
- Assuming the download page is the whole guide. The homepage gives you Download and Get Started as separate destinations; the setup detail lives on the latter.
- Treating Native Image benefits as automatic. Smaller binaries and instant startup follow from ahead-of-time compilation of a working application, not from installing GraalVM alone.
- Not confirming the release. The site currently features GraalVM 25.4; check that what you downloaded matches the release whose notes you are reading.