Opkód identifikuje, ktorá základná počítačová operácia zo sady inštrukcií sa má vykonať. Používa sa pri zápise strojového kódu. Hovorí počítaču, aby niečo vykonal. Každá inštrukcia strojového jazyka má zvyčajne opkód aj operandy. Opkód je ako sloveso vo vete a operandy sú ako predmet vo vete. Operandy sú zvyčajne adresy pamäte alebo registra.

Opcodes sa v strojovom kóde používajú na množstvo funkcií, vrátane Float sčítania registrov, sčítania dvoch registrov, posunu hodnôt registrov do pamäte alebo na pevný disk, zastavenia programu atď. V moderných počítačoch sa používajú doslova stovky bežných opcodes.

Vzhľadom na povahu architektúry počítača majú operačné kódy podobu binárnych čísel. Alternatívne môžu byť opkódy reprezentované hexadecimálnymi číslicami (napríklad 10100101 = A5), čo uľahčuje čítanie a kódovanie pri návrhu alebo emulácii programu so strojovým kódom. Tieto hodnoty sa potom transformujú na ich binárne ekvivalenty, ktoré sa majú uložiť. Moderné operačné kódy majú dĺžku najmenej dvoch hexadecimálnych znakov, ktoré zaberajú 1 bajt úložného priestoru.

Možnosti a "hodnota" opkódov sa líšia v závislosti od počítača, ku ktorému patria, pretože sú závislé od hardvéru. Napríklad opkód pre STORE vyjadrený v hexadecimálnom tvare môže byť FA pre jeden počítač a 02 pre iný. Niektoré opkódy nebudú na niektorých počítačoch k dispozícii. Vo všeobecnosti existujú dva prístupy k vytváraniu inštrukčných súborov. Počítač s redukovanou inštrukčnou sadou (RISC) ponúka menej možných opkódov v prospech zvýšenia rýchlosti pre jednoduché procesy. Počítač so zložitou inštrukčnou sadou (CISC) ponúka viac opkódov v prospech zvýšenia rýchlosti pre zložité procesy.

Programátori zriedkavo používajú priamo opkódy. Vždy, keď sú priamo naprogramované do pamäte, je zaručené, že budú fungovať len na počítači, pre ktorý boli navrhnuté. Keď programátori píšu v jazyku assembleru, program prekladača prevádza programové príkazy jeden za druhým na príkazy strojového jazyka. Programátor si musí zapamätať len mnemotechnické označenie každého opkódu namiesto jeho binárnej hodnoty. Alternatívne sa môže použiť vysokoúrovňový programovací jazyk, povedzme 4. generácie, ktorý sa prevedie na 3. generáciu a tak ďalej, až kým sa nedostane k 1. generácii. Odtiaľ individuálny počítač prevedie program na strojový kód vždy, keď sa načíta súbor s programom. Takto môže program fungovať na oveľa väčšom množstve počítačov.