ハフマン符号(はふまんふごう)とは、データを効率よく圧縮するために開発された符号化の手法です。データの中で「よく使われる(出現頻度が高い)文字」には短いビット(短い0と1の組み合わせ)を割り当て、逆に「めったに使われない文字」には長いビットを割り当てることで、データ全体の合計サイズを最も小さく抑えることができます。この方法を使うと、文字ごとの長さを一律にするよりも大幅にデータサイズを減らすことができるため、ファイルの圧縮形式(ZIPやGZIP)や、画像の保存形式(JPEG)など、さまざまな場所でデータの通信量や保存容量を節約するために活躍しています。
「ABACABA」という、Aが多く含まれるテキストを圧縮する例を考えます。