Prevajalnik je posebna vrsta računalniškega programa, ki človeku berljivo besedilno datoteko prevede v obliko, ki jo računalnik lažje razume. Na svoji najosnovnejši ravni lahko računalnik razume samo dve stvari, 1 in 0. Na tej ravni bo človek deloval zelo počasi in informacije, ki jih vsebuje dolg niz 1 in 0, bodo nerazumljive. Prevajalnik je računalniški program, ki premosti to vrzel.
Na začetku so bili prevajalniki zelo preprosti programi, ki so lahko prevajali samo simbole v bite, 1 in 0, je računalnik razumel. Programi so bili tudi zelo preprosti, sestavljeni iz niza korakov, ki so bili prvotno ročno prevedeni v podatke, ki jih je računalnik lahko razumel. To je bila zelo zamudna naloga, zato so bili deli te naloge avtomatizirani ali programirani, prvi prevajalnik pa je bil napisan. Ta program je sestavil ali prevedel korake, potrebne za izvedbo programa po korakih.
Ti preprosti prevajalniki so bili uporabljeni za pisanje bolj izpopolnjenega prevajalnika. Z novejšo različico bi lahko prevajalskemu programu dodali več pravil, ki bi omogočila bolj naravno jezikovno strukturo za človeški programer za delovanje. To je olajšalo pisanje programov in omogočilo več ljudem, da začnejo pisati programe. Ko je več ljudi začelo pisati programe, se je ponudilo več idej o pisanju programov, ki so jih uporabili za izdelavo bolj izpopolnjenih prevajalnikov. Na ta način se prevajalski programi še naprej razvijajo, izboljšujejo in postajajo enostavnejši za uporabo.
Prevajalski programi so lahko tudi specializirani. Nekatere jezikovne strukture so bolj primerne za določeno nalogo kot druge, zato so bili za posebne naloge ali jezike razviti posebni prevajalniki. Nekateri prevajalniki so večstopenjski ali večkratni. Prvi prehod bi lahko vzel zelo naraven jezik in ga približal računalniško razumljivemu jeziku. Drugi ali celo tretji prehod bi ga lahko pripeljal do zadnje faze, izvedljive datoteke.
Vmesni izhod v večstopenjskem prevajalniku se običajno imenuje psevdo koda, saj ga računalnik ne uporablja. Psevdo-koda je zelo strukturirana, kot računalniški program, ni prosto tekoča in besedna kot bolj naraven jezik. Končni izhod se imenuje izvedljiva datoteka, saj je to tisto, kar dejansko izvaja ali izvaja računalnik. Če nalogo razdelite na ta način, je bilo lažje napisati bolj izpopolnjene prevajalnike, saj je vsaka podnaloga drugačna. Računalnik je prav tako lažje pokazal, kje je imel težave z razumevanjem, kaj naj stori.
Napake, ki omejujejo prevajalnik pri razumevanju programa, se imenujejo sintaktične napake. Napake v načinu delovanja programa se imenujejo logične napake. Logične napake je veliko težje opaziti in popraviti. Sintaktične napake so podobne pravopisnim napakam, medtem ko so logične napake nekoliko bolj podobne slovničnim napakam.
Razvili so tudi navzkrižni prevajalski programi. Navzkrižni prevajalnik omogoča nabor besedilnih datotek, ki so napisane za en računalnik, ki ga je oblikoval določen proizvajalec, da se prevede in izvaja za drug računalnik s strani drugega proizvajalca. Na primer, program, ki je bil napisan za delovanje na računalniku Intel, je včasih mogoče navzkrižno prevesti, da se zažene na računalniku, ki ga je razvila Motorola. To pogosto ne deluje dobro. Na ravni, na kateri delujejo računalniški programi, je lahko računalniška strojna oprema videti zelo drugačna, čeprav je morda videti podobna vam.
Navzkrižno prevajanje se razlikuje od tega, da en računalnik posnema drug računalnik. Če računalnik posnema drug računalnik, se pretvarja, da je ta drugi računalnik. Emulacija je pogosto počasnejša kot navzkrižno prevajanje, saj se hkrati izvajata dva programa, program, ki se pretvarja, da je drugi računalnik, in program, ki se izvaja. Vendar, da bi navzkrižno prevajanje delovalo, potrebujete tako izvirno besedilo v naravnem jeziku, ki opisuje program, kot računalnik, ki je dovolj podoben izvirnemu računalniku, na katerem lahko program deluje, da se izvaja na drugem računalniku. To ni vedno mogoče, zato se uporabljata obe tehniki.