In matematica ed in teoria dell’informazione un codice lineare è un’importante tipologia di codice a blocchi usato negli schemi per la correzione e la rivelazione d’errore. I codici lineari consentono di realizzare algoritmi di codifica e decodifica più efficienti rispetto alle altre tipologie di codici. I codici che costituiscono un codice lineare sono blocchi di simboli (tipicamente bit), i quali sono codificati utilizzando dei simboli in più rispetto a quelli che compongono il messaggio originale; si aggiunge cioè della ridondanza. Quest’ultima consente a colui che riceve il messaggio di individuare l’errore e, a seconda del numero di errori e del tipo di codice utilizzato (cioè se si sta usando un rivelazione d’errore o a correzione d’errore), eventualmente di correggerlo. Naturalmente quanti più simboli di ridondanza vengono aggiunti a ciascun blocco, tanto maggiore sarà la quantità di errori che sarà possibile rivelare e correggere per ciascuno di essi.