The US is sending a major warship into the Gulf to provide it with military options should the situation in Iraq deteriorate further.
US Defense Secretary Chuck Hagel ordered the USS George HW Bush, which carries dozens of fighter jets, to be moved from the North Arabian Sea.
Meanwhile, Iran says it could be prepared to work with the US to fight Sunni insurgents in Iraq.
The insurgents have seized several cities and are threatening Baghdad.
Fighting under the banner of The Islamic State in Iraq and the Levant (ISIS), they regard Iraq’s Shia majority as “infidels”.
State forces and Shia militia are reported to have ousted rebels from two towns in Diyala province north-east of Baghdad. But an air strike on the town of Jalawla killed seven Kurdish fighters by mistake; they had earlier moved in to positions evacuated by the Sunni rebels.
President Barack Obama has said he will take several days to decide what action to take over Iraq, but insisted that no US troops will be deployed.
The aircraft carrier USS George HW Bush will be accompanied by the guided-missile cruiser USS Philippine Sea and the guided-missile destroyer USS Truxtun. They were due to arrive in the Gulf late on Saturday.
Secretary of State John Kerry has called on Iraq’s political leaders to put their differences aside to defeat the Islamist offensive.
John Kerry urged the government to ratify recent election results without delay and stick to a constitutional time-frame to form a new government.
Correspondents say the US is frustrated with Iraqi PM Nouri al-Maliki and his Shia-led government for ignoring the concerns of Sunnis and Kurds.
Earlier, Nouri al-Maliki addressed troops in the city of Samarra, north of Baghdad, insisting: “This is the beginning of the end of them [ISIS].”
Fears of ISIS sparking a wider Sunni uprising have increased with reports that other groups have joined the insurgents.