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)"
}
}
} 
$ 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}")
} 
$ 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.Json
import 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/elideCOPIED
GitHub Actions
uses: elide-dev/setup-elide@v4COPIED
Newsletter
Register a callback
Get updates on releases, features, and announcements. No spam.
Please enter a valid email address.