{"id":785,"date":"2025-12-23T10:28:28","date_gmt":"2025-12-23T02:28:28","guid":{"rendered":"https:\/\/fengshecad.com\/785\/"},"modified":"2026-02-03T10:59:33","modified_gmt":"2026-02-03T02:59:33","slug":"asme-b31-12-2023-pdf%e4%b8%8b%e8%bd%bd","status":"publish","type":"post","link":"https:\/\/fengshecad.com\/en\/785\/","title":{"rendered":"ASME B31.12-2023 Explained: Rules for Hydrogen Piping and Pipelines (ASME Code for Pressure Piping)"},"content":{"rendered":"<h3>What is ASME B31.12-2023?<\/h3>\n<p>ASME B31.12-2023 is a comprehensive technical standard governing the design, materials, fabrication, assembly, erection, examination, inspection, and testing of piping systems transporting gaseous hydrogen, liquid hydrogen, and hydrogen-rich mixtures. Its core purpose is to establish a unified safety and engineering framework for hydrogen infrastructure, addressing the unique material and operational challenges posed by hydrogen service. This standard fills a critical technical gap by providing codified rules specifically for hydrogen, which has distinct properties\u2014such as hydrogen embrittlement and high diffusivity\u2014that are not adequately covered by other piping codes for more conventional fluids like natural gas or water. Professionals apply this standard in formal project workflows when designing hydrogen production facilities, refueling stations, distribution pipelines, or any industrial plant handling hydrogen. Structural and piping engineers use it for system layout, stress analysis, and component specification; construction managers rely on it for welding and installation procedures; and third-party inspectors reference it for compliance verification and final system acceptance.<\/p>\n<h3>Core Purpose and Problem-Solving Scope<\/h3>\n<\/p>\n<p>The primary technical and safety challenge ASME B31.12 addresses is mitigating the risks associated with hydrogen\u2019s propensity to cause embrittlement in metallic materials, which can lead to catastrophic, sudden failure under stress. The standard resolves this by providing specific material selection criteria, design allowances, and fabrication controls tailored to hydrogen environments. It also standardizes design practices for hydrogen\u2019s wide range of operating temperatures and pressures, from cryogenic liquid hydrogen to high-pressure gaseous streams. By doing so, it aims to ensure system integrity, prevent leaks, and promote operational safety across the hydrogen value chain. This standard is adopted or referenced as a key compliance document in multiple global regions, particularly in North America for domestic projects and internationally for facilities designed to ASME codes. It applies to a wide range of project types, including:<br \/>\n*   Hydrogen production plants (e.g., electrolysis, reforming).<br \/>\n*   Pipeline transmission and distribution networks for hydrogen.<br \/>\n*   Hydrogen refueling stations for fuel cell vehicles.<br \/>\n*   Industrial facilities using hydrogen as a feedstock or fuel.<br \/>\n*   Storage facilities for liquid or gaseous hydrogen.<\/p>\n<h3>Technical and Safety Framework Highlights<\/h3>\n<\/p>\n<p>ASME B31.12 is a dedicated code within the ASME B31 Code for Pressure Piping series. Its unique positioning lies in its singular focus on hydrogen\u2019s behavior, setting it apart from other B31 codes like B31.3 (Process Piping) or B31.8 (Gas Transmission). A core technical principle specific to B31.12 is its <strong>hydrogen service-specific design stress criteria<\/strong>. The standard provides reduced allowable stresses for materials in hydrogen service compared to their values in other codes, directly accounting for the long-term degradation effects of hydrogen embrittlement. Furthermore, it mandates rigorous <strong>material qualification requirements<\/strong>, often requiring tests (like sustained load cracking tests) to demonstrate a material\u2019s resistance to hydrogen-assisted cracking for the intended service conditions. The safety framework extends to specialized considerations for leak detection, ventilation in enclosed spaces, and component compatibility, forming a holistic approach to risk management.<\/p>\n<h3>Regulatory Context and Global Comparisons<\/h3>\n<\/p>\n<p>ASME B31.12 is published by the American Society of Mechanical Engineers (ASME) and is a consensus standard. In regulatory frameworks, such as in the United States and Canada, it is often adopted by reference into state\/provincial or federal regulations, making compliance mandatory for permitted projects. Authorities Having Jurisdiction (AHJs) and insurance providers routinely require design and construction to meet B31.12 for hydrogen systems. When compared to similar regional standards, key differences emerge:<br \/>\n*   <strong>Compared to ASME B31.3:<\/strong> While B31.3 is a broad process piping code, B31.12 provides hydrogen-specific material deratings, mandatory impact testing for all materials (not just for low temperatures), and more restrictive welding procedure qualifications. Using B31.3 for hydrogen service without these specific provisions is considered inadequate.<br \/>\n*   <strong>Compared to European Standards (e.g., EN 13480):<\/strong> European standards for metallic industrial piping may reference separate guidelines for hydrogen. B31.12 is distinctive in being a fully integrated, standalone code that bundles all hydrogen-specific rules\u2014from design to testing\u2014into one document, offering a more prescriptive and consolidated approach for the North American market and projects following ASME conventions.<\/p>\n<h3>Target Professionals and Application Workflow<\/h3>\n<\/p>\n<p>This standard is indispensable for several key engineering and construction roles:<br \/>\n*   <strong>Piping Design Engineers:<\/strong> For system layout, stress analysis using hydrogen-specific allowable stresses, and component specification.<br \/>\n*   <strong>Materials Engineers\/Specialists:<\/strong> For selecting qualified materials from the code\u2019s listed options and approving unlisted materials through rigorous testing protocols.<br \/>\n*   <strong>Welding Engineers:<\/strong> For developing and qualifying welding procedures that must meet the code\u2019s stringent requirements to avoid creating microstructures susceptible to hydrogen cracking.<br \/>\n*   <strong>Code Consultants and Third-Party Inspectors:<\/strong> For performing design reviews, witnessing tests, and issuing compliance reports required for regulatory approval.<br \/>\nA practical engineering scenario involves a design firm engineering a green hydrogen production facility. The piping engineer must use ASME B31.12 to determine the wall thickness for high-pressure hydrogen transfer lines, selecting a material from ASME B31.12\u2019s approved list (like certain grades of stainless steel) and applying the code\u2019s reduced allowable stress value. The welding procedures for these lines must be qualified according to B31.12\u2019s rules, which may include additional hardness controls and non-destructive examination (NDE) beyond what B31.3 would require.<\/p>\n<h3>Common Misconceptions and Implementation Risks<\/h3>\n<\/p>\n<p>A frequent misconception is that <strong>ASME B31.12 is only for high-pressure or pipeline applications<\/strong>. In reality, it applies to all in-plant and pipeline hydrogen piping systems within its pressure and temperature scope, regardless of scale. Another oversight is <strong>assuming that a material approved for cryogenic service in other codes is automatically suitable for liquid hydrogen<\/strong>; B31.12 has specific listing and testing requirements for liquid hydrogen service due to extreme embrittlement risks.<br \/>\nThe engineering and commercial risks of misinterpreting or ignoring ASME B31.12 are severe:<br \/>\n*   <strong>Catastrophic Failure Risk:<\/strong> Using non-qualified materials or incorrect design stresses can lead to hydrogen embrittlement, resulting in sudden, brittle fracture of pipes or components, with potential for fire, explosion, and loss of life.<br \/>\n*   <strong>Regulatory and Project Failure:<\/strong> Non-compliant designs will be rejected by AHJs during permit review, causing significant project delays. Failure during a third-party inspection can halt construction, leading to costly rework.<br \/>\n*   <strong>Liability Exposure:<\/strong> In the event of an incident, deviation from the recognized standard of care (ASME B31.12) can expose engineers, fabricators, and owners to substantial legal liability and invalidate insurance coverage.<br \/>\nTherefore, rigorous adherence to ASME B31.12-2023 is not merely a contractual formality but a fundamental engineering imperative for ensuring the safe and viable development of the global hydrogen infrastructure.<\/p>\n\r\n            <div class=\"download-box mg-b\" id=\"download-box\" ref=\"downloadBox\">\r\n            <div>\r\n                \r\n                <div class=\"down-ready\">\r\n                    <div class=\"download-list gujia\" ref=\"gujia\">\r\n                        <div class=\"download-item\">\r\n                            <div class=\"download-thumb\" style=\"'background-image: url();'\">\r\n                            <\/div>\r\n                            <div class=\"download-rights\">\r\n                                <div class=\"download-rights-title\"><span class=\"gujia-bg\"><\/span><\/div>\r\n                                <ul>\r\n                                    <li><span class=\"gujia-bg\"><\/span><\/li>\r\n                                    <li><span class=\"gujia-bg\"><\/span><\/li>\r\n                                    <li><span class=\"gujia-bg\"><\/span><\/li>\r\n                                    <li><span class=\"gujia-bg\"><\/span><\/li>\r\n                                    <li><span class=\"gujia-bg\"><\/span><\/li>\r\n                                    <li><span class=\"gujia-bg\"><\/span><\/li>\r\n                                <\/ul>\r\n                            <\/div>\r\n                            <div class=\"download-info\">\r\n                            <div class=\"download-rights-title\"><span class=\"gujia-bg\"><\/span><\/div>\r\n                                <ul>\r\n                                <\/ul>\r\n                                <div class=\"download-current\">\r\n                                    <div class=\"\"><\/div>\r\n                                <\/div>\r\n                                <div class=\"download-button-box\">\r\n                                    <div class=\"\"><\/div>\r\n                                    <div class=\"\"><\/div>\r\n                                    <div class=\"\"><\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div> \r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"download-list\" v-cloak>\r\n                    <div v-for=\"(item,index) in list\" :class=\"'download-item b2-radius '+(item.current_user.can.allow ? 'allow-down' : 'not-allow-down')\" v-show=\"picked == index\" v-cloak>\r\n                        <div class=\"download-rights\" v-cloak>\r\n                        <div class=\"download-rights-title\"><i class=\"b2font b2-download-cloud-line1\"><\/i>Download permission<\/div><span class=\"mobile-show\" @click=\"item.show_role = !item.show_role\">View<\/span>\r\n                            <ul v-if=\"item.show_role\">\r\n                                <li v-for=\"right in item.rights\" :class=\"right.lv == item.current_user.lv.lv.lv || right.lv == item.current_user.lv.vip.lv ? 'red' : ''\">\r\n                                    <div><span v-text=\"right.lv_name+'\uff1a'\"><\/span><\/div>\r\n                                    <div v-if=\"right.type == 'money'\">\uffe5<span v-text=\"right.value\"><\/span><\/div>\r\n                                    <div v-if=\"right.type == 'credit'\"><i class=\"b2font b2-coin-line\"><\/i><span v-text=\"right.value\"><\/span><\/div>\r\n                                    <div v-if=\"right.type == 'free'\">Download for free<\/div>\r\n                                    <div v-if=\"right.type == 'comment'\">Download after comment<\/div>\r\n                                    <div v-if=\"right.type == 'login'\">Download after login<\/div>\r\n                                    \r\n                                <\/li>\r\n                            <\/ul>\r\n                        <\/div>\r\n                        \r\n                        <div class=\"download-info\">\r\n                        <div class=\"download-rights-title\"><span v-text=\"item.name\"><\/span><a :href=\"item.view\" target=\"_blank\" class=\"download-view button empty text\" v-if=\"item.view\">View demo<i class=\"b2font b2-arrow-right-s-line\"><\/i><\/a><\/div>\r\n                            <ul v-show=\"item.attrs.length >0\">\r\n                                <li v-for=\"attr in item.attrs\">\r\n                                    <span class=\"download-attr-name\">{{attr.name}}\uff1a<\/span>\r\n                                    <span v-html=\"attr.value\"><\/span>\r\n                                <\/li>\r\n                            <\/ul>\r\n                            <div class=\"download-current\">\r\n                                <span>Your current level is<\/span>\r\n                                <span v-if=\"item.current_user.lv.lv\" v-html=\"item.current_user.lv.lv.icon\"><\/span>\r\n                                <span v-if=\"item.current_user.lv.vip\" v-html=\"item.current_user.lv.vip.icon\"><\/span>\r\n                                <div class=\"\" v-if=\"!item.current_user.can.allow\">\r\n                                    <span v-if=\"item.current_user.can.type == 'login'\">\r\n                                    Login for free download<a href=\"javascript:void(0)\" onclick=\"login.show = true;login.loginType = 1\">Login<\/a>\r\n                                    <\/span>\r\n                                    <span v-else-if=\"item.current_user.lv.lv.lv == 'dark_room'\">\r\n                                    Your account has been temporarily suspended and cannot be operated\uff01\r\n                                    <\/span>\r\n                                    <span v-else-if=\"item.current_user.can.type == 'comment'\">\r\n                                    Download after comment<a href=\"#respond\">Comment<\/a>\r\n                                    <\/span>\r\n                                    <span v-else-if=\"item.current_user.lv.lv.lv == 'guest' && !item.current_user.guest\">\r\n                                        <span v-show=\"list[index].rights[0].lv == 'all'\" v-cloak>Download after paying <b><template v-if=\"item.current_user.can.type == 'credit'\"><i class=\"b2font b2-coin-line\"><\/i><\/template><template v-else>\uffe5<\/template><i v-html=\"list[index].current_user.can.value\"><\/i><\/b> points<\/span>\r\n                                        please first<a href=\"javascript:void(0)\" onclick=\"login.show = true;login.loginType = 1\">Login<\/a>\r\n                                    <\/span>\r\n                                    <span v-else-if=\"item.current_user.can.type == 'full'\" class=\"green\">\r\n                                        You have run out of downloads (<b v-text=\"item.current_user.can.total_count\"><\/b> times) please come back tomorrow  or<a href=\"https:\/\/www.vrgoo.org\/vips\">Upgrade Membership<\/a>\r\n                                    <\/span>\r\n                                    <span v-else-if=\"item.current_user.can.type == 'credit'\">\r\n                                        Download after paying <b><i class=\"b2font b2-coin-line\"><\/i><i v-html=\"list[index].current_user.can.value\"><\/i><\/b> points<a href=\"javascript:void(0)\" @click=\"credit(index)\">Pay Now<\/a>\r\n                                    <\/span>\r\n                                    <span v-else-if=\"item.current_user.can.type == 'money'\">\r\n                                        Download after paying <b v-text=\"'\uffe5'+list[index].current_user.can.value\"><\/b> points<a href=\"javascript:void(0)\" @click=\"pay(index)\">Pay Now<\/a>\r\n                                    <\/span>\r\n                                    \r\n                                    <span v-else>\r\n                                        Your current user level is not allowed to download<a href=\"https:\/\/fengshecad.com\/en\/vips\/\" target=\"_blank\">Upgrade Membership<\/a>\r\n                                    <\/span>\r\n                                <\/div>\r\n                                <div class=\"\" v-else>\r\n                                    <span v-if=\"item.current_user.current_guest == 0 || item.current_user.can.free_down\" class=\"green\">\r\n                                        You have obtained download permission\r\n                                    <\/span>\r\n                                    <span class=\"green\" v-else>\r\n                                        You can download resources every day<b v-text=\"item.current_user.can.total_count\"><\/b>times, remaining today<b v-text=\"item.current_user.can.count\"><\/b>times left today\r\n                                    <\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"download-button-box\">\r\n                                <button @click=\"go(b.link,item.current_user.can.allow,item,index)\" class=\"button\" v-text=\"b.name\" v-for=\"b in item.button\"><\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <\/div>\r\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>What is ASME B31.12-2023? ASME B31.12-2023 is a comprehensive technical standard governing the design, materials, fabrication, assembly, erection, examination, inspection, and testing of piping systems transporting gaseous hydrogen, liquid hydrogen, and hydrog<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[65],"tags":[22],"collection":[],"class_list":["post-785","post","type-post","status-publish","format-standard","hentry","category-uscodes","tag-b31"],"_links":{"self":[{"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/posts\/785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/comments?post=785"}],"version-history":[{"count":2,"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/posts\/785\/revisions"}],"predecessor-version":[{"id":2050,"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/posts\/785\/revisions\/2050"}],"wp:attachment":[{"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/media?parent=785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/categories?post=785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/tags?post=785"},{"taxonomy":"collection","embeddable":true,"href":"https:\/\/fengshecad.com\/en\/wp-json\/wp\/v2\/collection?post=785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}