LZMA Decompress
Decompress LZMA-Alone data back to text or bytes.
Decompress LZMA-Alone data in your browser. Free, offline, runs entirely client-side. Read more Show less
What is LZMA decompression?
LZMA decompression reverses the compression performed by LZMA Compress. It reads a Base64 or hex encoded LZMA-Alone stream and produces the original data.
LZMA-Alone is the raw LZMA1 compressed stream with no container, no magic bytes, no checksum. It is specified in the LZMA SDK by Igor Pavlov (the author of 7-Zip).
How to use
Paste the Base64 or hex LZMA data, choose the matching input format, and press Decompress. The output is shown as text if it decodes to valid UTF-8, otherwise as hex.
Why does decompression fail?
Three common reasons:
It is actually XZ, not LZMA-Alone. XZ starts with the magic bytes FD 37 7A 58 5A 00. If your data has that prefix, use the XZ Decompress tool instead.
Wrong input format. Base64 and hex produce completely different byte sequences. Choose the one that matches how the data was encoded.
Not actually LZMA. Gzip, zstd, brotli, and bzip2 all look different. If the first byte of the decoded data is not 0x5D (the standard LZMA1 properties byte), it is probably not LZMA-Alone.
FAQ
How do I know if data is LZMA-Alone?
The first byte should be 0x5D (the properties byte for lc=3, lp=0, pb=2), followed by 4 bytes giving the dictionary size in little-endian. This is not a magic number - it just happens to be the standard configuration. Non-standard configurations are possible but rare.
Can I decompress 7-zip LZMA?
If the 7z archive contains a raw LZMA stream extracted from it, yes. If you have the whole 7z file, use a 7-zip tool - this tool expects LZMA-Alone only.
Why does my decompressed output look like garbage?
The original data was probably binary (an image, executable, or archive). LZMA does not know or care about content. Switch the output format to hex or Base64 to see the raw bytes.
Is there a size limit?
No hard limit, but the WebAssembly module needs memory proportional to the dictionary size in the compressed stream. Large files may need a browser with enough available memory. For very large files, use the xz command-line tool.
Command line equivalent
# Decompress
xz --format=lzma -d input.lzma
echo "BASE64_DATA" | base64 -d | xz --format=lzma -d
# Python
python3 -c '
import lzma, base64
ct = base64.b64decode("BASE64_DATA")
print(lzma.decompress(ct, format=lzma.FORMAT_ALONE).decode())
'
# 7-Zip
7z x archive.lzma