Codec là một thiết bị hoặc một chương trình máy tính có khả năng mã hóa và giải mã một dòng dữ liệu hoặc tín hiệu. Từ "codec" là từ kết hợp của bất kỳ những cụm từ sau: 'Compressor-Decompressor', 'Coder-Decoder', hoặc 'Compression/Decompression algorithm'.
Các codec mã hóa một dòng dữ liệu hoặc tín hiệu để truyền tải, lưu trữ, hoặc bảo mật và giải mã nó để xem hoặc sửa đổi. Các codec thường được sử dụng trong các giải pháp hội nghị truyền hình và streaming media. Một máy quay biến đổi tín hiệu tuần tự sang tín hiệu số, sau đó sẽ chuyển qua một bộ nén video để truyền tải tín hiệu số. Một thiết bị nhận sẽ chuyển tín hiệu qua một bộ giải nén video, sau đó một thiết bị biến đổi từ tín hiệu số sang tín hiệu tuần tự để thể hiện nội dung. Một bộ giải nén âm thanh sẽ biến đổi tín hiệu âm thanh tuần tự sang tín hiệu số để truyền tải. Một thiết bị nhận sẽ biến đổ tín hiệu số trở lại tín hiệu tuần tự thông qua một bộ giải nén âm thanh để phát lại nội dung.
Dạng mã hóa nguyên gốc của dữ liệu âm thanh và video thường gọi là essence, để tránh nhầm lẫn với thông tin siêu dữ liệu (metadata) đi cùng để cung cấp thêm thông tin cho nội dung của dòng dữ liệu và bất kỳ dữ liệu dạng gói nào, để hỗ trợ truy cập hoặc tăng tính tin cậy của dòng dữ liệu.