I informasjonsteknologi er en en definisjon av hvilke data som kan lagres i en gitt variabel og hvordan disse dataene skal leses og lagres. Man kan si datatypen er dataenes mest grunnleggende metadata. Datatyper er sentralt i de fleste programmeringsspråk, men er egentlig et hjelpemiddel til å abstrahere måten data er lagret på. Dette er upraktisk hvis programmereren ønsker full kontroll, men problemet kan omgås ved å omdefinere datatypen (typekonvertering) eller lage en peker av en annen datatype til det samme minneområdet. Som navnet antyder, er datatypen strengt tatt en egenskap ved som er lagret, mens programmeringsspråk knytter det til variabelen eller minneområdet der det er lagret. I objektorientert programmering finnes det komplekse datatyper som er bygd inn i objekter, som er enda et nivå av abstraksjon. Komplekse datatyper er ikke nødvendigvis tilgjengelige på en forutsigbar måte annet enn gjennom objektets funksjoner. Et vanlig eksempel på en kompleks datatype er strenger.