User Rating 0.0
Total Usage 0 times

Drop .als file here or click to browse

Also supports .adg, .adv, .alc files

Is this tool helpful?

Your feedback helps us improve.

About

Ableton Live Set files (.als) are gzip-compressed XML documents. The binary envelope obscures the underlying project structure - track routing, device chains, clip data, automation - making programmatic access or version-control diffing impractical without decompression. This tool performs a real gunzip operation entirely in your browser using the native DecompressionStream API. No data leaves your machine. The resulting XML is the identical document Ableton Live parses internally, suitable for inspection, automated editing, or archival in a human-readable format. Note: this tool does not modify the XML structure. Round-trip integrity (re-compressing to .als) requires matching the original gzip parameters, which Ableton is not strict about.

als to xml ableton live set als converter gzip decompress als xml export ableton project xml

Formulas

The conversion is a single decompression operation. Gzip wraps the DEFLATE algorithm with a header and checksum.

XML = gunzip(ALS)

Internally, the gzip stream begins with magic bytes 0x1F 0x8B, followed by a compression method byte (0x08 for DEFLATE), flags, timestamp, and the compressed payload. The browser's DecompressionStream handles the full RFC 1952 specification natively.

ALS = [1F 8B] + header + DEFLATE(XML) + CRC32 + ISIZE

Where CRC32 is the cyclic redundancy check of the uncompressed data and ISIZE is the original size modulo 232. The decompressed output size Sout relative to compressed size Sin follows a typical compression ratio:

R = SoutSin 5 to 15

Where R is the expansion ratio, typically between 5 and 15 for XML-heavy Ableton projects.

Reference Data

PropertyALS (Binary)XML (Output)
FormatGzip-compressed XMLPlain-text XML
Magic Bytes1F 8B (gzip header)3C 3F (<?)
Typical Size Ratio1×515× larger
Human ReadableNoYes
Version Control FriendlyNo (binary diffs)Yes (line-by-line diffs)
Ableton VersionAll versions (6+)Same schema
Root ElementAbleton with Creator attribute
EncodingGzip (DEFLATE)UTF-8
Contains Audio DataNo - references file paths only
Contains MIDI DataYes - embedded in MidiClip elements
Contains AutomationYes - AutomationEnvelope nodes
Contains Plugin StateBase64-encoded blobs within VstPluginInfo
Max Observed File Size50 MB compressed500 MB+ decompressed
MIME Typeapplication/gzipapplication/xml
Can Be Re-compressedYes - gzip the XML back to .als

Frequently Asked Questions

No. The output is byte-identical to what Ableton Live reads internally. The tool performs only gzip decompression - no elements are added, removed, or reordered. The optional pretty-print feature reformats whitespace for readability but does not alter semantic content.
Yes. An .als file is simply gzip-compressed XML. You can recompress the XML using any gzip tool (e.g., gzip on the command line) and rename the output with an .als extension. Ableton Live is not strict about gzip compression level or timestamp fields.
XML is highly repetitive text, which compresses extremely well under DEFLATE. A typical Ableton project with many tracks and automation lanes achieves compression ratios of 5× to 15×. A 10 MB .als file may decompress to 80150 MB of XML.
Yes. Ableton's .adg (device group), .adv (device preset), and .alc (clip) files all use the same gzip-compressed XML format. This tool will decompress any of them. Only the root XML element differs between file types.
The tool checks the first two bytes for the gzip magic number 0x1F 0x8B. If absent, it rejects the file immediately with an error message. If the header is present but the payload is corrupted, the DecompressionStream will throw an error which is caught and reported.
No. All processing occurs entirely in your browser using the native DecompressionStream API. No network requests are made. Your file data never leaves your device. You can verify this by disconnecting from the internet before using the tool.
Chrome 80+, Edge 80+, Firefox 113+, Safari 16.4+, and Opera 67+. If your browser lacks support, the tool provides a JavaScript fallback inflater that handles RFC 1951 DEFLATE natively without any external library.