Run Programs Faster Anywhere


High-performance polyglot VM

GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Groovy, Kotlin, Clojure, and LLVM-based languages such as C and C++.

GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js or Oracle Database.

OUR ADVANTAGES What does GraalVM do?


Zero overhead interoperability between programming languages allows you to write polyglot applications and select the best language for your task.

Find out more
const express = require('express');
const app = express();
app.get('/', function(req, res) {
  var text = 'Hello World!';
  const BigInteger = Java.type(
  text += BigInteger.valueOf(2)
  text += Polyglot.eval(
    'R', 'runif(100)')[0];
$ javac
$ time java HelloWorld
user 0.070s
$ native-image HelloWorld
$ time ./helloworld
user 0.005s


Native images compiled with GraalVM ahead-of-time improve the startup time and reduce the memory footprint of JVM-based applications.

Find out more


GraalVM can be embedded in both managed and native applications. There are existing integrations into OpenJDK, Node.js and Oracle Database.

Find out more
import org.graalvm.polyglot.*;
public class HelloPolyglot {
  public static void main(String[] args) {
    System.out.println("Hello Java!");
    Context context = Context.create();
      "print('Hello JavaScript!');");

Get started with GraalVM

Java Developer

Are you working on a Java application? Run your program faster, create native images, or make your code extensible.

Node.js Developer

Are you a JavaScript developer building Node.js apps? Run JavaScript in the database, use existing Java libraries, monitor and profile your code easily!

Ruby, R, or Python Developer

Would you like to troubleshoot your Ruby, R or Python app with Chrome Debugger? It is possible with GraalVM!

Tool or Language Implementor

Are you developing Web applications for multiple platforms or would you like to extend the GraalVM ecosystem with your own language?


In the Highlights