Install
ezu runs on nothing at all — no system graphics libraries, no GPU driver, no browser. Installing it needs a Rust toolchain only if you want to build from source (MSRV 1.89).
On macOS and Linux, from the Re:Earth tap:
brew install reearth/tap/ezuThat puts an ezu binary on your PATH. Check it:
ezu --helpEvery command is listed in the CLI reference.
From a release archive
Section titled “From a release archive”Homebrew installs a binary that every release also publishes directly, which is
the route to take on Windows or anywhere without brew. Pick the archive for
your platform from the
latest release — x86_64 and
aarch64 for Linux and macOS, x86_64 for Windows — and put the binary
somewhere on your PATH:
# Swap in the version and target you want.v=v0.9.0; t=aarch64-apple-darwincurl -fsSL "https://github.com/reearth/ezu/releases/download/$v/ezu-$v-$t.tar.gz" | tar xzsudo mv "ezu-$v-$t/ezu" /usr/local/bin/SHA256SUMS in the same release lists a checksum for each archive. The Linux
builds link against glibc 2.35, so they run on Ubuntu 22.04, Debian 12, RHEL 9
and anything newer.
From source
Section titled “From source”cargo install ezu-clicargo add ezuThe umbrella crate re-exports the workspace behind feature flags:
[dependencies]ezu = { version = "0.6", features = ["parallel"] }parallel pulls in Rayon and enables Evaluator::render_parallel. Leave it off
for wasm. See use from Rust and the per-crate map in
crates.
npm install @reearth/ezuThe package ships browser, Node, and workerd builds, in scalar and SIMD
variants, and exposes them through conditional exports — your bundler picks the
right one. See use in the browser.
go get github.com/reearth/ezu/goThe module path ends in go and the package is called ezu, so name it in the
import: import ezu "github.com/reearth/ezu/go". It embeds the renderer as a
wasm module and runs it on wazero, so there is no cgo and no
Rust toolchain — the module is a committed artefact, not something built at
go get time. See use from Go.
Example styles and brushes
Section titled “Example styles and brushes”Nothing is bundled into the library: a style names every brush, font, and image
it uses through its sources block. The painterly example
styles reference CC0 brushes by relative file: path, so render those from a
checkout:
git clone https://github.com/reearth/ezu && cd ezuls crates/ezu/examples/styles/# atlas.json photo-pop.json poi-field.json stained-glass.json# hillshade.json pencil-sketch.json risograph.json topo.json# watercolor.json brushes/Only pencil-sketch.json and watercolor.json need the checkout, for their
brushes. Every other example style — hillshade.json, topo.json, atlas.json
(its font is a URL), or anything ezu translate emits — renders straight from a
URL with no checkout.
Editor support
Section titled “Editor support”Point your editor’s JSON language server at the style schema and you get completion and as-you-type validation for all 82 ops:
ezu-style.schema.json— generated from the same registry the renderer uses.ezu schema --out ezu-style.schema.jsonregenerates it locally, including any custom ops you registered.ezu serveserves it at/schemas/ezu-style.jsonand the built-in editor consumes it directly.
Map renders on this site are made fromOpenStreetMap data viaProtomaps (© OpenStreetMap contributors), elevation from Re:Earth Terrain,Mapterhorn andEGM2008 (NGA), and aerial imagery from GSI Japan(© 国土地理院). The painterly styles use CC0 brushes byDavid Revoy.