LZW algoritmasının temelinde sözlük(dictionary) yapısı vardır. ASCII tabloda olan bütün karakterler bu sözlük yapısına eklenir. Sonrasında metin taranmaya başlanır. Geçici bir karakter dizisi oluşturulur ve bilinmeyen bir karakter dizisi elde edilene kadar bu diziye eklenir. Bilinmeyen bir karakter dizisine rastlandığında bu sözlüğe eklenir ve en son karakterden devam edilir.
Müsvedde kod (pseudo code) olarak aşağıdaki şekilde yazılabilir:
Metinden bir harf al
Sözlükte harfi ara
Metindeki sıradaki harfi aldığında sözlükteki bir kayda karşılık geliyorsa metinden harf almaya devam et
Şimdiye kadar uyan sözlük değerini sonuca bas
Uyumu bozan yeni harfle birlikte şimdiye kadar uyan sözlük kaydını, yeni sözlük kaydı olarak ekle
Metin bitmediyse 2. Adımdan uymayan bu yeni harf ile devam et.
Elimizdeki karakter dizisi “aaab” olsun. İçi başta boş olan bir W karakter dizimiz olsun.
“a” karakter dizisi sözlükte mevcut o yüzden es geçildi.
Bir sonraki karakter ‘a’ ve W’ye eklendi. “aa” sözlükte mevcut değil o yüzden yeni eleman olarak eklendi. Bir yandan da “a” karakter dizisi sonuca eklendi. W’ye de son eleman olan “a” atandı.
Bir sonraki karakter olan “a”, W’ye eklendi. Fakat “aa” artık sözlükte o yüzden es geçiyoruz. Sonraki karakter olan “b”, W’ye ekleniyor. Oluşan “aab” sözlükte mevcut değil ve yeni eleman olarak ekleniyor. “aa” sonuca eklenirken son eleman olan “b” W’ye atandı.
Bu aşamada karakter dizimiz bitti W’de kalan son karakteri de sonuca ekliyoruz.