Longitudinal Redundancy Check (LRC) is a parity-based error-detection technique in which data bits are arranged in rows and columns. Parity bits are calculated column-wise and added as an additional row called the LRC. It is sometimes referred to as a 2-D parity check because the data is organized in a two-dimensional (row-and-column) arrangement.
- LRC helps detect errors by checking the parity of each column, making it effective for identifying multiple-bit errors.
- It is commonly used with block-based data transmission, where an additional parity row is added to the original data.

Note: In LRC, parity is calculated for each column, while the data itself is arranged in a two-dimensional matrix of rows and columns. Therefore, the term 2-D parity refers to this matrix-based arrangement. In some texts, 2-D parity check specifically refers to schemes that calculate parity for both rows and columns, so the terminology may vary.
Example: If a block of 32 bits is to be transmitted, it is divided into matrix of four rows and eight columns which as shown in the following figure:
In this matrix of bits, a parity bit (odd or even) is calculated for each column. It means 32 bits data plus 8 redundant bits are transmitted to receiver. Whenever data reaches at the destination, receiver uses LRC to detect error in data.
Advantages
- Detects burst errors: LRC is effective in detecting many burst errors that may affect multiple consecutive bits.
- Detects multiple-bit errors: It can detect many multiple-bit error patterns by checking parity column-wise.
- Simple to implement: LRC is relatively simple to calculate and implement because it uses basic parity checking.
Example: Suppose 32 bit data plus LRC that was being transmitted is hit by a burst error of length 5 and some bits are corrupted as shown in the following figure:

The LRC received by the destination does not match with newly corrupted LRC. The destination comes to know that the data is erroneous, so it discards the data.
Disadvantage:
- Cannot detect all errors: Certain error patterns, such as the same bit positions being corrupted in multiple rows, may go undetected.
- Adds redundancy: Additional parity bits must be transmitted, increasing the amount of data sent.
- Does not correct errors: LRC can detect errors but generally cannot identify and correct the corrupted bits.
Example: If data 110011 010101 is changed to 010010110100.

In this example 1st and 6th bit in one data unit is changed . Also the 1st and 6th bit in second unit is changed.