Six people were killed and dozens injured after a shooter opened fire from a rooftop at an Independence Day event in the wealthy Chicago suburb of Highland Park on Monday.
Officials said six people were killed and 26 taken to hospital, and that a rifle was recovered from the scene.
Police said they had arrested the chief suspect in the shooting, Robert Crimo III, aged 22.
In a video broadcast by a local news station, police surround a car, which Mr Crimo leaves with his hands raised.
He lies flat on the ground before police take him into custody.
In a video posted on social media earlier, children wave American flags, ride tricycles or enjoy a ride in a wagon pulled by adults. They freeze and people scream as gun shots ring out.
A phone video recorded what sounded to be about 30 rapid shots, a pause, and then another 30 shots.
Between the two bursts, a woman can be heard saying from the side of the parade route: "My God, what happened?"
The New York Times identified one of the dead as Nicolas Toledo, 76, who was in a wheelchair and had not wanted to attend the parade.
He went because his disabilities meant he needed to be around someone at all times and his family had not wanted to miss the event.
"We were all in shock,” his granddaughter Xochil Toledo said. "We thought it was part of the parade."
At least one of those killed was a Mexican national, a senior Mexican Foreign Ministry official said on Twitter.
Amarani Garcia, who was at the parade with her young daughter, told the local ABC affiliate she heard gunfire near by, then a pause for what she suspected was reloading, and then more shots.
There were "people screaming and running. It was just really traumatising", Ms Garcia said. "I was very terrified.
"I hid with my daughter, actually, in a little store. It just makes me feel like we're not safe any more."
The Chicago Sun-Times reported that the shooting began about 10 minutes after the parade did.
Highland Park announced that all July 4 festivities were cancelled as a result.
US President Joe Biden sent a message expressing his sorrow for the shootings.
"Jill and I are shocked by the senseless gun violence that has yet again brought grief to an American community on this Independence Day," Mr Biden said.
"I have spoken to Governor [Jay] Pritzker and Mayor [Nancy] Rotering, and have offered the full support of the federal government to their communities.
"I also urged federal law enforcement to assist in the urgent search for the shooter."
US Representative Brad Schneider, who was at the event, said on Twitter that: "A shooter struck in Highland Park during the Independence Day parade.
"Hearing of loss of life and others injured. My condolences to the family and loved ones. My prayers for the injured and for my community.
"Enough is enough."
Gun violence was already fresh on the minds of many Americans, after a massacre on May 24 killed 19 schoolchildren and two teachers at a primary school in Uvalde, Texas, and the May 14 attack that killed 10 people at a grocery store in Buffalo, New York.