Saudi Arabia and Iran are both accelerating oil exports, adding barrels to global markets at a time when the US is deploying military assets in the Middle East, creating uncertainty about future supply.
Saudi Arabia is on course to export the most crude in almost three years this month, while Iran has been rapidly filling up tankers in recent days. Combined flows from Iraq, Kuwait and the United Arab Emirates are set to climb almost 600,000 barrels a day from the same period in January, Vortexa Ltd. data show.
The buildup in exports and shipping comes as US President Donald Trump weighs next steps in dealings with Iran, raising the stakes for oil flows through the Strait of Hormuz, a chokepoint for roughly a fifth of global seaborne crude flows. Prior to the US attack on Iran last year, Saudi Arabia boosted production and Iran ramped up shipments to ensure continued supply to the market. Volumes fell in the weeks that followed when it became apparent there wouldn’t be widespread disruption.
Saudi Arabia’s crude shipments averaged about 7.3 million barrels a day in the first 24 days of February, according to tanker-tracking data compiled by Bloomberg. If sustained, that would mark the highest since April 2023 and be more than 400,000 barrels a day above January levels.
Rising flows are visible across the wider region. Combined exports from Iraq, Kuwait and the UAE climbed to about 8.82 million barrels a day in the first 24 days of February, according to data from Vortexa. The UAE posted the sharpest increase, Iraq’s edged higher while Kuwait’s slipped, its figures show.
The Saudi gain comes as the kingdom continues unwinding earlier OPEC+ production cuts. Its output target was raised by 1.125 million barrels a day over the course of 2025, though the process was paused in the first quarter of this year, with ministers due to meet on Sunday to discuss production levels for April and possibly beyond. A seasonal drop in domestic crude burning for power generation has also freed up additional barrels for export.
At the same time, Iran has sharply ramped up loadings from its main export hub at Kharg Island. From Feb. 15 to Feb. 20, about 20.1 million barrels were loaded onto tankers, according to Kpler data – almost three times the volume shipped over the same dates in January and equivalent to more than 3 million barrels a day.
The surge echoes patterns seen ahead of previous flare-ups, when Tehran rushed to move crude into floating storage or onto vessels before potential disruptions. Satellite imagery analyzed by Bloomberg showed the number of tankers waiting near Kharg more than doubling in mid-February, while storage tanks on the island appeared to draw down.
Oil exports are a crucial pillar of Iran’s economy. TankerTrackers.com estimates Iranian exports will average 1.5 million to 1.6 million barrels a day this month, lifted by the stronger flows since mid-February.
Kpler counts exports when they leave port, TankerTrackers.com only includes cargoes once vessels have fully departed Iranian waters and are clearly en route to the global market.
Freight markets are also reflecting the heightened activity. Saudi Arabia’s biggest oil shipper, National Shipping Co. of Saudi Arabia, known as Bahri, provisionally hired at least five very large crude carriers in recent days, according to fixture reports and people familiar with the bookings. Shipping companies typically secure additional vessels only when their own fleets are insufficient to handle cargo demand.
Benchmark supertanker earnings have climbed to the highest levels in years. The cost of hauling 2 million barrels of crude from the Middle East to China was around $200,000 a day this week for the first time since 2020, according to Baltic Exchange data. One of the ships chartered by Bahri was booked at the equivalent of about $208,000 a day, according to Tankers International.
What do you think? We’d love to hear from you, join the conversation on the
Rigzone Energy Network.
The Rigzone Energy Network is a new social experience created for you and all energy professionals to Speak Up about our industry, share knowledge, connect with peers and industry insiders and engage in a professional community that will empower your career in energy.
element
var scriptTag = document.createElement(‘script’);
scriptTag.src = url;
scriptTag.async = true;
scriptTag.onload = implementationCode;
scriptTag.onreadystatechange = implementationCode;
location.appendChild(scriptTag);
};
var div = document.getElementById(‘rigzonelogo’);
div.innerHTML += ” +
‘‘ +
”;
var initJobSearch = function () {
////console.log(“call back”);
}
var addMetaPixel = function () {
if (-1 > -1 || -1 > -1) {
/*Meta Pixel Code*/
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘1517407191885185’);
fbq(‘track’, ‘PageView’);
/*End Meta Pixel Code*/
} else if (0 > -1 && 95 > -1)
{
/*Meta Pixel Code*/
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘1517407191885185’);
fbq(‘track’, ‘PageView’);
/*End Meta Pixel Code*/
}
}
// function gtmFunctionForLayout()
// {
//loadJS(“https://www.googletagmanager.com/gtag/js?id=G-K6ZDLWV6VX”, initJobSearch, document.body);
//}
// window.onload = (e => {
// setTimeout(
// function () {
// document.addEventListener(“DOMContentLoaded”, function () {
// // Select all anchor elements with class ‘ui-tabs-anchor’
// const anchors = document.querySelectorAll(‘a .ui-tabs-anchor’);
// // Loop through each anchor and remove the role attribute if it is set to “presentation”
// anchors.forEach(anchor => {
// if (anchor.getAttribute(‘role’) === ‘presentation’) {
// anchor.removeAttribute(‘role’);
// }
// });
// });
// }
// , 200);
//});
