Vitamin B12 (cobalamin)

Vitamin B12 (cobalamin)Vitamin B12 is a common term for a group of chemically related substances that all have vitamin activity. They are also known as cobalamins. The biosynthesis of the basic structure is handled by bacteria that are found many places in nature. The uptake of vitamin B12 from food requires the presence of the protein intrinsic factor that is formed in the gastric mucosa. Intrinsic factor binds to vitamin B12 and transports it into the body from the small intestine. Coli bacteria in the colon also produce vitamin B12 that is taken up by the body. Vitamin B12 is stored in the liver for up to several months at a time, and we humans are also able to reuse vitamin B12 that has been absorbed from the intestine. It is generally more difficult for the body to absorb vitamin B12 compared with other vitamins, and our ability to take up the nutrient decreases as we grow older. The synthetic basic form of vitamin B12 is used in nutritional supplements and also as a food additive. The dosages are typically rather large in order to ensure sufficient uptake of the nutrient.

Functions and importance for

Deficiencies and poor utilisation may be caused by

Salicylic acid preparations against intestinal inflammation (Asacol, Pentasa etc.)

Cholesterol-lowering drugs (cholestyramine and clofibrate)

Antibiotics

Isoniazid against tuberculosis

Methotrexate against rheumatism and cancer

Deficiency symptoms

It normally takes quite a long time for deficiencies to develop, as we humans are able to reuse vitamin B12 and store it in the body for relatively long periods of time. Deficiencies may either occur as minor or major deficiencies. In some individuals, the first symptoms show in the nervous system, while other people show signs of anemia.

In addition, the following symptoms may occur:

Children of mothers who consume an unbalanced or vegetarian/vegan diet are at risk of developing vitamin B12 deficiency, which may lead to reduced growth, anemia and in worst case mental retardation.

Vitamin B12 deficiency is often seen in conjunction with lack of folic acid.

Blood samples and diagnosis

Vitamin B12 deficiency is detectable by means of a blood test.

Sources

Mainly animal sources such as liver, meat, fish, eggs, and dairy products

Vitamin B12 content in micrograms per 100 grams

Beef liver/pork liver 111/40
Mussles 10
Salmon 6
Whole eggs/turkey 2
Cheese 1.5


Recommended daily allowance (RDA)

Adults: 11 years of age and older: 2.5 micrograms
Children: 1-10 years of age: 1 microgram
Pregnancy: Vegetarians and vegans should always take vitamin B12 supplements.

Increased need

Important information

Supplements should normally be taken with other B vitamins and not together with antacids.

Overdosing - side effects

No side effects have been observed, not even with large doses. Injections of the vitamin directly into the bloodstream may cause an allergic reaction.

