Mala digestión de los alimentos: es la causa más frecuente de déficit de vitamina B12, especialmente en ancianos. La presencia de aclorhidria, inducida por la edad, asociada a la presencia de Helicobacter pilory o mas frecuentemente por la administración de inhibidores de la bomba de protones (omeprazol, pantoprazol, etc.) impide la liberación de la vitamina B12 unida a los alimentos, con lo que no puede ser absorbida.