Kodek (codec) är speciell typ av anordning som först och främst är avsedd för att koda signaler, både video- och ljudsignaler på vissa mjukvara modul som har samma funktion. Termen kommer egentligen från förkortning för coder – decoder, dvs. compression – decompression.
Det är välkänt att vilket som helst audio- eller videoinnehåll kräver betydligt mer lagringsutrymme på dator om vi vill spara det, och precis på grund av det kan man inte spara så många uppgifter till tillgängliga enheter, först och främst de bärbara, men samtidigt är det nästan omöjligt att överföra konkreta innehåll via vissa nätresurser inom optimalt acceptabel tidsperiod. Det finns behov av att sådana innehåll på något sätt minskas i storlek dvs. komprimeras för att ta mindre lagringsutrymme. Kodek används just för det ändamålet.
För att bättre förklara alla ovannämnda, ska vi ge ett enkelt exempel: om du har visst videoinnehåll vars storlek är 720x576 pixlar, och hastighet är 256 megabyte per sekund, genom att beräkna får vi uppgift att vi ska behöva mer än 180 gigabyte av datorminne för 2 timmar av den videon. Det synes att det är lättare att spara ljudmaterial eftersom de i princip kan minskas i storlek dvs. komprimeras i populärt MP3 format som bidrar till att minne de tar minskas för mer än 5 gånger.
Det finns också nackdel med det, eftersom komprimering i viss mån orsakar försämring i kvalitet, och material kan inte återställas. Naturligtvis finns det möjlighet att komprimering sker utan att leda till försämring i kvalitet, men den har också vissa nackdelar, eftersom den anses vara mindre effektiv än den första nämnda.
Den kändaste kodeken som används för komprimering av olika ljudmaterial är utan tvivel MP3, och det finns också Windows Media Studio, samt AC3, sedan Real Audio, AAC m.m. När det gäller kodek för komprimering av videoinnehåll, är de kändaste som samtidigt oftast används DivX, QuickTime och Real Video, det finns också XviD, sedan Windows Media Video och många andra.
Beroende av anordnings prestanda definierar man vilken audio eller video kodek bör användas för att koda vissa ljud- och videoinnehåll, men också att avkoda dem.