7.601MBMemory Usage201msRequest Duration
Joomla! Version4.4.4
PHP Version8.3.6
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
8.0.40-0ubuntu0.24.04.1
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:9 [ "option" => "com_content" "view" => "article" "id" => "475:vitamin-b12-cobalamin" ...
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:41 [ "HTTP_AUTHORIZATION" => "" "HTTPS" => "on" "SSL_TLS_SNI" => "healthandscience.eu" ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1752230941 "last" => 1752230941...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
plg_system_languagefilter
array:1 [ "language" => "en-GB" ]
  • afterLoad (456.08KB) (373μs)
  • afterInitialise (1.28MB) (46.84ms)
  • afterRoute (827.42KB) (12.3ms)
  • beforeRenderComponent com_content (40.38KB) (248μs)
  • Before Access::preloadComponents (all components) (60.19KB) (3.96ms)
  • After Access::preloadComponents (all components) (97.34KB) (7.01ms)
  • Before Access::preloadPermissions (com_content) (1.6KB) (14μs)
  • After Access::preloadPermissions (com_content) (3.29MB) (26.29ms)
  • Before Access::getAssetRules (id:906 name:com_content.article.475) (130.65KB) (101μs)
  • After Access::getAssetRules (id:906 name:com_content.article.475) (7.38KB) (55μs)
  • afterRenderComponent com_content (1.05MB) (72.48ms)
  • Before Access::getAssetRules (id:8 name:com_content) (18.52KB) (7.87ms)
  • After Access::getAssetRules (id:8 name:com_content) (6.17KB) (29μs)
  • afterDispatch (14.3KB) (4.45ms)
  • afterRender (254.94KB) (14.58ms)
  • 1 x afterRenderComponent com_content (1.05MB) (36.02%)
    72.48ms
    1 x afterInitialise (1.28MB) (23.28%)
    46.84ms
    1 x After Access::preloadPermissions (com_content) (3.29MB) (13.06%)
    26.29ms
    1 x afterRender (254.94KB) (7.24%)
    14.58ms
    1 x afterRoute (827.42KB) (6.11%)
    12.30ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (18.52KB) (3.91%)
    7.87ms
    1 x After Access::preloadComponents (all components) (97.34KB) (3.48%)
    7.01ms
    1 x afterDispatch (14.3KB) (2.21%)
    4.45ms
    1 x Before Access::preloadComponents (all components) (60.19KB) (1.97%)
    3.96ms
    1 x afterLoad (456.08KB) (0.19%)
    373μs
    1 x beforeRenderComponent com_content (40.38KB) (0.12%)
    248μs
    1 x Before Access::getAssetRules (id:906 name:com_content.article.475) (130.65KB) (0.05%)
    101μs
    1 x After Access::getAssetRules (id:906 name:com_content.article.475) (7.38KB) (0.03%)
    55μs
    1 x After Access::getAssetRules (id:8 name:com_content) (6.17KB) (0.01%)
    29μs
    1 x Before Access::preloadPermissions (com_content) (1.6KB) (0.01%)
    14μs
29 statements were executed, 3 of which were duplicates, 26 unique61.89ms659.4KB
  • SELECT @@SESSION.sql_mode;305μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `has_session` WHERE `session_id` = ?1.62ms1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `has_session` WHERE `session_id` = :session_id LIMIT 1238μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `has_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)2.54ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `has_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 14.28ms1.61KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `has_viewlevels`67μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `has_usergroups` AS `a` LEFT JOIN `has_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest118μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `has_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`424μs3.98KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT * FROM `has_languages` WHERE `published` = 1 ORDER BY `ordering` ASC2.2ms2.33KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `element`,`name`,`client_id`,`extension_id` FROM `has_extensions` WHERE `type` = 'language' AND `state` = 0 AND `enabled` = 1135μs1008B/libraries/src/Language/LanguageHelper.php:213Copy
  • SELECT * FROM has_rsform_config145μs1.06KB/administrator/components/com_rsform/helpers/config.php:52Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `has_menu` AS `m` LEFT JOIN `has_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`763μs165.8KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `has_template_styles` AS `s` LEFT JOIN `has_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1597μs848B/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `has_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40)2.22ms7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `has_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 014.08ms417.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `has_content`4.33ms1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `has_content` SET `hits` = (`hits` + 1) WHERE `id` = '475'3.1ms1.3KB/libraries/src/Table/Table.php:1325Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `has_content` AS `a` INNER JOIN `has_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `has_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `has_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `has_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `has_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0 AND `a`.`language` IN (:preparedArray1,:preparedArray2)) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray3,:preparedArray4)582μs22.19KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`356μs4KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `has_contentitem_tag_map` AS `m` INNER JOIN `has_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2) AND `language` IN (:preparedArray3,:preparedArray4)4.77ms4.08KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`5.34ms4KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM has_fields AS a LEFT JOIN `has_languages` AS l ON l.lang_code = a.language LEFT JOIN has_users AS uc ON uc.id=a.checked_out LEFT JOIN has_viewlevels AS ag ON ag.id = a.access LEFT JOIN has_users AS ua ON ua.id = a.created_user_id LEFT JOIN has_fields_groups AS g ON g.id = a.group_id LEFT JOIN `has_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform AND `a`.`language` IN (:preparedArray8,:preparedArray9) ORDER BY a.ordering ASC293μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`1.13ms4KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT custom_data FROM has_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1119μs536B/templates/yootheme/packages/platform-joomla/src/Storage.php:30Copy
  • SELECT `language`,`id` FROM `has_menu` WHERE `home` = '1' AND `published` = 1 AND `client_id` = 03.03ms704B/libraries/src/Language/Multilanguage.php:123Copy
  • SELECT `c2`.`language`,CONCAT_WS(':', `c2`.`id`, `c2`.`alias`) AS `id`,CONCAT_WS(':', `ca`.`id`, `ca`.`alias`) AS `catid` FROM `has_content` AS `c` INNER JOIN `has_associations` AS `a` ON `a`.`id` = `c`.`id` AND `a`.`context` = :context INNER JOIN `has_associations` AS `a2` ON `a`.`key` = `a2`.`key` INNER JOIN `has_content` AS `c2` ON `a2`.`id` = `c2`.`id` INNER JOIN `has_categories` AS `ca` ON `c2`.`catid` = `ca`.`id` AND `ca`.`extension` = :extension2 WHERE `c`.`id` = :id AND c2.access IN (1,5) AND c2.language != 'en-GB' AND (c2.publish_up IS NULL OR c2.publish_up <= '2025-07-11 10:49:01') AND (c2.publish_down IS NULL OR c2.publish_down >= '2025-07-11 10:49:01') AND c2.state = 12.59ms1.47KBParams/libraries/src/Language/Associations.php:145Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `has_scheduler_tasks` AS `a` WHERE `a`.`state` = 12.99ms1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `has_session` WHERE `session_id` = ?99μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `has_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?3.43ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy