One binary.
Many languages.
Native performance.

Elide is a runtime, compiler, and toolchain.

curl -sSL --tlsv1.2 elide.sh | bash -s -

Install via Homebrew, apt, and RPM, macOS and Windows installers, or GitHub Releases.

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
3× faster than CPython
Opt-in sandbox
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}") }
$ elide run hello.kt
Running elide on port 3000

Apple Pkl as an optional manifest format

Run files without one; add an elide.pkl to build. Elide also reads dependencies from package.json and pom.xml.

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)"
    }
  }
}
Why Elide

From fragmented runtimes to a unified future

Performance
Native speed
Elide ships as one native binary, with JDK 25 and Kotlin bundled for JVM work.
Safety
Opt-in sandboxing
Opt-in flags limit file, network, and subprocess access per run, and cap heap, workers, open files, and run time.
Productivity
One binary, every language
A single install runs Java, Kotlin, JavaScript, and TypeScript, with Python as an optional component, so every developer can work in their preferred language.
Compatibility
Built for existing code
Node programs and npm packages run directly, Maven dependencies install from elide.pkl or pom.xml, and elide adopt migrates Maven and Gradle builds.
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.