Kodek (Kodar-Dekodar) er ei fornorsking av det engelske order Codec, som står for «Coder-Decoder». Ein kodek kan realiserast i form av maskinvare eller som programvare.
Ei av oppgåvene til kodaren i ein kodek kan vera å fjerna mindre viktig, eller overfløding, informasjon for å redusera datamengda. Dette vert kalla degradert komprimering, eller tapskomprimering. Andre kodarar kodar informasjonen utan tap, slik at ein får tilbake same bitsekvens etter dekoding. Dette vert kalla tapsfri komprimering.
Andre oppgåver som vert utførte av ein kodek kan vera multiplexing av fleire datastraumar og metadata, feilkoding/dekoding, formatering av datastraumen for overføring eller lagring på ymse mediaformat. Omgrepet «kodek» vert nytta noko ulikt i ulike samanhengar og det er ikkje lett å gje ein nøyaktig definisjon av ordet.
Omgrepet «Coder-Decoder» viser eigentleg til maskinvare eller progamvare som inneheld både ein kodar og ein dekodar. Når ein IC eller ein programvaremodul berre inneheld ein einskild kodar eller dekodar er det difor ikkje ein kodek. For meir spesifikk informasjon om dei einskilde metodane og algoritmene for koding sjå: