Forward Error Correction (FEC) or Channel Coding is a technique used for controlling errors in data transmission over unreliable or noisy communication channels. The central idea is the sender encodes the message by adding some extra (or redundant) data, which is mathematically related to the data being sent. At the receiver, the maths is repeated, and if the data has been changed as a result of transmission errors it will show up. In some cases, it will allow the error to be corrected (because enough redundant data has been sent. In other cases, the error can just be detected. Then error concealment techniques can be used to hide the effect of the error.

See Error detection, concealment and correction.