Oprogramowanie geokodujące to rodzaj aplikacji komputerowej, która łączy adresy ulic z informacjami na mapie, aby zapewnić unikalną lokalizację dla każdego adresu. Zasadniczo konwertuje listę adresów na punkty na mapie. Większość typów oprogramowania systemów informacji geograficznej (GIS) zawiera pewne podstawowe funkcje geokodowania, ale dostępne jest również oddzielne oprogramowanie do geokodowania. Niektóre programy do geokodowania mogą nawet wykonywać operacje geokodowania bez sesji mapowania, łącząc adresy w jednej bazie danych z atrybutami ulic w bazie danych mapy źródłowej.
Typ mapy używanej w geokodowaniu może się różnić w zależności od wymaganej skali i poziomu szczegółowości; mapy mogą obejmować mapy działek, kodów pocztowych lub okręgów. Zazwyczaj w celu uzyskania jak najdokładniejszych wyników używana jest mapa ulic. Mapa źródłowa będzie potrzebować bazy danych zawierającej pewne atrybuty obiektów na mapie. Na przykład baza danych map ulic może zawierać nazwy ulic i zakres adresów na każdej ulicy. Posiadanie dokładnych danych dla mapy jest niezbędne do niezawodnej interpolacji adresów.
Aby oprogramowanie geokodujące mogło działać, wymaga standaryzacji adresów. Program komputerowy może nie rozpoznać tego „St.” jest skrótem od „ulica” w adresie, na przykład adres „123 Main St.” nie zostanie znaleziony jako mecz dla „123 Main Street”. Wszystkie rekordy adresowe w bazie danych powinny używać tych samych zasad dotyczących wielkich liter i skrótów. Witryny udostępniające wskazówki dojazdu do adresów zazwyczaj mają funkcję, która pozwala im interpretować adresy, które nie są wprowadzane w standardowym formacie.
Oprogramowanie do geokodowania przeanalizuje adresy na poszczególne komponenty. W Stanach Zjednoczonych i wielu innych krajach adres zazwyczaj można podzielić na następujące elementy: kierunek prefiksu lub sufiksu, typ prefiksu, numer adresu, nazwa ulicy, typ ulicy i kod pocztowy. Na przykład w adresie 692 Hwy 31 N „692” to numer adresu, „Hwy” to typ prefiksu, „31” to nazwa ulicy, a „N” to kierunek sufiksu. Oprogramowanie podzieli w ten sposób wszystkie adresy w bazie danych.
Po umieszczeniu bazy danych atrybutów mapy i bazy danych adresów do oprogramowania geokodującego, procesy aplikacji mogą próbować dopasować każdy adres do lokalizacji na mapie. Łączy te dwa elementy, dopasowując wpisy w każdej bazie danych, a niektóre programy podają wynik określający, jak blisko dopasowania znajduje się dla każdego adresu. Baza danych adresowych zostanie oznaczona odpowiednimi współrzędnymi mapy, zwykle szerokością i długością geograficzną, z bazy danych mapy.
Istnieje kilka metod określania przez oprogramowanie, gdzie umieścić adres na mapie ulic. Jednym z popularnych sposobów jest metoda jednozakresowa, w której każdej ulicy przypisywany jest jeden zakres numerów adresów. Aplikacja przetestuje następnie adres, aby sprawdzić, czy mieści się w podanym zakresie numerów dla tej ulicy. Jeśli tak, to punkt lokalizacji adresu jest umieszczany na ulicy proporcjonalnie do jej wartości między końcami zakresu ulic. Na przykład, jeśli ulica ma zakres adresów od 500 do 599, to adres o numerze 550 będzie znajdował się mniej więcej w połowie drogi między końcowymi punktami ulicy na mapie.