Modemski protokoli za ispravljanje pogrešaka metode su za otkrivanje i ispravljanje pogrešaka u prijenosu podataka. I hardverski i softverski bazirani protokoli postoje i često se koriste zajedno. Pojedinačni modem obično koristi ugrađeni hardverski protokol za kompenzaciju šuma komunikacijske veze. Sustavi na oba kraja veze često koriste softverske protokole kako bi se nosili s problemima izvan kontrole modema.
Ispravljanje grešaka u prijenosu općenito je proces u više koraka. Prije nego se svaki paket podataka pošalje preko veze, modem koji odašilja izračunava svoj kontrolni zbroj i uključuje ga u paket. Za određivanje kontrolnog zbroja često se primjenjuje algoritam Cyclic Redundancy Check (CRC). Kada paket stigne, modem primatelj također izračunava kontrolni zbroj podataka i uspoređuje ga s onim koji je već u paketu. Ako se dva ne podudaraju, prijamnik obavještava odašiljač da treba ponovno poslati loš paket podataka.
U 1980-ima, Microcom, Inc. uveo je obitelj protokola za ispravljanje pogrešaka modema temeljenih na hardveru. Nazvan Microcom Networking Protocol (MNP), sastoji se od deset numeriranih klasa koje su poboljšale performanse tijekom vremena. MNP Class 3 eliminira nepotrebne bitove kadriranja iz pojedinačnih bajtova podataka, na primjer. MNP Class 5 komprimira podatke prije nego što ih pošalje, nadograđujući se na poboljšanja u klasama 1 do 4. MNP Class 6 mijenja propusnost podataka, dajući prednost jednom smjeru u odnosu na drugi prema potrebi i smanjuje vrijeme pokretanja veze.
MNP je široko prihvaćen i ugrađen je u većinu telefonskih modema. Jedan od naprednijih protokola za ispravljanje pogrešaka modema koji se temelji na hardveru uveden je početkom 1990-ih. Standard V.42 Sektora za standardizaciju telekomunikacija Međunarodne telekomunikacijske unije (ITU-T) brzo je uključen u modeme uz MNP. Njegova procedura pristupa linku za modeme (LAPM) uključuje superiornu kompresiju podataka u usporedbi s MNP. Također dodaje manje troškova prenesenim podacima i ima bolju podršku za kontrolu protoka i sinkroni prijenos.
Protokoli za ispravljanje pogrešaka modema temeljeni na hardveru mogu biti vrlo dobri u osiguravanju da svaki paket podataka stigne netaknut. Međutim, mnogi prijenosi datoteka mogu se učinkovitije rukovati upotrebom softverskih i hardverskih protokola zajedno. Ako se veza izgubi tijekom slanja vrlo velike datoteke, mnogi sustavi zahtijevaju početak ispočetka datoteke. Nasuprot tome, neki softverski bazirani protokoli za ispravljanje pogrešaka zapamtit će gdje je prijenos stao i odatle nastaviti. Softverski protokoli također mogu bolje upravljati kontrolom protoka u sustavu izvan same modemske veze.
XMODEM je bio jedan od ranih modemskih protokola za ispravljanje pogrešaka baziranih na softveru stvorenih u kasnim 1970-ima. Bilo je vrlo jednostavno, uključujući broj bloka, primitivni kontrolni zbroj i nekoliko bajtova markera u svakom paketu. Njegov algoritam kontrolnog zbroja bio je problematičan i mnogi su ljudi ubrzo implementirali varijacije s dodatnim značajkama. To je uključivalo veće veličine blokova, prijenose više datoteka i pokretanje novog paketa prije nego što je prethodni verificiran. YMODEM, koji je bio XMODEM-ov nasljednik sredinom 1980-ih, naveo je mnoge od njih kao dodatna poboljšanja.
ZMODEM i njegove varijante su znatno poboljšani protokoli za ispravljanje pogrešaka modema koji se temelje na softveru. Razvijen 1986. od strane autora YMODEM-a, ZMODEM uključuje puno bolji CRC algoritam koji koristi 32 bita. Može prijeći na sljedeći paket bez čekanja da se trenutni potvrdi, poboljšavajući propusnost ili isporuku poruke. ZMODEM također može ponovno pokrenuti prijenos velikih datoteka s mjesta gdje je stao ako je veza prekinuta. Kasnije varijacije uključivale su još veće veličine blokova i automatsku kompresiju paketnih podataka.