Wie der Name schon sagt, erfüllt ein Codec zwei Aufgaben: Erstens komprimiert er die Größe der Audio- oder Videodatei, und zweitens dekomprimiert er sie bei Bedarf. Alle Codecs verwenden einen Algorithmus, um die Dateigröße zu verringern und gleichzeitig die Daten in ähnlicher Qualität wie bei der ursprünglichen Aufzeichnung wiederherzustellen und anzuzeigen. Dies bedeutet jedoch nicht, dass es einen "Standard"-Algorithmus für die Komprimierung von Dateigrößen gibt; jeder Codec verwendet seine eigene Technologie, um den idealen Algorithmus für bestimmte Anwendungen zu erstellen. Außerdem kann jeder Codec Dateien nach einer von zwei Methoden kodieren: verlustbehaftete oder verlustfreie Komprimierung.
Bei derverlustbehafteten Komprimierung werden überflüssige Informationsbits entfernt, die die Gesamtqualität des Inhalts nicht beeinträchtigen. So kann eine MP3-Musikdatei eine verlustbehaftete Komprimierung recht effektiv nutzen, indem Töne extrahiert werden, die für das menschliche Ohr nicht hörbar sind und folglich die Qualität des Gesamtklangs kaum beeinträchtigen. Ein weiteres Beispiel ist eine JPG-Bilddatei; auch hier werden überschüssige Informationen gelöscht oder in einen schmackhaften Kontext umgewandelt; ein echtes Bild mit einem strahlend blauen Himmel erzeugt beispielsweise viele Blauabstufungen, kann aber leicht auf ein oder zwei Blautöne reduziert werden. Bei der verlustbehafteten Komprimierung kann der Benutzer in der Regel das Ausmaß der Dateikomprimierung wählen, aber eine höhere Komprimierung (die zu einer geringeren Dateigröße führt) führt zu einer geringeren Qualität der Inhalte; ein Benutzer kann auf Versuch und Irrtum zurückgreifen, um den besten Komprimierungsprozentsatz zu ermitteln, während eine akzeptable Qualität der Inhalte erhalten bleibt.
Dieverlustfreie Komprimierung zielt eher darauf ab, die Qualität des Inhalts zu erhalten, d. h. die Dateigrößen sind nicht so klein wie bei der verlustbehafteten Komprimierung, aber bei der Komprimierung werden keine wertvollen Daten weggeworfen; stattdessen wird die Komprimierung durch das Entfernen von Redundanz erreicht. Dies hört sich zwar ähnlich an wie das Entfernen von Daten bei der verlustbehafteten Komprimierung, aber in Wirklichkeit werden die Daten in logische Untereinheiten umgewandelt. Im Folgenden wird erklärt, wie verlustfreie Komprimierung funktionieren kann.
Angenommen, Sie haben einen Inhalt mit der folgenden Zeichenfolge: "aaaaaaabbbccccccddeeeeeeeee" (das entspricht einer Zeichenfolge mit 7 a hintereinander, gefolgt von 3 b, dann 6 c, 2 d und 9 e). Eine verlustfreie Komprimierung würde diese Information in "a7b3c6d2e9" umwandeln, indem sie die Zeichenfolge von 27 Zeichen auf nur 10 Zeichen reduziert (sie beschreibt jede aufeinanderfolgende Gruppe von Zeichen durch das Zeichen und die Anzahl der identischen Zeichen, die darauf folgen, also ist "a7" gleich "aaaaaaa"). Das Schöne an der verlustfreien Komprimierung ist, dass die ursprünglichen Daten jederzeit wiederhergestellt und bei Bedarf verwendet werden können.
Warum sollte jemand die Komprimierung einer großen Datei rückgängig machen wollen? Professionelle Fotografen zum Beispiel möchten ihre RAW-Dateien intakt haben, vielleicht für den professionellen Druck eines übergroßen Bildes, aber auch ein kleineres Bild von geringerer Qualität auf ihren Social-Media-Plattformen zu Marketingzwecken teilen. Durch verlustfreie Komprimierung kann das Originalbild in einem informellen Kontext (z. B. auf Pinterest) präsentiert werden, während es gleichzeitig für eine detaillierte Bearbeitung zur Verfügung steht, ohne dass auch nur ein Pixel an Daten verloren geht.