Geokoodausohjelmisto on eräänlainen tietokoneohjelma, joka yhdistää katuosoitteet karttatietoihin ja tarjoaa yksilöllisen sijainnin kullekin osoitteelle. Se muuntaa lähinnä osoiteluettelon pisteiksi kartalla. Useimmat paikkatietojärjestelmien (GIS) ohjelmistotyypit sisältävät joitain geokoodauksen perustoimintoja, mutta saatavilla on myös erillinen geokoodausohjelmisto. Jotkut geokoodausohjelmistot voivat jopa suorittaa geokoodausoperaatioita ilman kartoitusistuntoa yhdistämällä yhden tietokannan osoitteet lähdekartan tietokannan katumääritteisiin.
Geokoodauksessa käytetyn kartan tyyppi voi vaihdella sen mukaan, minkä mittakaavan ja tarkkuuden tasoa tarvitaan; kartat voivat sisältää maa -alueiden, postinumeroiden tai alueiden karttoja. Tyypillisesti katutason karttaa käytetään tarkimpien tulosten saavuttamiseksi. Lähdekartta tarvitsee tietokannan, joka sisältää tietyt kartan ominaisuuksien määritteet. Esimerkiksi katukarttatietokanta voi sisältää katujen nimet ja osoitealueen jokaisella kadulla. Tarkkojen tietojen saaminen kartalle on välttämätöntä osoitteen luotettavan interpoloinnin kannalta.
Geokoodausohjelmiston toimiminen edellyttää osoitteen standardointia. Tietokoneohjelma ei ehkä tunnista ”St.” on lyhenne esimerkiksi osoitteesta “katu”, joten osoite “123 Main St.” ei löytyisi ottelusta “123 Main Street”. Kaikkien tietokannan osoitetietueiden tulee käyttää samoja isojen kirjainten ja lyhenteiden sääntöjä. Verkkosivustoilla, jotka tarjoavat reittiohjeita osoitteisiin, on tyypillisesti toiminto, jonka avulla ne voivat tulkita osoitteita, joita ei ole syötetty vakiomuodossa.
Geokoodausohjelmisto jäsentää osoitteet yksittäisiksi osiksi. Yhdysvalloissa ja monissa muissa maissa osoite voidaan yleensä jakaa seuraaviin osiin: etuliite tai jälkiliite, etuliite, osoitteen numero, kadun nimi, kadun tyyppi ja postinumero. Esimerkiksi osoitteessa 692 Hwy 31 N “692” on osoitenumero, “Hwy” on etuliitetyyppi, “31” on kadun nimi ja “N” on jälkisuunta. Ohjelmisto hajottaa kaikki tietokannan osoitteet tällä tavalla.
Sen jälkeen kun karttamääritetietokanta ja osoitetietokanta on asetettu geokoodausohjelmistoon, sovellusprosessit voivat yrittää sovittaa kunkin osoitteen kartan sijaintiin. Se yhdistää nämä kaksi yhdistämällä kunkin tietokannan merkinnät, ja jotkin ohjelmistot antavat pisteet siitä, kuinka lähellä vastaavuutta se löytää jokaiselle osoitteelle. Osoitetietokanta merkitään karttatietokannasta vastaavalla karttakoordinaatilla, yleensä leveys- ja pituusasteella.
On olemassa useita tapoja, joilla ohjelmisto määrittää, mihin osoite asetetaan katukartalle. Yksi yleinen tapa on yhden alueen menetelmä, jossa kullekin kadulle osoitetaan yksi osoitenumeroalue. Sovellus testaa sitten osoitteen nähdäkseen, kuuluuko se tietyn kadun numeroalueelle. Jos näin on, osoitepaikan piste sijoitetaan kadulle suhteessa sen arvoon katualueen päätepisteiden välillä. Jos esimerkiksi kadun osoitealue on 500–599, osoite numero 550 sijaitsisi suunnilleen puolivälissä kartan päätepisteiden välissä.