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 20 April 2022.
HTML page formatted Wed Apr 20 09:32:15 2022.

Cite this as:
Gopinath Srinivasan, "Lempel-Ziv-Welch", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. 20 April 2022. (accessed TODAY) Available from: