Kodowanie korekcyjne, kodowanie korygujące, FEC (ang. forward error correction), ECC (ang. error correction coding) – technika dodawania nadmiarowości do transmitowanych cyfrowo informacji. Umożliwia całkowitą lub częściową detekcję i korekcję błędów powstałych w wyniku zakłóceń. Dzięki temu nie ma potrzeby używania kanału zwrotnego do poinformowania nadawcy o błędzie i konieczności ponownego przesłania informacji. Kodowanie korekcyjne jest stosowane wtedy, gdy retransmisja jest kosztowna, kłopotliwa lub niemożliwa, na przykład ze względu na ograniczenia czasowe.
W 1948 Claude Shannon opublikował „Matematyczną teorię komunikacji”, w której zawarł fundamentalny dla opisu transmisji danych wzór opisujący przepustowość kanału (twierdzenie Shannona-Hartleya):
gdzie:
Z teorii Shannona wynika, że w kanale transmisyjnym przy danym poziomie szumów można z dowolnie niskim prawdopodobieństwem błędu przesyłać informację co najwyżej z przepływnością równą przepustowości Nie wystarczy jednak spowolnić transmisję, aby pozbyć się błędów. Aby osiągnąć niskie prawdopodobieństwo błędu konieczne jest przesyłanie informacji w formie zakodowanej, to znaczy zawierającej pewną nadmiarowość. Szybkość przesyłania bitów kodu (lub ogólniej – symboli) musi być większa od przepustowości ale ilość niesionej przez nie informacji zakodowanej (mniejsza od ilości bitów ze względu na nadmiarowość kodu) może być co najwyżej równa Shannon udowodnił, że istnieją kody, które zapewniają takie maksymalne wykorzystanie kanału transmisyjnego, ale teoria ta nie dawała praktycznych wskazówek jak skonstruować takie kody, których kodowanie i dekodowanie byłoby fizycznie realne.