emCompress
Embedded SoftwareModular data compression library for embedded systems with DEFLATE, LZMA, and streaming decompression in minimal ROM. Available in India from GSAS.
Editions
Pro, ToGo, Embed, LZMA
Algorithms
DEFLATE, LZMA, SMASH-2, LZW, RLE, and more
Streaming
On-the-fly compress/decompress
Language
ANSI C, compiler-independent
License
Royalty-free, one-time payment
Overview
About emCompress
SEGGER emCompress is a family of data compression libraries optimised for embedded systems where ROM and RAM are limited but data reduction is essential, firmware update images, logged sensor data, web assets served from flash, and configuration files stored on-chip. Rather than offering a single algorithm, emCompress provides multiple editions, each targeting a different trade-off between compression ratio, decompression speed, and memory footprint. All editions are written in well-commented ANSI C, independent of compiler and target, and delivered as source code with royalty-free licensing.
Editions and Algorithms
| Edition | Algorithms | Streaming | Best For |
|---|---|---|---|
| emCompress-Pro | DEFLATE, LZMA, SMASH-2, LZPJ | Yes (compress + decompress) | Maximum flexibility, highest compression ratios |
| emCompress-ToGo | SMASH-2 | Yes (compress + decompress) | Smallest decompressor footprint |
| emCompress-Embed | DEFLATE, Huffman, LZW, LZSS, LZJU90, RLE-PAR | Decompress | Broad algorithm choice for embedded targets |
| emCompress-LZMA | LZMA | Decompress | Best ratio for firmware images and large blobs |
emCompress-Pro and emCompress-ToGo both support on-the-fly streaming, receiving a data stream and decompressing it as bytes arrive, which is critical for firmware update scenarios where the full compressed image cannot be buffered in RAM. emCompress-Embed provides a wider selection of classic algorithms for projects that need to match a specific format or optimise for decode speed.
Use Cases
Watch the SEGGER emCompress introduction
emCompress is widely used for reducing the size of firmware update packages (paired with emLoad or emSecure for secure delivery), compressing logged data on storage-limited devices, and shrinking web assets served by emWeb. Because there are no open-source or attribution requirements, emCompress can ship in commercial products without licence disclosure concerns. The modular architecture means only the selected algorithm is linked into the final binary, keeping code size to a minimum.
Choosing an Edition
- emCompress-Pro: pick this when the highest compression ratio and full compress-plus-decompress streaming matter more than decoder footprint, such as bidirectional data links or two-way firmware exchange
- emCompress-ToGo: pick this when the decompressor must be as small as possible, for example a bootloader that only ever decompresses, never compresses, an incoming firmware image
- emCompress-Embed: pick this when a project needs to match an existing external file format (DEFLATE for ZIP compatibility, LZW, or RLE) rather than choosing SEGGER’s own algorithm
- emCompress-LZMA: pick this for the largest single-shot payloads, such as full firmware images, where LZMA’s ratio advantage outweighs its lower throughput
SEGGER Ecosystem Integration
emCompress is designed to slot into an existing SEGGER-based update pipeline rather than operate in isolation. A typical firmware delivery flow compresses the image with emCompress-LZMA or emCompress-Pro, signs it with emSecure, transports it over emNet or emUSB, and decompresses and applies it with emLoad or emBoot-Secure on the target. Because every stage in that pipeline is licensed royalty-free with a one-time payment, adding compression does not introduce a new per-unit cost on top of the update mechanism already in use.
Blog
SEGGER Insights
SEGGER emCompress and emCompress-ToGo for Indian IoT Firmware Delta Updates
How Indian cellular IoT teams use SEGGER emCompress and emCompress-ToGo to cut OTA transfer size by 85-95% on NB-IoT, LTE-M, and BLE update channels without rewriting their bootloader.
SEGGER J-Link and J-Trace Now Support Andes Trace: Why This Matters for RISC-V
SEGGER's J-Link and J-Trace probes now support Andes Trace, the hybrid N-Trace plus E-Trace instruction-trace solution built into Andes RISC-V cores. Here is what Andes Trace is, why probe-level support closes one of RISC-V's last serious tooling gaps, and what it means for Indian embedded teams.
Choosing a SEGGER Flasher: Standalone vs Gang vs Secure vs Portable
Standalone, gang, secure, or portable, the SEGGER Flasher family covers four different production-programming problems, not one. Here is how Indian engineering and production teams should decide.
Related products
More from SEGGER
All SEGGER products →
embOS RTOS
Safety-certified real-time operating system with zero-interrupt-latency, sub-1 KB ROM footprint, and royalty-free licensing across Classic, MPU, Ultra, and Safe editions. India pricing via GSAS.
View embOS RTOS →
emPower OS
Complete embedded operating system integrating RTOS, middleware, security, connectivity, and UI libraries into a single royalty-free platform. Available in India from GSAS.
View emPower OS →
emNet TCP/IP Stack
Dual IPv4/IPv6 TCP/IP stack with TLS 1.3 via emSSL, zero-copy API, and ~30 KB ROM footprint. Includes MQTT, HTTP server/client, FTP, SNMP, DHCP, and DNS. India pricing and local support from GSAS.
View emNet TCP/IP Stack →FAQ
Common questions about emCompress
What is SEGGER emCompress?
Is emCompress royalty-free?
Which SEGGER middleware for compressing firmware update images?
Can I buy SEGGER emCompress in India?
Does emCompress support streaming decompression?
Interested in emCompress?
Get pricing, an evaluation unit, or a technical consultation from our application engineers.