Obfuscator (počeštěle obfuskátor z angl. obfuscatezatemnit) je konverzní softwarová pomůcka, která převádí zdrojový kód konkrétního programovacího nebo skriptovacího jazyku do téhož zdrojového kódu v témže jazyku, ale provede v něm několik změn. Typicky:

Obfuscator
Typ softwaruvlastnost softwaru
Některá data mohou pocházet z datové položky.

Účelem obfuskátoru je (jak napovídá název) zatemnit daný zdrojový kód, tj. co nejvíce znesnadnit jeho „čitelnost“ pro člověka – odmazáním komentářů vysvětlujících, co kód dělá; zničení formátování kódu, zrušení odsazení, indikující hierarchii jednotlivých příkazů a jejich příslušnost do syntaktických struktur kódu, naruší způsob, kterým oko člověka znalého syntaxe daného programovacího jazyka je zvyklé daný kód číst. Přejmenování proměnných je obdobným krokem – názvy proměnných u programů s dobrou štábní kulturou naznačují, na co jsou tyto proměnné používány.

Podmínkou smyslu existence obfuskátoru je současně to, aby zdrojový kód byl i po konverzi čitelný pro překladač nebo interpret svého respektivního jazyku.

Důvod, proč se obfuskátory používají, je zamezení třetí osobě, která by ke zdrojovému kódu mohla získat přístup; aby tento program mohla snadno rozvíjet, dělat na něm úpravy (například i ty za účelem odstranění různých ochran heslem nebo licenčními klíči) apod.