Virhekoodi on laitteiston tai ohjelmiston käyttäjälle osoittava virheilmoitus ja ongelmasta vastuussa olevan virheen tunnistin. Tämä koodi on tyypillisesti osa virheilmoitusta, joka voidaan näyttää tietokoneen tai vastaavan laitteen käyttäjälle. Viesti ilmoittaa usein, että ongelma tai virhe on ilmennyt, ja antaa tunnisteen, joka osoittaa virheen luonteen. Virhekoodia käytetään usein laitteiston ja ohjelmiston testauksessa sekä vianetsinnässä, joka voi ilmetä tuotteen kaupallisen julkaisun jälkeen.
Virhekoodi voidaan näyttää ja nimetä useilla tavoilla, ja tämä riippuu tyypillisesti henkilöstä, joka loi koodin ohjelmistolle, vaikka numeroita ja kirjaimia käytetään usein. Ohjelmistoa ja laitteistoa testattaessa voidaan löytää erilaisia virheitä ja ratkaista ne ongelmana. Jotkin virheet eivät kuitenkaan välttämättä ole täysin poistettavissa tai ne voivat johtua käyttäjävirheistä tai ongelmista, kun useita ohjelmia käytetään yhdessä. Helpottaakseen tällaisten ongelmien käsittelyä ohjelmoijat luovat virhekoodin jokaiselle ongelmalle, joka näytetään virheen ilmetessä.
Virhekoodin näyttötapa voi tyypillisesti riippua virheen luonteesta, vaikka se on usein osa virheilmoitusta. Tämä viesti avautuu yleensä uudessa ikkunassa, varsinkin jos aktiivinen sovellus kaatui virheen seurauksena. Vakavat ohjelmistoviat ja virheet voivat johtaa täydellisiin virhenäyttöihin, jotka ilmaisevat tapahtuneen, sekä käyttäjälle virhekoodin. Käyttäjät ja teknikot voivat sitten käyttää koodia ongelman vianmääritykseen ja ongelman ratkaisemiseen tavalla, joka estää virheen toistumisen.
Jos esimerkiksi ohjelma kaatuu ja näyttöön tulee viesti, joka ilmaisee virhekoodin ”EG-33”, sitä voidaan käyttää sen määrittämiseen. Teknikko voi tietää, mitä tämä koodi ilmaisee, tai käyttäjä voi suorittaa Internet-haun EG-33: sta ongelman syyn selvittämiseksi. Tämän avulla käyttäjä voi määrittää ongelman luonteen ja antaa tyypillisesti myös mahdollisuuden nähdä, miten muut ovat pystyneet ratkaisemaan virheen EG-33. Virhekoodin käyttö ongelmissa ohjelmistoissa, jotka käyttävät poikkeuksia virheiden sijasta, on jatkunut, vaikka ne näytetään usein poikkeuskoodeina.