The US House of Representatives has passed a bill requiring background checks for all firearms sales and transfers.

The bill passed the Democratic-controlled Lower House with 240 votes to 190 votes opposed but still faces tough opposition from Republicans in the Senate.

President Donald Trump, who is threatening to veto the bill, said it would impose unreasonable requirements on gun owners, while House Speaker Nancy Pelosi described the vote as long-overdue and a historic victory.

Congress will vote on a separate bill later this week extending review periods for federal authorities to complete background checks from three to ten days.