Amazon chief executive Jeff Bezos has promised to make the company carbon neutral and meet the goals of the Paris climate agreement by 2040.
More than 15,000 Amazon employees have pledged to stage a “walkout” protest against the company’s environmental record, on Friday.
It will be the first walkout by staff at Amazon’s Seattle headquarters.
Organisers have welcomed Mr Bezos’s promise but say it does not go far enough.
Mr Bezos said he hoped to make the company carbon neutral 10 years earlier than expected.
At a press conference in Washington DC, he announced the launch of a climate pledge any company can sign up to.
Its aim is to meet the targets set out in the Paris agreement by 2040, 10 years earlier than specified.
To meet its pledge, Amazon said it had ordered 100,000 electric delivery vehicles to reduce its fuel consumption. The first will enter service in 2021.
As well as its online shopping and delivery operations, Amazon operates vast data centres and cloud computing services.
According to the International Energy Agency, data centres were responsible for about 1% of the world’s energy use in 2018. And demand for cloud computing is expected to increase.
Mr Bezos said 40% of the energy Amazon used was currently from renewable sources but this would rise to 100% by 2030.
Amazon will also invest $100m (£80m) to restore forests and wetlands.
The company will also measure and report greenhouse gas emissions regularly.
“We want to use our scope and our scale to lead the way,” said Mr Bezos in a press statement.
In June 2017, the Trump administration said the US would withdraw from the Paris climate accord.
But Amazon said it would meet the targets set out in the agreement 10 years “ahead of schedule”.
In July, thousands of Amazon workers staged protests about pay and working conditions at the online retail giant.
The disruption was timed to coincide with Prime Day, when Amazon offers discounts and promotions.
Get more stuff like this
Subscribe to our mailing list and get interesting stuff and updates to your email inbox.