# One binary.  
Many languages.  
Native performance.

Elide is a runtime, compiler, and toolchain.

[Install Elide](https://elide.help/docs/installation) [Read the docs](https://elide.help) 

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

Install via [Homebrew, apt, and RPM](https://elide.help/docs/installation/packages), [macOS and Windows installers](https://elide.help/docs/installation/packages#native-installers), or [GitHub Releases](https://github.com/elide-dev/elide/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](https://elide.dev/assets/installer.dc3167a7.gif)](https://elide.dev/assets/installer.dc3167a7.gif "View full size") 

$ 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](https://elide.dev/assets/builder.63dfebc4.gif)](https://elide.dev/assets/builder.63dfebc4.gif "View full size") 

$ 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](https://kotlinlang.org) 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](https://pkl-lang.org/main/current/index.html) 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.

Source: https://elide.dev/
