This document describes the LZW compression algorithm. It is a dictionary-based algorithm that is lossless and commonly used to compress image files and in the Unix 'compress' command. The algorithm works by building a dictionary of strings as it encodes the data, replacing repeated strings with codes. When decoding, the same dictionary is rebuilt to map codes back to strings. An example shows how a short string is compressed from 80 bits to 63 bits using LZW encoding by extending the symbol size from 8 to 9 bits.