It said the man approached the White House's fence on Pennsylvania Avenue just before noon local time (17:00GMT) before taking out a handgun and firing several shots.
No one else was injured, according to police.
President Donald Trump is not at the White House, but at his Mar-a-Lago estate in Florida.
The man was in a large crowd when he fired the gun, the Washington Post reports, citing witnesses.
A video posted to Twitter shows many people running away from the scene.
The man's name has not been released.