The league says "protests created a false perception among many that thousands of NFL players were unpatriotic."
The NFL announced Wednesday that all players must stand when on the field as the national anthem is played before a game — or they can choose to remain in the locker room without penalty.
The league's teams have all agreed to the new policy, and they will be subject to a fine if a player disobeys, NFL Commissioner Roger Goodell said at a news conference.
"All 32 clubs want to make sure that during the moment of the anthem and the flag, that that is a very important moment for a lot of us as a league, as clubs and (for) our country, and it's a moment we want to make sure is done in a respectful fashion," Goodell said.
The controversy over players kneeling during "The Star Spangled Banner" has raged since 2016, when then-San Francisco 49ers quarterback Colin Kaepernick refused to stand in protest of police brutality and other social justice issues.
"It was unfortunate that on-field protests created a false perception among many that thousands of NFL players were unpatriotic. This is not and was never the case," the NFL said in a statement announcing the new policy.
The union representing players lashed out at the league's decision, tweeting that it was not consulted about the rule change.
"The NFL chose not to consult the union in the development of this new 'policy,'" the NFL Players Association said in its statement. "NFL players have shown their patriotism through their social activism, their community service , in support of our military and law enforcement and yes, through their protests to raise awareness about the issues they care about."
Goodell said hundreds of players were asked their input.
"We think we've come up with a balanced process here in our procedure and policy," the commissioner said, adding, "we encourage [players] to stay on the field and we'd like for them to stay on the field."
This is a breaking news story. Please check back for updates.