Dekompilaator analüüsib olemasolevat arvutiprogrammi või teeki ning tekitab sellest lähtekoodi. Sisuliselt töötab dekompilaator vastupidi kompilaatorile. Enamasti on kommertsprogrammide dekompileerimine seadusvastane. Dekompilaatoreid kasutatakse programmide ehituse tundmaõppimiseks ning sarnaste programmide loomiseks. Dekompilaatoreid kasutavad ka kräkkerid programmide kopeerimis- ja muude kaitsete eemaldamiseks.
Tänapäeva arvutiprogrammide keerulisuse tõttu on dekompileerimine raske ja aeglane tegevus. Enamasti ei õnnestu tervet programmi lähtekoodiks teisaldada (erandina Java, Python, C# jt .Net programmid). Saadav lähtekood on paremal juhul C, halvemal juhul assemblerkeel, mille analüüsimiseks võib minna kuid ja aastaid.