Skip to the content
EU deficit €5.4 bn
Euro area
The first estimates of euro area balance showed a €1.0 bn surplus in trade in goods with the rest of the world in January 2025, compared with +€10.6 bn in January 2024.
The euro area exports of goods to the rest of the world in January 2025 were €232.6 billion, an increase of 3.0% compared with January 2024 (€225.9 bn).
Imports from the rest of the world stood at €231.5 bn, a rise of 7.6% compared with January 2024 (€215.3 bn).
In January 2025, the euro area surplus decreased compared to December 2024, dropping from €15.4 bn to €1.0 bn. When examining changes in the balance by product, two product groups drove the decrease with a negative change: machineries and vehicles observed the largest decline, falling from €16.5 bn in December 2024 to €7.4 bn in January 2025, and other manufactured goods shifted from a surplus of €1.2 bn to a deficit of €4.6 bn over the same period.
In 2024, the euro area recorded a surplus of €173.8 bn, compared with +€57.4 bn in the year 2023.
The euro area exports of goods to the rest of the world rose to €2 863.1 bn (an increase of 0.5% compared with 2023), and imports fell to €2 689.2 bn (a decrease of 3.6% compared with 2023).
Intra-euro area trade fell to €2 567.2 bn in 2024 down by 2.9% compared with the previous year.
Euro area trade - non seasonally adjusted data (bn €) | ||||||
---|---|---|---|---|---|---|
Flows | Jan 24 | Jan 25 | Growth rates | Jan-Dec 23 | Jan-Dec 24 | Growth rates |
Extra-EA exports | 225.9 | 232.6 | 3.0% | 2 847.9 | 2 863.1 | 0.5% |
Extra-EA imports | 215.3 | 231.5 | 7.6% | 2 790.5 | 2 689.2 | -3.6% |
Extra-EA trade balance | 10.6 | 1.0 | 57.4 | 173.8 | ||
Intra-EA trade | 213.4 | 215.1 | 0.8% | 2 643.6 | 2 567.2 | -2.9% |
Source dataset: ext_st_ea_sitc |
European Union
The EU balance showed a €5.4 bn deficit in trade in goods with the rest of the world in January 2025, compared with a surplus of €6.7 bn in January 2024.
The extra-EU exports of goods in January 2025 were €208.7 billion, up by 4.4% compared with January 2024 (€199.8 bn).
Imports from the rest of the world stood at €214.1 bn, up by 10.9% compared with January 2024 (€193.1 bn).
In January 2025, compared to December 2024, the EU shifted from a surplus of €15.9 bn to a deficit of €5.4 bn. Similarly to what was observed for the euro area, the decrease was mainly due to a reduced surplus in machineries and vehicles, which fell from €19.1 bn to €9.0 bn, and other manufactured goods, which shifted from a surplus of €1.7 bn to a deficit of €7.8 bn.
In 2024 the EU recorded a surplus of €147.0 bn, compared with €34.4 bn in 2023.
The extra-EU exports of goods rose to €2 584.2 bn (an increase of 1.1% compared with 2023), while imports fell to €2 437.1 bn (a decrease of 3.4% compared with 2023).
Intra-EU trade fell to €4 025.1 bn in 2024, down by 2.2% compared with 2023.
EU trade - non seasonally adjusted data (bn €) | ||||||
---|---|---|---|---|---|---|
Flows | Jan 24 | Jan 25 | Growth rates | Jan-Dec 23 | Jan-Dec 24 | Growth rates |
Extra-EU exports | 199.8 | 208.7 | 4.4% | 2 557.0 | 2 584.2 | 1.1% |
Extra-EU imports | 193.1 | 214.1 | 10.9% | 2 522.6 | 2 437.1 | -3.4% |
Extra-EU trade balance | 6.7 | -5.4 | 34.4 | 147.0 | ||
Intra-EU trade | 334.4 | 336.9 | 0.7% | 4 113.6 | 4 025.1 | -2.2% |
Source dataset: ext_st_eu27_2020sitc |
Main products - EU Bn €, monthly change compared to previous year | ||||||
---|---|---|---|---|---|---|
Extra-EU exports | Extra-EU imports | Trade balance | ||||
Jan 25 | Growth rates | Jan 25 | Growth rates | Jan 25 | Jan 24 | |
Total | 208.7 | 4.4% | 214.1 | 10.9% | -5.4 | 6.7 |
Primary goods: | 33.3 | 0.5% | 63.3 | 4.8% | -30.0 | -27.3 |
Food & drink | 17.0 | 4.5% | 14.8 | 19.7% | 2.2 | 3.9 |
Raw materials | 5.7 | 4.0% | 8.3 | 6.6% | -2.6 | -2.3 |
Energy | 10.6 | -6.9% | 40.2 | -0.2% | -29.6 | -28.9 |
Manufactured goods: | 171.5 | 4.9% | 147.3 | 12.5% | 24.2 | 32.5 |
Chemicals & related products | 51.4 | 12.9% | 28.4 | 10.0% | 23.0 | 19.7 |
Machinery & vehicles | 76.1 | 1.6% | 67.1 | 7.7% | 9.0 | 12.6 |
Other manufactured goods | 43.9 | 2.3% | 51.7 | 21.0% | -7.8 | 0.2 |
Other | 3.9 | 19.9% | 3.6 | 95.7% | 0.4 | 1.5 |
Source dataset: ext_st_eu27_2020sitc |
Main trading partners - EU Bn €, monthly change compared to previous year | ||||||
---|---|---|---|---|---|---|
Exports | Import | Trade balance | ||||
Jan 25 | Growth rates | Jan 25 | Growth rates | Jan 25 | Jan 24 | |
United States | 46.7 | 16.0% | 30.5 | 7.5% | 16.2 | 11.9 |
China | 14.8 | -13.3% | 44.8 | 19.2% | -30.1 | -20.6 |
United Kingdom | 28.1 | 1.0% | 12.9 | -3.7% | 15.3 | 14.5 |
Switzerland | 17.2 | 6.6% | 11.6 | 6.6% | 5.5 | 5.2 |
Türkiye | 8.8 | 4.6% | 9.2 | 11.4% | -0.4 | 0.2 |
Norway | 5.1 | -15.7% | 9.2 | 9.2% | -4.0 | -2.3 |
Japan | 5.6 | -5.4% | 5.5 | -1.6% | 0.1 | 0.3 |
South Korea | 4.0 | -2.4% | 5.8 | 18.7% | -1.8 | -0.8 |
India | 3.9 | 19.3% | 5.8 | 7.4% | -1.8 | -2.1 |
Brazil | 3.4 | 3.8% | 3.9 | 9.0% | -0.4 | -0.2 |
Source dataset: ext_st_eu27_2020sitc |
Annex - Seasonally adjusted data
In January 2025, compared with December 2024, euro area seasonally adjusted exports increased by 2.1%, while imports rose by 2.3%. As a result, the trade balance slightly decreased to €14.0 bn, down from €14.2 bn in December 2024.
For the EU seasonally adjusted exports increased by 2.0%, while imports increased by 3.2%. As a result, the seasonally adjusted balance decreased to €10.1 bn, down from €12.3 bn in December 2024.
In the last three months, seasonally adjusted exports in the euro area increased by 2.7%, while imports increased by 1.2%, compared with August-October 2024. During the same period, seasonally adjusted exports and imports in the EU rose by 3.1% and 1.5%, respectively.
EA and EU trade - seasonally adjusted data - (bn €) | |||||
---|---|---|---|---|---|
Dec 24 | Jan 25 | Growth rates | Nov 24 - Jan 25 | Growth rates (compared to the previous three months) | |
Euro area | |||||
Extra-EA exports | 240.6 | 245.6 | 2.1% | 727.1 | 2.7% |
Extra-EA imports | 226.4 | 231.6 | 2.3% | 687.1 | 1.2% |
Balance | 14.2 | 14.0 | 40.0 | ||
Intra-EA | 214.0 | 216.8 | 1.3% | 643.5 | 0.0% |
EU | |||||
Extra-EU exports | 218.0 | 222.5 | 2.0% | 657.9 | 3.1% |
Extra-EU imports | 205.8 | 212.4 | 3.2% | 627.0 | 1.5% |
Balance | 12.3 | 10.1 | 30.9 | ||
Intra-EU | 336.6 | 339.5 | 0.9% | 1011.1 | 0.3% |
Source Datasets: ext_st_ea_sitc (Euro area), ext_st_eu27_2020sitc (EU) |
Notes for users
Revisions and timetable
This News Release is based on information transmitted by Member States to Eurostat before 13 March 2025. Figures are provisional. For more details, see information on data.
Methods and definitions
Statistics on trade in goods are transmitted monthly by the Member States, in accordance with the standard set out in Commission Implementing Regulation (EU) 2020/1197. For each reference month, Member States must compile statistics covering their total extra- and intra-EU trade by using estimates, where necessary. These data are available within 40 days after the end of the reference month, enabling euro area and EU aggregates to be disseminated within around 46 days.
Member States provide Eurostat with raw data, which are adjusted for calendar and seasonal effects by Eurostat. The European aggregates are computed with the indirect approach (by Member States) for total imports and exports, which guarantees additivity between the aggregate and its respective components. The estimation of seasonally adjusted data is based on the Tramo-Seats procedure, which is available inthe software JDemetra+.
Data are broken down by broad categories of products as defined by the one-digit codes of the Standard international trade classification (SITC).
Geographical information
The euro area (EA20) includes Belgium, Germany, Estonia, Ireland, Greece, Spain, France, Croatia, Italy, Cyprus, Latvia, Lithuania, Luxembourg, Malta, the Netherlands, Austria, Portugal, Slovenia, Slovakia and Finland.
The European Union (EU27) includes Belgium, Bulgaria, Czechia, Denmark, Germany, Estonia, Ireland, Greece, Spain, France, Croatia, Italy, Cyprus, Latvia, Lithuania, Luxembourg, Hungary, Malta, the Netherlands, Austria, Poland, Portugal, Romania, Slovenia, Slovakia, Finland and Sweden.
For more information
Website section on international trade in goods
Database section on international trade in goods
Euro indicators dashboard
Release calendar for Euro indicators
European Statistics Code of Practice
Get in touch
Media requests
Eurostat Media Support
Phone: (+352) 4301 33 408
E-mail: eurostat-mediasupport@ec.europa.eu
Further information on data
Anton ROODHUIJZEN
Phone: (+352) 4301 35 792
Michele MAROTTA
Phone: (+352) 4301 32 493
E-mail: estat-etfree@ec.europa.eu
Share component will be rendered here.
'; /** Retrieve the order from the tooltip option */ const sortOrder = option.tooltip.order; /** Sort the 'params' array based on the 'sortOrder' parameter. */ switch (sortOrder) { /** Sort by series name in ascending order. */ case 'seriesAsc': params = params.sort((a, b) => a.seriesName.localeCompare(b.seriesName)); break; /** Sort by series name in descending order. */ case 'seriesDesc': params = params.sort((a, b) => b.seriesName.localeCompare(a.seriesName)); break; /** Sort by numerical value in ascending order. */ case 'valueAsc': params = params.sort((a, b) => parseFloat(a.value) - parseFloat(b.value)); break; /** Sort by numerical value in descending order. */ case 'valueDesc': params = params.sort((a, b) => parseFloat(b.value) - parseFloat(a.value)); break; /** Reverse the current order. */ case 'reverse': params.reverse(); break; default: break; } /** Iterate over each series in the tooltip parameters */ for (const param of params) { /** Retrieve the name and value of the current series */ let seriesName = param.seriesName; let value = param.value; /** Replace every specific apostrphe by simple one. */ seriesName = seriesName.replaceAll("’", "'"); /** Convert the numeric value to its string representation. */ const strValue = String(value); /** Retrieve the axis used as value */ const axis = option.yAxis.type === 'value' ? option.yAxis : option.xAxis; /** Initialize the number of decimal places */ let decimals = option.tooltip.decimals; /** Check if decimals configuration is set to default and the value contains decimal places */ if (!decimals && strValue.indexOf('.') > -1) { /** Calculate the number of decimal places */ decimals = strValue.substring(strValue.indexOf('.'), strValue.length - 1).length; } else { /** If there are no decimal places, format the value with 1 decimal place */ decimals = decimals || 1; /** Convert the value to a fixed-point notation string with a specified number of decimal places. */ value = Number(value).toFixed(decimals); } /** Convert -0 value to 0 with the specified or calculated number of decimal places.*/ if (Number(value) == -0) { value = (Number(value) + 0).toFixed(decimals); } /** Extract the unit from within the axis label */ const unit = axis.axisLabel.unit ? axis.axisLabel.unit : ''; /** Format the value using the appropriate number of decimal places */ if (isNaN(value)) { value = 'N/A'; } else { value = Number(value).toLocaleString(option.lang ? option.lang : 'en', { minimumFractionDigits: decimals }) + unit; } /** Retrieve the color of the current series */ const color = param.color; /** * Add the series name and value to the tooltip content * Use a circle icon with the series color */ tooltipContent += '
' + '' + '' + '' + seriesName + '' + '' + '' + value + '' + '
'; } /** Close the tooltip content container */ tooltipContent += '
'; /** Return the formatted tooltip content */ return tooltipContent; }}/* * This content is licensed according to the W3C Software License at * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document * * File: sortable-table.js * * Desc: Adds sorting to a HTML data table that implements ARIA Authoring Practices */class SortableTable { constructor(tableNode) { this.tableNode = tableNode; this.columnHeaders = tableNode.querySelectorAll('thead th.sortable'); this.sortColumns = []; for (let i = 0; i < this.columnHeaders.length; i++) { const ch = this.columnHeaders[i]; const buttonNode = ch.querySelector('button'); if (buttonNode) { this.sortColumns.push(i); ch.setAttribute('data-column-index', i); ch.addEventListener('click', this.handleClick.bind(this)); } } this.optionCheckbox = document.querySelector( 'input[type="checkbox"][value="show-unsorted-icon"]' ); if (this.optionCheckbox) { this.optionCheckbox.addEventListener( 'change', this.handleOptionChange.bind(this) ); if (this.optionCheckbox.checked) { this.tableNode.classList.add('show-unsorted-icon'); } } } setColumnHeaderSort(columnIndex) { if (typeof columnIndex === 'string') { columnIndex = parseInt(columnIndex); } for (let i = 0; i < this.columnHeaders.length; i++) { const ch = this.columnHeaders[i]; const buttonNode = ch.querySelector('button'); if (i === columnIndex) { const value = ch.getAttribute('aria-sort'); if (value === 'ascending') { ch.setAttribute('aria-sort', 'descending'); this.sortColumn(columnIndex, 'descending', ch.classList.contains('num')); } else if (value === 'descending') { ch.removeAttribute('aria-sort'); this.sortColumn(columnIndex, 'initial', true); } else { ch.setAttribute('aria-sort', 'ascending'); this.sortColumn(columnIndex, 'ascending', ch.classList.contains('num')); } } else if (ch.hasAttribute('aria-sort') && buttonNode) { ch.removeAttribute('aria-sort'); } } } sortColumn(columnIndex, sortValue, isNumber) { function compareValues(a, b) { if (a.value === b.value) return 0; if (sortValue === 'descending') { if (isNumber) { return b.value - a.value; } else { return a.value > b.value ? -1 : 1; } } else if (isNumber) { return a.value - b.value; } else { return a.value < b.value ? -1 : 1; } } if (typeof isNumber !== 'boolean') { isNumber = false; } const tbodyNode = this.tableNode.querySelector('tbody'); const rowNodes = []; const dataCells = []; let rowNode = tbodyNode.firstElementChild; let index = 0; while (rowNode) { rowNodes.push(rowNode); const rowCells = rowNode.querySelectorAll('th, td'); const dataCell = rowCells[columnIndex]; const data = {}; data.index = index; if (sortValue !== 'initial') { data.value = dataCell.textContent.toLowerCase().trim(); } else { data.value = rowNode.getAttribute('initial-position').toLowerCase().trim(); } if (isNumber) { data.value = parseFloat(data.value); } dataCells.push(data); rowNode = rowNode.nextElementSibling; index++; } dataCells.sort(compareValues); // remove rows while (tbodyNode.firstChild) { tbodyNode.removeChild(tbodyNode.lastChild); } // add sorted rows for (const dataCell of dataCells) { const pos = dataCell.index; if (sortValue === "initial") { rowNodes[pos].classList.remove("sorted"); } else { rowNodes[pos].classList.add("sorted"); } tbodyNode.appendChild(rowNodes[pos]); } } /* EVENT HANDLERS */ handleClick(event) { const target = event.currentTarget; this.setColumnHeaderSort(target.getAttribute('data-column-index')); } handleOptionChange(event) { const target = event.currentTarget; if (target.checked) { this.tableNode.classList.add('show-unsorted-icon'); } else { this.tableNode.classList.remove('show-unsorted-icon'); } }}$(document).ready(function() { load(); });;}());
Subscribe to receive the latest Eurostat Euro indicators releases