---
icon: material/arrow-expand-all
title: "Expand Libraries"
---

# Expand Libraries

Open-source libraries for expanding [compact](https://doc.log10x.com/run/transform/#compact) events produced by the [Receiver (Compact mode)](https://doc.log10x.com/apps/receiver/). Each library expands events from compact form by resolving templates and substituting variable values, the reverse of the compact step performed at the edge.

## :material-language-java: Java Decoder

The Java decoder is used by platform plugins that need to expand compact events within JVM-based search and analytics engines. The [:simple-elasticsearch: L1ES plugin for Elasticsearch](https://doc.log10x.com/apps/receiver/compact/elasticsearch/) uses this library to transparently expand compact events at query time, so Kibana dashboards, searches, and alerts work unchanged on optimized data.

<div style="display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap;" markdown>
[:material-github: log10x-decoder-java](https://github.com/log-10x/log10x-decoder-java){ .md-button target="_blank" }
</div>

## :material-language-javascript: JavaScript Decoder

The JavaScript decoder expands compact events client-side, for example in the [homepage demo](https://log10x.com/#run-poc){target="_blank"} event viewer (Raw, Template, Variables, Pattern).

<div style="display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap;" markdown>
[:material-github: log10x-decoder-js](https://github.com/log-10x/log10x-decoder-js){ .md-button target="_blank" }
</div>
