Bytecode is een soort
machinetaal die het resultaat is van de (gedeeltelijke)
compilatie van een computerprogramma. In tegenstelling tot "echte" machinetaal is bytecode niet geschikt om direct op een computer te worden uitgevoerd. Bytecode kan worden uitgevoerd op een
virtuele machine (zoals de
.NET Common Language Runtime (CLR) of de
Java Virtual Machine) of later vertaald worden naar "echte" machinetaal. Deze benadering maakt het mogelijk platform-onafhankelijke programma's te schrijven: op elk
platform waarvoor een Virtuele Machine beschikbaar is, kan dan hetzelfde programma worden uitgevoerd.