Kodek (zbitka wyrazowa od koder-dekoder) – urządzenie lub program zdolny do przekształcania strumienia danych lub sygnału. Kodeki mogą zmienić strumień danych w formę zakodowaną (często w celu transmisji, składowania lub zaszyfrowania) lub odzyskać (odkodować) strumień danych z formy zakodowanej, by umożliwić ich odtwarzanie bądź obróbkę. Kodeki są często używane w wideokonferencjach oraz strumieniowaniu obrazu lub dźwięku.
Wiele multimedialnych strumieni danych zawiera jednocześnie dane dźwiękowe i obraz oraz często metainformacje (na przykład opisujące synchronizację dźwięku i obrazu).
Każdy z tych trzech fragmentów strumienia danych może być opracowany przez oddzielny program, sprzęt i proces. Jednak aby strumień danych multimedialnych był użyteczny musi być połączony. Do tego właśnie służą kontenery multimedialne (na przykład .ogg, .mpg, .avi, .mov, .mkv) przechowujące zakodowany dźwięk i obraz. Kodeki bywają z nimi mylone.