Como su nombre indica, un códec realiza dos tareas: en primer lugar, comprime el tamaño del archivo de audio o vídeo y, en segundo lugar, lo descomprime cuando es necesario. Todos los códecs emplean un algoritmo para lograr esta hazaña de disminuir el tamaño de los archivos grandes con la capacidad de recuperar y mostrar posteriormente los datos con una calidad similar a la que se grabó originalmente. Sin embargo, esto no significa que exista un algoritmo "por defecto" para realizar la compresión del tamaño de los archivos; cada códec utiliza su propia tecnología para crear el algoritmo ideal para determinadas aplicaciones. Además, cada códec puede optar por codificar los archivos con uno de estos dos métodos: compresión con o sin pérdidas.
La compresión con pérdidas funciona eliminando bits extraños de información que no afectan a la calidad general del contenido. Por ejemplo, un archivo de música MP3 puede utilizar la compresión con pérdidas con bastante eficacia extrayendo sonidos que el oído humano no puede oír y que, por tanto, apenas afectan a la calidad del sonido global. Otro ejemplo es un archivo de imagen JPG; también elimina el exceso de información o la convierte en un contexto apetecible; por ejemplo, una imagen real con un cielo totalmente azul generará muchos degradados de azul, pero puede reducirse fácilmente a uno o dos tonos de azul. En la compresión con pérdida, el usuario puede elegir el grado de compresión del archivo, pero una mayor compresión (que reduce el tamaño del archivo) produce un contenido de menor calidad; el usuario puede recurrir al método de ensayo y error para determinar el mejor porcentaje de compresión y mantener una calidad aceptable del contenido.
La compresión sin pérdidas está más orientada a preservar la calidad del contenido, lo que significa que el tamaño de los archivos no será tan pequeño como en la compresión con pérdidas, pero no se desechan datos valiosos en el proceso de compresión; en su lugar, la compresión se consigue eliminando la redundancia. Aunque esto suena muy parecido a la eliminación de datos en la compresión con pérdidas, en realidad convierte los datos en subunidades lógicas. A continuación se explica cómo puede funcionar la compresión sin pérdidas.
Supongamos que tiene contenido con la siguiente cadena de caracteres incluida: "aaaaaaabbbccccccddeeeeeeeee" (que equivale a una cadena de 7 a seguidas, seguidas de 3 b, luego 6 c, 2 d y 9 e). La compresión sin pérdidas convertiría esa información en "a7b3c6d2e9" reduciendo la cadena de un tamaño de 27 caracteres a sólo 10 caracteres (describe cada grupo consecutivo de caracteres por el carácter y el número de caracteres idénticos que le siguen, por lo que "a7" equivale a "aaaaaaa"). Lo bueno de la compresión sin pérdidas es que los datos originales siempre se pueden recuperar y utilizar cuando sea necesario.
¿Por qué querría alguien invertir la compresión de un archivo de gran tamaño? Los fotógrafos profesionales, por ejemplo, quieren sus archivos RAW intactos, quizá para la impresión profesional de una foto de gran tamaño, pero también quieren compartir una imagen más pequeña y de menor calidad en sus plataformas de redes sociales con fines de marketing. Al emplear la compresión sin pérdidas, la obra original puede presentarse en un contexto informal (por ejemplo, en Pinterest) y, al mismo tiempo, estar disponible para una edición detallada sin perder ni un píxel de datos.