CBAM Benchmark Values Decoded: Column A vs Column B and the Route Letters (A)-(L)
Short answer. The EU publishes 570 CBAM benchmark values across 1804 route rows, and one CN code can carry several of them. Two things pick the right one: the column (Column A = a single production process, Column B = a whole production chain) and the route indicator printed next to the number – the letters (A) to (L) and the year tags (1)/(2). Get the letter wrong and the same code is worth up to 47.7 times more or less per tonne: CN 72051000 runs from 0.027 tCO2e/t on the scrap/EAF route to 1.288 tCO2e/t on the blast-furnace route. This page decodes every letter from the Commission's own guidance, then shows what the numbers do to the per-tonne free allocation adjustment. The six data tables below scroll sideways inside their own frame on screens narrower than the page column, so no column is ever hidden.
What the Commission actually publishes
The benchmark series is the annex to the act on the free allocation
adjustment – Commission Implementing Regulation (EU) 2025/2620 of 16 December 2025 – and the Commission publishes an Excel
copy for information only, with the binding values in the Annex to that act.
Our warehouse holds a structured parse of that workbook: 570
products and 1804 route rows, snapshotted on
2026-10-20T03:04:41Z. The upstream response fingerprint, which is how we pin the
exact file this parse came from, starts
b02a699549386519… (first 16 of 64 hex characters). The parse is cross-checked against
the workbook itself: the Benchmarks sheet carries
1810 rows, which is exactly header (1) + sector banners
(5) + route rows (1804) – if those three
numbers stop agreeing the generator refuses to write a page.
| Sector | Products | Route rows | Min | Median | Max |
|---|---|---|---|---|---|
| Iron and steel | 478 | 1650 | 0.027 | 0.794 | 2.390 |
| Aluminium | 58 | 116 | 0.091 | 0.841 | 1.599 |
| Fertilisers | 27 | 28 | 0.173 | 0.557 | 1.522 |
| Cement | 6 | 9 | 0.666 | 0.686 | 0.859 |
| Hydrogen | 1 | 1 | 5.089 | 5.089 | 5.089 |
Column B (whole production chain) values, tCO2e per tonne of good. Minimum, median and maximum are taken over route rows, not products, so a code with three routes contributes three values.
Source: European Commission, CBAM benchmark workbook (Annex to Implementing Regulation (EU) 2025/2620), parsed rows – https://taxation-customs.ec.europa.eu/document/download/9877523c-2a02-4926-a211-aefae7cf6d0d_en (fetched 2026-10-20).
Note the shape of that table: iron and steel is not merely the largest sector, it is where the route machinery exists at all – 1650 of 1804 route rows. Cement has six products but nine rows because its clinker codes split into grey and white; aluminium has 116 rows for 58 products, exactly the primary/secondary pair. Hydrogen is a single row at 5.089 tCO2e/t with no route letter at all, which is why it is the one CBAM good whose benchmark cannot be mis-picked.
Unlike CBAM default values, which are per country of origin (our dataset holds 12,540 rows across 122 countries), benchmark values apply equally to every country. The Commission says so directly in Guidance 4: unlike default values for embedded emissions, the benchmark values “apply equally for all countries”. What varies instead is the route, the column and – for 176 codes – the production year.
The route letters, decoded
This is the table nobody prints next to the data. The letters are defined in Table 2-2 of the Commission's Guidance Document 4 (2026-08-14); we transcribe them here and pair each one with what our extract actually contains:
| Indicator | What it selects (Commission wording) | Rows | Min | Median | Max |
|---|---|---|---|---|---|
| (C) | Carbon steel, BF/BOF route (blast furnace / basic oxygen furnace) | 289 | 1.288 | 1.383 | 1.779 |
| (D) | Carbon steel, DRI/EAF route (direct reduced iron / electric arc furnace) | 289 | 0.424 | 0.494 | 0.740 |
| (E) | Carbon steel, scrap/EAF route (scrap as main input) | 289 | 0.027 | 0.085 | 0.331 |
| (1) | Value applies to production years 2026-27 | 106 | 0.701 | 1.225 | 2.390* |
| (2) | Value applies to production years 2028-30 | 106 | 0.685 | 1.187 | 2.295* |
| (F)(1) | Low alloy steel, BF/BOF route; Value applies to production years 2026-27 | 70 | 1.460 | 1.613 | 1.807* |
| (G)(1) | Low alloy steel, DRI/EAF route; Value applies to production years 2026-27 | 70 | 0.659 | 0.788 | 0.982* |
| (H)(1) | Low alloy steel, scrap/EAF route; Value applies to production years 2026-27 | 70 | 0.328 | 0.446 | 0.640* |
| (J)(1) | High alloy steel (electric arc furnace); Value applies to production years 2026-27 | 70 | 0.852 | 0.986 | 1.180* |
| (F)(2) | Low alloy steel, BF/BOF route; Value applies to production years 2028-30 | 70 | 1.298 | 1.446 | 1.640* |
| (G)(2) | Low alloy steel, DRI/EAF route; Value applies to production years 2028-30 | 70 | 0.647 | 0.775 | 0.969* |
| (H)(2) | Low alloy steel, scrap/EAF route; Value applies to production years 2028-30 | 70 | 0.315 | 0.433 | 0.628* |
| (J)(2) | High alloy steel (electric arc furnace); Value applies to production years 2028-30 | 70 | 0.820 | 0.954 | 1.148* |
| (K) | Primary aluminium (electrolysis from alumina) | 58 | 1.423 | 1.485 | 1.599 |
| (L) | Secondary aluminium (remelting aluminium scrap) | 58 | 0.091 | 0.148 | 0.258 |
| (none) | No route letter on this row in the published Annex | 45 | 0.086 | 0.666 | 5.089 |
| (A) | Grey clinker / grey cement | 2 | 0.666 | 0.666 | 0.666 |
| (B) | White clinker / white cement | 2 | 0.847 | 0.853 | 0.859 |
Values are Column B (whole production chain) benchmark figures in tCO2e per tonne of good, as published.
Source: European Commission, CBAM benchmark workbook (Annex to Implementing Regulation (EU) 2025/2620), parsed rows – https://taxation-customs.ec.europa.eu/document/download/9877523c-2a02-4926-a211-aefae7cf6d0d_en (fetched 2026-10-20).
Source: European Commission, Guidance Document 4, Table 2-2 (route indicators) and Table 2-1 (CBAM factor) – https://taxation-customs.ec.europa.eu/system/files/2026-08/Guidance No. 4 – CBAM calculation of the free allocation adjustment to the number of CBAM certificates to be surrendered.pdf (fetched 2026-10-29).
Read the letters as a single question: where were the emissions made? The same steel product gets one benchmark if it came out of an integrated blast furnace / basic oxygen furnace route (C), another if it was made by direct reduced iron in an electric arc furnace (D), and a far lower one if the furnace was fed with scrap (E). Aluminium splits the same way between primary metal from alumina (K) and remelted scrap (L). The year tags are a different axis: (1) means "use this for production years 2026-27", (2) means "use this from 2028 to 2030" – and 70 codes in our extract carry both letters in one combined indicator such as (F)(1) and (F)(2). There is no (I) indicator in the published Annex – the sequence runs (A) through (H), then (J), (K) and (L) – so a missing (I) is the source numbering, not a gap in this table.
Column A versus Column B: not two versions of one number
The Annex prints two benchmark columns. Guidance 4 defines them by system boundary: Column A holds benchmarks for single production processes, Column B holds benchmarks for whole production chains. Column A exists precisely so that a producer who only performs the final step – and therefore has no data for the upstream steps – can still report something. That is why Column A is populated on only 661 of 1804 rows, while Column B is populated on all 1804.
Where both exist they do not agree: 622 of the 661 comparable rows differ, and in 0 of them does Column A exceed Column B – the process-level number sits below the chain-level number without exception. The gap is not cosmetic:
| CN code | Good and route | Column A | Column B | B / A |
|---|---|---|---|---|
| 72085120 | Flat-rolled non-alloy steel, hot-rolled coil >= 600 mm route (C) | 0.044 | 1.370 | 31.1× |
| 72085120 | Flat-rolled non-alloy steel, hot-rolled coil >= 600 mm route (D) | — | 0.481 | n/a |
| 72085120 | Flat-rolled non-alloy steel, hot-rolled coil >= 600 mm route (E) | — | 0.072 | n/a |
| 76011010 | Aluminium slabs, not alloyed, unwrought route (K) | 1.423 | 1.423 | 1.0× |
| 76011010 | Aluminium slabs, not alloyed, unwrought route (L) | 0.091 | 0.091 | 1.0× |
| 25232100 | White Portland cement route (none) | 0.000 | 0.859 | n/a |
| 28041000 | Hydrogen route (none) | 5.089 | 5.089 | 1.0× |
Source: European Commission, CBAM benchmark workbook (Annex to Implementing Regulation (EU) 2025/2620), parsed rows – https://taxation-customs.ec.europa.eu/document/download/9877523c-2a02-4926-a211-aefae7cf6d0d_en (fetched 2026-10-20).
In the table above, — means Column A publishes no value for that route, and n/a means the ratio is undefined because Column A is a published 0.000 rather than a missing cell.
Flat-rolled carbon steel (72085120) is the cleanest illustration: the single-process value is 0.044 tCO2e/t while the whole-chain benchmark for the blast-furnace route is 1.370 tCO2e/t, a 31.1-fold difference on the same line. One caution about reading zeros: 9 rows publish a literal 0.000 in Column A (white and grey Portland cement among them) while Column B on the same row is non-zero. A published zero is a published figure, not a missing one - before you treat any of them as "no obligation" for a specific shipment, check the operative annex text rather than a spreadsheet cell.
One code, 47.7 times apart
Ranked by the ratio between the largest and smallest Column B benchmark inside a single CN code, the top of the list is all iron and steel, because that is where three genuinely different production routes share one code:
| CN code | Description (truncated) | Min | Max | Spread |
|---|---|---|---|---|
| 72051000 | Granules, of pig iron, spiegeleisen, iron or steel (excl. granules of fer… | 0.027 | 1.288 | 47.7× |
| 72071111 | Semi-finished products, of non-alloy free-cutting steel, containing by we… | 0.066 | 1.364 | 20.7× |
| 72081000 | Flat-rolled products of iron or non-alloy steel, of a width of >= 600 mm,… | 0.072 | 1.370 | 19.0× |
| 72251100 | Flat-rolled products of silicon-electrical steel, of a width of >= 600 mm… | 0.109 | 1.779 | 16.3× |
| 73021010 | Current-conducting rails of iron or steel, with parts of non-ferrous meta… | 0.085 | 1.383 | 16.3× |
| 76011010 | Aluminium slabs, not alloyed, unwrought | 0.091 | 1.423 | 15.6× |
| 72172010 | Wire of iron or non-alloy steel, in coils, containing by weight < 0,25% c… | 0.099 | 1.397 | 14.1× |
| 72251910 | Flat-rolled products of silicon-electrical steel, of a width of >= 600 mm… | 0.101 | 1.399 | 13.9× |
| 72091500 | Flat-rolled products of iron or non-alloy steel, of a width of >= 600 mm,… | 0.108 | 1.458 | 13.5× |
| 72251990 | Flat-rolled products of silicon-electrical steel, of a width of >= 600 mm… | 0.138 | 1.488 | 10.8× |
Source: European Commission, CBAM benchmark workbook (Annex to Implementing Regulation (EU) 2025/2620), parsed rows – https://taxation-customs.ec.europa.eu/document/download/9877523c-2a02-4926-a211-aefae7cf6d0d_en (fetched 2026-10-20).
Aluminium repeats the pattern in a smaller range: primary aluminium (K) benchmarks run 1.423-1.599 tCO2e/t across the 58 aluminium rows, secondary aluminium (L) 0.091-0.258 - a 15.6x gap between an ingot made from alumina and an ingot made from scrap, for the same CN code and the same customs declaration.
The year tag: 176 codes change value from 2028*
A second, quieter source of error is the calendar. 176 codes in our extract carry both a (1) and a (2) value. The reason is on page 13 of Guidance 4: the EU ETS factor for reducing the allocation to process emissions is 0.97 until 31 December 2027 and 0.91 from 2028 onward, and that change is carried through into the CBAM benchmark. Across those 176 codes the average move from (1) to (2) is -3.24%; the largest drops are:*
| CN code | Description (truncated) | (1) 2026–27 | (2) 2028–30 | Change* |
|---|---|---|---|---|
| 72021120 | Ferro-manganese, containing by weight > 2% carbon, with a granulometr… | 1.361 | 1.277 | −6.17%* |
| 72021180 | Ferro-manganese, containing by weight > 2% carbon (excl. ferro-mangan… | 1.361 | 1.277 | −6.17%* |
| 72021900 | Ferro-manganese, containing by weight <= 2% carbon | 1.361 | 1.277 | −6.17%* |
| 25233000 | Aluminous cement | 0.717 | 0.686 | −4.32%* |
| 72026000 | Ferro-nickel | 2.390 | 2.295 | −3.97%* |
| 72052100 | Powders, of alloy steel (excl. powders of ferro-alloys and radioactiv… | 0.852 | 0.820 | −3.76%* |
Source: European Commission, CBAM benchmark workbook (Annex to Implementing Regulation (EU) 2025/2620), parsed rows – https://taxation-customs.ec.europa.eu/document/download/9877523c-2a02-4926-a211-aefae7cf6d0d_en (fetched 2026-10-20).
Source: European Commission, Guidance Document 4, Table 2-2 (route indicators) and Table 2-1 (CBAM factor) – https://taxation-customs.ec.europa.eu/system/files/2026-08/Guidance No. 4 – CBAM calculation of the free allocation adjustment to the number of CBAM certificates to be surrendered.pdf (fetched 2026-10-29).
The practical consequence: a declaration for a current-year import must use the (1) value, and a claim about the 2028-30 period must use (2). Reusing one production-year figure for the other is a silent -6.17%-scale error on ferro-manganese (72021120: 1.361 to 1.277 tCO2e/t) and proportionally everywhere else on the list.
From benchmark to the per-tonne free allocation adjustment
The benchmark is not the bill; it is an input. For a simple good (one production process, no relevant precursors) the specific embedded free allocation collapses to equation (2) of the act as explained in Guidance 4: SEFA = CBAM factor for the year x CSCF for the year x process benchmark. Both multipliers come from Table 2-1 of that guidance: the CBAM factor runs from 97.5% in 2026 down to 14.0% in 2033 and 0 in 2034, and the cross-sectoral correction factor is 1.0 for every year in that table - flagged there as preliminary, with the 2026-2030 values published in Commission Implementing Decision (EU) 2026/1862. Multiplying straight through gives the per-tonne figure a declarant is actually working towards:
| CN code | Good, route and benchmark | 2026 | 2027 | 2028 | 2029 | 2030* | 2033* |
|---|---|---|---|---|---|---|---|
| 72085120 | Flat-rolled carbon steel, BF/BOF BM 1.370 tCO2e/t | 1.336 | 1.302 | 1.233 | 1.062 | 0.706 | 0.192 |
| 72085120 | Flat-rolled carbon steel, DRI/EAF BM 0.481 tCO2e/t | 0.469 | 0.457 | 0.433 | 0.373 | 0.248 | 0.067 |
| 72085120 | Flat-rolled carbon steel, scrap/EAF BM 0.072 tCO2e/t | 0.070 | 0.068 | 0.065 | 0.056 | 0.037 | 0.010 |
| 76011010 | Primary aluminium BM 1.423 tCO2e/t | 1.387 | 1.352 | 1.281 | 1.103 | 0.733 | 0.199 |
| 76011010 | Secondary aluminium BM 0.091 tCO2e/t | 0.089 | 0.086 | 0.082 | 0.071 | 0.047 | 0.013 |
| 28041000 | Hydrogen BM 5.089 tCO2e/t | 4.962 | 4.835 | 4.580 | 3.944 | 2.621 | 0.712 |
Source: European Commission, CBAM benchmark workbook (Annex to Implementing Regulation (EU) 2025/2620), parsed rows – https://taxation-customs.ec.europa.eu/document/download/9877523c-2a02-4926-a211-aefae7cf6d0d_en (fetched 2026-10-20).
Source: European Commission, Guidance Document 4, Table 2-2 (route indicators) and Table 2-1 (CBAM factor) – https://taxation-customs.ec.europa.eu/system/files/2026-08/Guidance No. 4 – CBAM calculation of the free allocation adjustment to the number of CBAM certificates to be surrendered.pdf (fetched 2026-10-29).
SEFA in tCO2e per tonne of good, at CSCF = 1.0 (preliminary, Table 2-1). Free allocation adjustment = SEFA x mass imported. Complex goods add precursor terms, which this table deliberately does not compute.
Two readings matter commercially. First, the route choice dominates the year choice by an order of magnitude: scrap/EAF flat-rolled steel starts at 0.070 tCO2e/t in 2026 while the blast-furnace route starts at 1.336 – a difference no later CBAM factor reduction closes. Second, the decline is back-loaded: the factor is 0.975 in 2026 and still 0.900 in 2028, then collapses to 0.140 by 2033, so suppliers who can prove a low-carbon route gain the most in the years when the factor is small and the absolute adjustment is large.
What this page does not tell you
- The letters are transcribed from Guidance 4, Table 2-2. The guidance document is explicitly non-binding; the Annex to Commission Implementing Regulation (EU) 2025/2620 of 16 December 2025 is the operative text and prevails on any conflict.
- Complex goods need precursor benchmarks and precursor quantities; SEFA is not a single multiplication for them, and nothing here substitutes for the methodology in the act.
- Electricity (CN 2716 00 00) has a free allocation adjustment of zero, so it does not appear in the benchmark series at all.
- Cluster values are "as published" – the 47.7x and 15.6x figures compare rows inside one code, never across sectors, and never net of the CBAM factor.
- Nothing here is legal or tax advice; confirm the operative annex and your declarant software's vintage before filing.
Companion guide: CBAM default values by country covers the other half of the calculation – the fallback emissions intensities, their country spread and the 10/20/30 percent mark-up. The CBAM data source page documents both workbooks. For a US-side landed cost on the same shipment use the duty calculator; monitoring plans are on the pricing page. If the same shipment enters the United States instead of the EU, the per-line arithmetic that matters there is the Chapter 99 stack rather than a benchmark: Section 301 China tariffs, line by line.
What is the difference between Column A and Column B in the CBAM benchmark annex?
Column A gives benchmarks for single production processes and Column B gives benchmarks for whole production chains; the Commission's Guidance 4 defines the split by system boundary. Column A is published on 661 of our 1804 route rows and Column B on all of them, and where both appear they differ in 622 of 661 cases - always with Column A lower.
What do the letters (A) to (L) next to a CBAM benchmark mean?
They select the production route. (A) and (B) split grey from white clinker in cement; (C), (D) and (E) split carbon steel between blast furnace/basic oxygen, direct reduced iron/electric arc and scrap-based electric arc; (F), (G), (H) and (J) do the same for low alloy and high alloy steel; (K) is primary aluminium made by electrolysis from alumina and (L) is secondary aluminium remelted from scrap. The legend is Table 2-2 of Guidance Document 4 (14 August 2026).*
Why do some CBAM benchmarks carry a (1) or (2) tag?
(1) applies to production years 2026-27 and (2) to 2028-30. The shift exists because the EU ETS factor for reducing allocation to process emissions moves from 0.97 to 0.91. 176 codes in our extract carry both tags; the average change is -3.24%, with ferro-manganese dropping -6.17%.*
How much does the CBAM benchmark vary inside one CN code?
Up to 47.7 times. CN 72051000 (granules of pig iron, spiegeleisen, iron or steel) carries 0.027 tCO2e/t on the scrap/EAF route and 1.288 tCO2e/t on the blast-furnace route. For aluminium the primary/secondary split is 15.6× (1.423 vs 0.091 tCO2e/t).
Do CBAM benchmarks depend on the country of origin?
No. The Commission states that benchmark values apply equally to all countries, unlike default values for embedded emissions, which are published per country - 12,540 rows across 122 countries in our extract. Only the route, the column and, for 176 codes, the production year change the benchmark.
How is the benchmark turned into an amount of free allocation?
For a simple good the specific embedded free allocation is the year's CBAM factor times the year's cross-sectoral correction factor times the benchmark: 0.975 x 1.0 x benchmark in 2026, falling to 0.140 by 2033 and zero in 2034. Multiplying by the imported mass gives the free allocation adjustment. Complex goods add precursor terms on top.*