Convert LZO Online Free
Convert your files to and from LZO format easily and for free, all in your browser.
Drop your LZO files here
or click to browse files
About LZO
Unpack LZO files and convert them to formats your other software actually reads, without the file leaving your machine. The work happens in your browser using your own hardware, so nothing is uploaded anywhere and how quickly it finishes depends on the device you are sitting at.
What LZO compression is
LZO stands for Lempel-Ziv-Oberhumer, and the name tells you most of it: Markus Oberhumer's take on Lempel-Ziv. What makes it unusual is the trade it picks. It does not try to make your file as small as possible. It tries to get the file open again as fast as possible, and on modern hardware that often means past 100 MB/s. The mechanism is a sliding window, scanning for repeated runs of bytes and pointing at the earlier copy instead of writing it twice. Cheap to reverse, which is the whole point.
Run a file through LZO and back and the bytes match, every one of them. It is a dictionary compressor and discards nothing, which you care about when the file is a save game or a texture rather than a backup. Look at where it gets used and they all have a clock running: an embedded controller with no memory to spare, a stream being read as it arrives, a game that needs the next level in memory before the player reaches the door. Decompression is about as fast as compression gets, and there are enough implementations that adding it to a codebase takes an afternoon.
Strengths and limits
A game loading assets is the clearest case for LZO. The level has to be ready before the player reaches the door, and a decompressor that is fast and light on memory gets you there. Streaming is the same argument from a different angle: video or audio unpacked on the fly, with no pause while the buffer catches up. You pay for that in file size. LZO files are bigger than a slower compressor would produce, and in these situations nobody cares.
Compress the same folder with 7Z and with LZO and compare the two files. The 7Z one will be smaller, sometimes by a lot, because 7Z and XZ spend far more computation hunting for redundancy than LZO is willing to. On a disk that is nearly full, that difference is the whole argument. It is also why LZO rarely shows up as an archive format by itself. It usually sits inside a larger system as the compression layer, doing the one thing it is good at.
LZO Development History
Markus Oberhumer wrote LZO in the early 1990s and released it publicly in 1996. The problem it was built for was embedded hardware: not enough memory, not enough clock, and compression schemes of the day that took too long to unpack to be worth using. Speed was the design goal from the start, so an application could reach into compressed data without paying for it. On constrained devices that was the difference between usable and not.
It spread the way useful libraries do, one project at a time. Game engines took it. So did the streaming tools. It ended up in the Linux kernel and in a pile of multimedia software, which is how most people end up with an LZO file without ever choosing one. No standards body ever blessed it. It just got adopted widely enough that implementations exist for whatever platform you are on, which in practice is the thing that matters.
Using LZO Effectively
A game loads the next level while the player is still walking toward the door. That is the LZO case: real-time processing, games, streaming, anywhere the data has to arrive now rather than arrive small. The other common one is a stream unpacked as it comes in. You pay for it in bytes, since the files are bigger than LZMA2 or ZIP would produce, and in these situations nobody minds.
Your decompressor refuses the file and the error message says nothing useful. That is usually an LZO version mismatch, because implementations vary and they are not good at explaining themselves. Older software may not recognise an LZO file at all. One more thing: if speed is why you chose LZO, time it on the board you are shipping to. A workstation and an embedded controller can be a long way apart on this.
Working with LZO files
You will meet LZO in embedded systems, some Linux file systems and kernel features, game asset loading, and anywhere a pipeline is timed.
Any tool that knows LZO will decompress it. If you would rather have a smaller file and nothing is waiting on the clock, run the data back through gzip or 7z instead and take the better ratio.
About the LZO Format
LZO is a lossless format built around one goal: unpacking fast. It gets there by not trying very hard to make the file small, which sounds like a weakness until you are the one waiting on the data. Real-time systems and embedded hardware are where that trade pays off.
- Format Type
- LZO fast compression
- Origin
- Markus Oberhumer
- Common Uses
- Real-time and embedded compression
- Compression
- Lossless, speed-optimised