Een tekort kan het gevolg zijn van onvoldoende inname van deze vitamine of van malabsorptie. De meest voorkomende oorzaken zijn:
Een ongezond dieet – een tekort aan dierlijke producten of producten verrijkt met vitamine B12.
Gastritis – vermindert de afscheiding van zoutzuur, wat nodig is voor de opname van vitamine B12.
Pernicieuze anemie (ziekte van Addison-Biermer) – een auto-immuunziekte waarbij het lichaam niet de intrinsieke factor aanmaakt die nodig is voor de opname van B12.
Darmziekten – zoals de ziekte van Crohn of coeliakie, die de opname van voedingsstoffen beperken.
Gastro-intestinale chirurgie – bijvoorbeeld een gastric bypass.
Overmatig alcoholgebruik – verzwakt het maagslijmvlies en belemmert de opname van B12.
Genetische aandoeningen van het B12-transport – bijvoorbeeld de zeldzame aandoening transcobalamine II-deficiëntie.