One binary.
Many languages.
Native performance.

Elide is a runtime, compiler, and toolchain.

curl -sSL --tlsv1.2 elide.sh | bash -s -
elide.pkl elide install
amends "elide:project.pkl"

name = "my-app"
local logbackVersion = "1.5.32"

dependencies {
  maven {
    packages {
      "com.google.guava:guava:33.5.0-jre"
      "org.slf4j:slf4j-api:2.0.17"
      "ch.qos.logback:logback-core:\(logbackVersion)"
      "ch.qos.logback:logback-classic:\(logbackVersion)"
    }
  }
}
Installer demo
$ elide install
Hello.ktelide build
// Built-in compiler.

fun greeting(name: String = "Elide") = "Hello, ${name}!"

fun main() {
  val x = 42
  println(greeting() + " The answer is ${x}")
}
Builder demo
$ elide kotlinc -- Hello.kt
elide.pkl
artifacts {
  ["classes"] = new Jvm.Jar {
    sources { "main" }
  }
  ["native"] = new Native.NativeImage {
    from { "classes" }
  }
}
$ elide build :native
36× faster than kotlinc
20× faster than javac
faster than CPython
Memory safe

Trusted by engineering teams

Apple Google Oracle Meta
Languages

Kotlin as a first-class citizen

Compiler plugins, KotlinX, and JUnit out of the box. No plugins, no configuration; it just works.

hello.kt
import kotlinx.serialization.json.Jsonimport kotlinx.serialization.Serializable
@Serializable data class Config(val name: String, val port: Int) fun main() { val config = Json.decodeFromString<Config>("""{"name":"elide","port":3000}""") println("Running ${config.name} on port ${config.port}") }
NORMAL hello.kt 10L, 285B
$ elide run hello.kt
Running elide on port 3000

Apple Pkl as an optional manifest format

Alongside package.json and pom.xml. Typed and composable, with dependencies that resolve automatically.

project.pkl
amends "elide:project.pkl"

name = "my-app"
local logbackVersion = "1.5.32"

dependencies {
  maven {
    packages {
      "com.google.guava:guava:33.5.0-jre"
      "org.slf4j:slf4j-api:2.0.17"
      "ch.qos.logback:logback-core:\(logbackVersion)"
      "ch.qos.logback:logback-classic:\(logbackVersion)"
    }
  }
}
NORMAL project.pkl 16L, 347B
Why Elide

From fragmented runtimes to a unified future

Performance
Compiled to native code
Kotlin, Java, and JavaScript compile ahead of time to native machine code for fast startup.
Safety
Runtime-level sandboxing
Your existing code runs inside a sandbox, so memory safety comes from the runtime rather than the language.
Productivity
One binary, every language
A single install replaces your JVM, Python, and Node toolchains so every developer can work in their preferred language.
Compatibility
Drop-in by design
Your existing source, imports, and APIs work unchanged, so adopting Elide requires no migration.
Install

Up and running in seconds

Script
$ curl -sSL --tlsv1.2 elide.sh | bash -s -
COPIED
Docker
$ docker run --rm -it elide.dev/elide
COPIED
GitHub Actions
uses: elide-dev/setup-elide@v4
COPIED
Newsletter

Register a callback

Get updates on releases, features, and announcements. No spam.