Unakrsni prevoditelji su programi koji su sposobni proizvesti izvršni kod koji se može izvoditi na platformi koja trenutno nije rezidentna platforma za kompajler. Obično se koriste kada programer treba koristiti više platformi kako bi upravljao računalnim funkcijama, kao što je u ugrađenim sustavima gdje svako ugrađeno računalo unutar sustava ima manju količinu resursa. Korištenje unakrsnog prevoditelja omogućuje prevladavanje ovog nedostatka resursa stvaranjem međusobno povezane izvedbe između različitih komponenti u sustavu.
Jedan primjer kada se može koristiti unakrsni kompajler je kada se mikrokontroleri koriste unutar sustava. Općenito, mikrokontroler ne sadrži veliku količinu memorije, pa kada se ovaj program koristi za rukovanje kreiranjem i izdavanjem naredbi, manje resursa za mikrokontroler je vezano za administrativne naloge. To znači da se mogu usmjeriti prema izvođenju zadatka koji je naručio prevodilac.
Program može pomoći u stvaranju radne mreže između različitih vrsta strojeva ili čak različitih verzija operativnog sustava. U ovoj aplikaciji, tvrtka bi mogla koristiti i starije i novije verzije operativnog sustava za pristup zajedničkoj mreži, čak i ako radne stanice u uredu imaju širok raspon stolnih računala različite starosti i kapaciteta. Korištenje ove vrste programa omogućuje okupljanje svih ovih raznolikih elemenata u kohezivno okruženje za izgradnju koje će svakoj od stanica omogućiti pristup bitnim datotekama i podacima koji se nalaze na zajedničkom poslužitelju.
Unakrsni prevoditelji mogu se pratiti do ranih dana razvoja sustava Windows® i postupnog opadanja upotrebe DOS-a od strane mnogih krajnjih korisnika. Danas su i dalje uobičajeno sredstvo za maksimiziranje učinkovitosti nekoliko komponenti. Međutim, virtualni strojevi, kao što je Java JVM, konačno su sposobni rukovati dijelom funkcija koje su nekada bile moguće samo uz korištenje ovog softvera.