LZ4
LZ4はデータをシーケンスの連続として表現する。それぞれのシーケンスは、2つの4ビットフィールドに分けられた1バイトのトークンで始まる。最初のフィールドは、出力にコピーされるリテラルバイトの数字で表現される。2つ目のフィールドはすでにデコードした出力バッファからコピーするバイト数を表す(0は最小の一致長である4バイトを表わす)。ビットフィールドのどちらかの値が15なら、長さがそれ以上で追加のデータがあることを示す。値が255のときは、さらにもう1バイト追加されることを示す。そのように、255の値を含む追加のバイトの並びによって任意の長さが表現される。リテラルの文字列が、追加のバイトとトークンのあとにあるなら文字列の長さを示す必要がある。この後にはオフセットが続き、出力バッファでコピーを始めるときにどれだけ戻るかを示す。(もしあればであるが、)シーケンスの終わりには一致長の追加バイトがある 。
圧縮はストリームまたはブロックで実行できる。より高い圧縮率は、最良一致を探し出すことに、より注力することで達成される。その結果より小さな出力とより速い展開速度が得られる。
Yann Collet による C のリファレンス実装があり、BSDライセンスである。 Java、C#、Python などの多様な言語へのポートやバインディングがある。