Een cyclic redundancy check (CRC) is een foutdetectiecode die dikwijls gebruikt wordt in digitale netwerken en opslagmedia om bitfouten te detecteren. Blokken data die deze systemen binnenkomen, krijgen een korte controlewaarde of "checksum" gebaseerd op de rest bij een "deling met rest" op de data. Bij het binnenhalen of lezen van de data wordt de "deling met rest" wederom uitgevoerd, als daar dezelfde rest uitkomt zijn de data zeer waarschijnlijk correct. Blijken de data echter niet correct te zijn, dan kunnen via foutcorrectie de data hersteld worden.
CRC heeft haar naam te danken aan het feit dat het algoritme gebaseerd is op cyclische codes, dat de checksum redundant is (het vergroot het bericht zonder noodzakelijke informatie toe te voegen) en het de data controleert. CRC's worden zeer vaak toegepast omdat ze makkelijk te implementeren zijn in binaire hardware, gemakkelijk wiskundig te analyseren zijn, en goed zijn in het detecteren van veelvoorkomende fouten geproduceerd door ruis in een transmissiekanaal. CRC is uitgevonden door W. Wesley Peterson in 1961.