I programspråk är en datatyp ett attribut för data som berättar för datorn (och programmeraren) vilken sorts information data bär på. Eftersom all information i datorn, även text och bilder, internt hanteras som tal är datatyper ett sätt att se skillnad på vad talen representerar.
I många programspråk bestämmer programmeraren vilken datatyp som ska kunna lagras i en variabel. Försöker man lagra värden av en annan typ kan fel uppstå. Vissa fel kan upptäckas automatiskt redan när koden skrivs eller kompileras, medan andra fel kan få programmet att krascha eller ge oväntade resultat när det körs, eftersom programmet tror att datan representerar något annat än vad den egentligen innehåller. Jämför med vad som kan hända ifall någon lagrar gift i ett mjölkpaket.
Hur och när datatypen för en variabel bestäms är något som skiljer mycket mellan olika programmeringsspråk. Det är därför vanligt att man klassificerar språk efter deras typsystem.