Definition: A compression algorithm that codes strings of characters with codes of a fixed number of bits. Every new string in the input is added to a table until it is full. The codes of existing strings are output instead of the strings.

Also known as LZW compression.

See also algorithm BSTW.

Author: GS


Mark Nelson's article with an explanation (C++)

More information

survey of data compression

J. Ziv and A. Lempel, A Universal Algorithm for Sequential Data Compression, IEEE Transactions on Information Theory, May 1977.

Terry Welch, A Technique for High-Performance Data Compression, Computer, June 1984.

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul Black.

Entry modified 9 November 2012.
HTML page formatted Fri Feb 23 10:06:08 2018.

Cite this as:
Gopinath Srinivasan, "Lempel-Ziv-Welch", in Dictionary of Algorithms and Data Structures [online], Vreda Pieterse and Paul E. Black, eds. 9 November 2012. (accessed TODAY) Available from: