AVIF
libavif, libaom and dav1d. Alpha and high bit depth.
Native-quality AVIF and JPEG conversion that deploys like an ordinary JVM library. No CLI, package installation, JNI, or runtime download.
dependencies {
implementation("no.beint.glimt:all:0.5.0")
}
var images = ImageConverter.builder()
.longestEdge(1600)
.quality(85)
.build();
byte[] avif = images.toAvif(upload);
Bring the JAR. Nothing else. Glimt defaults to ReAI's musl runtime; select macOS, glibc or a portable bundle explicitly.
The useful formats, built in
Content detection, orientation, colour handling, resizing and limits are shared. Add or remove decoders without changing application code.
libavif, libaom and dav1d. Alpha and high bit depth.
Fast decoding and highly efficient standard JPEG output.
Palette, alpha, interlace, profiles and 16-bit input.
Lossy, lossless, alpha and first-frame composition.
Mobile uploads through libheif and replaceable libde265.
JPEG XL, GIF, TIFF, BMP, PSD, ICO, TGA and PNM.
Start here
The all artifact is the reliable default for services that accept user uploads. It includes every Glimt decoder and ReAI's Linux musl native bundles.
implementation("no.beint.glimt:all:0.5.0")
When size matters
Use the AVIF or JPEGli encoder, then add only the input formats and native resize module you need.
implementation("no.beint.glimt:jpegli:0.5.0")
runtimeOnly("no.beint.glimt:jpeg:0.5.0")
runtimeOnly("no.beint.glimt:png:0.5.0")
runtimeOnly("no.beint.glimt:resize:0.5.0")
Designed for untrusted uploads
FFM is not a sandbox. Glimt treats limits, provenance and reproducible verification as part of the library contract.
Read the design →Input bytes, decoded pixels, metadata, output size, queued bytes and concurrent CPU work.
Apply orientation, retain alpha and supported colour profiles, and resize in user-visible coordinates.
Pinned sources, checksums, sanitizer gates, clean runtimes, complete notices and no startup network access.
Small API. Serious codecs.
Skip a shared HTTP service until scale or isolation gives you a concrete reason to add one.