Walmart is to stop sales of some types of ammunition following recent shootings, including one at one of its stores in Texas that left 22 dead.
The head of the company said it will discontinue sales of bullets that can be used in assault-style and military weapons, and those used in handguns.
The move comes amid increasing pressure on the company, often cited as the largest firearms seller in the US.
Chief executive Doug McMillon said the company had been “listening”.
“It’s clear to us that the status quo is unacceptable,” he said in a note to employees and published on the firm’s website.
The firm also said it would discontinue handgun sales in Alaska, the only place it still sells handguns.
The firm asked customers at Walmart and its Sam’s Club stores to stop carrying firearms openly, even in states where it is legally permitted, saying such actions have caused fear and evacuations.
Mr McMillon said: “We know these decisions will inconvenience some of our customers, and we hope they will understand.”
Mr McMillon said the changes will reduce the firm’s share of the ammunition market from about 20% to a range of 6% to 9%. The company will continue to sell hunting rifles and shotguns, and much of the ammunition for those weapons, he added.
Walmart has lagged other US retailers in changes to its gun policies.
In 2018, Kroger-owned Fred Meyer stopped selling guns. That same year, Dick’s Sporting Goods ended the sale of assault weapons and raised the minimum age to 21 for gun purchases.