Tietokoneohjelmoinnissa vakiokirjasto on sarja toimintoja, vakioita ja muita kielimääritelmiä, jotka sisältyvät ydinkääntäjäpakettiin. Vakiokirjasto tarjoaa ohjelmoijalle peruskyvyn luoda yksinkertaisia ohjelmia ja käsitellä perustietoja. Se tarjoaa myös mahdollisuuden olla vuorovaikutuksessa isäntäkäyttöjärjestelmän kanssa, joten tietojen käsittelystä ei tule vähäinen tehtävä. Kaikki tietyn kielikääntäjän toteutukset sisältävät vakiokirjaston, ja se on yleensä alaspäin yhteensopiva kirjaston aiempien versioiden kanssa, joten peruskielitoiminnot säilyvät ajan myötä.
Kirjasto laajassa merkityksessä on kokoelma tietokoneohjelman toimintoja, toimintoja, luokkia tai muita elementtejä, jotka ovat ohjelmoijan käytettävissä. Nämä elementit on yleensä ryhmitelty luokkiin, jotka määrittävät niiden toiminnallisuuden, kuten syöttö, lähtö ja prosessinkäsittely. Jotkut kirjastot luottavat muihin kirjastoihin toimimaan kunnolla, käsite nimeltä riippuvuus. Kirjastoon voidaan tallentaa tärkeitä muuttujia, kuten kokonaislukutietotyypin enimmäisarvo tai nollamerkin numeerinen määritelmä. Ne ovat myös yleensä jo koottuja tietokonekoodeja, jotka estävät haitallisia muutoksia ja suojaavat omaa ohjelmointikoodia.
Vakiokirjasto pyrkii sisällyttämään kaikki perustoiminnot ja tarvittavat ominaisuudet, joita monenlaisia ohjelmia tarvitaan tavalla tai toisella. Tämä on tasapainotettava liian monien kirjastojen sisällyttämisen kanssa. Suuri vakiokirjasto tarkoittaa, että joillakin kielillä valmistuneen ohjelman jakelukoko voi olla uskomattoman suuri ja täynnä kirjastoja, joita ei koskaan käytetä. Liian monien tiedostojen sisällyttäminen vakiokirjastoon voi myös aiheuttaa ongelmia kielen kehityksessä, koska harvoin käytetyt ominaisuudet on päivitettävä jokaisen kielen tai kääntäjän vaihdon yhteydessä, mikä lisää uuden julkaisun vaatimaa työtä.
Sitä vastoin tavallinen kirjasto, jossa on liian vähän toimintoja, voi johtaa siihen, että jokainen ohjelmoija joutuu asentamaan ulkoiset kirjastot mukautetusti ja sisällyttämään ne nimenomaan ohjelmajulkaisuihin. Tämä voi johtaa toissijaiseen, yhteisölähtöiseen standardin ylläpitoon, jota ensisijainen kielenkehitystiimi ei hallitse. Jotkut kielet sopeutuvat tällaisiin tilanteisiin sisällyttämällä yleisesti käytetyt kirjastot vakiovarusteisiin, kun yhteisö on tehnyt tarpeen selväksi.
Eri kielillä on erilaisia suunnittelufilosofioita siitä, mitä standardikirjastossa pitäisi olla. Lisäksi mekaniikka, jolla kääntäjä luo suoritettavan ohjelman, voi myös määrittää kirjaston parametrit. Tulkitulla kielellä on tavallisesti suurempi kirjastojen kokoelma vakiopaketissaan, kun taas matalan tason kielillä on usein hyvin vähän.