En hashtabell är en typ av verktyg för att lagra information. Inom datavetenskapen kallas dessa verktyg för att hålla reda på information, eller data, för datastrukturer. En hashtabell är en datastruktur som använder en hashfunktion för att hålla reda på var data placeras. Varje bit information som ska lagras har ett namn, som kallas nyckel. En nyckel kan till exempel vara en persons namn. Varje namn matchas mot en uppgift som kallas värde, t.ex. personens telefonnummer.

Uppgifterna lagras i en annan datastruktur som kallas array, som är som många lådor eller hinkar i en rad för att lagra uppgifter. Varje låda har ett nummer som börjar från 0 och fortsätter uppåt.

Tanken bakom en hashtabell är att man ska kunna räkna ut vilken låda man ska lägga data i genom att bara använda namnet. Det betyder att oavsett hur många rutor som fylls kan du alltid hitta informationen snabbt om du har namnet. Hashtabellen använder en hashfunktion för att ta reda på vilket nummer uppgifterna ska placeras i utifrån namnet. Hashfunktionen läser ett namn och ger tillbaka ett nummer.

En bra hashtabell hittar alltid information med samma hastighet, oavsett hur mycket data som läggs in. Många hashtabeller låter också användaren lägga in nyckel/värdepar (ett namn och dess data) och ta ut dem med samma hastighet.

På grund av detta kan hashtabeller ofta hitta information snabbare än andra verktyg, t.ex. sökträd eller andra tabellstrukturer. Därför används de i många typer av datorprogram. De används mest för associativa matriser, databaser, cacheminnen och uppsättningar.