データの圧縮は、情報理論に基づく高度なアルゴリズムによって行われます。可逆圧縮では、データ内の「出現頻度の偏り」や「同じパターンの繰り返し」を利用します。例えば、テキストデータ内で「あ」という文字が100回連続する場合、そのまま「あああ…」と記録するのではなく、「あ×100」という形で記録することでファイルサイズを小さくします(ランレングス符号化)。また、出現頻度が高い文字ほど短いビット(符号)を割り当てて全体の長さを縮める「ハフマン符号化」なども有名です。一方、非可逆圧縮では、人間の感覚の限界を利用します。例えば画像の場合、隣り合うドット(画素)の極めて微妙な色の違いは人間には区別できないため、それらを同じ色としてまとめて処理します。音データ(MP3など)では、人間が聞き取れない高周波の音や、大きな音の直後に発生する小さな音をカットすることでデータを削ります。これにより、ファイルサイズを10分から20分の1程度にまで劇的に軽量化することができます。