Some of the demonstrators were arrested in New York as they demanded that U.S. troops be brought home.
"This country was founded by acts of civil disobedience," said David McReynolds, 75, of New York, as he marched along 42nd Street. "We have an obligation to make our resistance public and to say as clearly as we can that the war is illegal."
In San Francisco, hundreds of protesters rallied in Dolores Park in the city's Mission district, holding up posters with photographs of dead American soldiers. The protesters then marched to San Francisco City Hall for another rally.
One protester dressed up like the hooded Iraqi prisoner in the famous photo taken of detainee abuse at Baghdad's Abu Ghraib prison. The woman was surrounded by others wearing masks of President Bush, Secretary of State Condoleezza Rice and Secretary of Defense Donald Rumsfeld, who were dancing to the song "Shout" by the Isley Brothers.
"This is a war of aggression," said Ed McManus, 54, a Marin County resident who served in the Navy during the Vietnam War. "Bush has admitted by his actions and his deeds that he is a war criminal."
Organizers encouraged civility at rallies in the city, where protests just after the war began were among the most vocal and angry in the country, with thousands of arrests and frequent conflicts between police and demonstrators.
Police wearing helmets and armed with batons lined the streets Saturday, but they reported no disturbances.
Across Europe, tens of thousands of protesters also packed streets and public parks to protest the war. In England, 45,000 people marched from London's Hyde Park past the American Embassy to Trafalgar Square, while an estimated 15,000 people — some carrying signs reading "Murderer Bush, get out" — marched in Turkey.
Hundreds in New York listened to anti-war speeches at the United Nations, then marched along 42nd Street across Manhattan to Times Square, where police penned them in on a sidewalk.
A small contingent of protesters then knelt in front of a military recruiting station and lay down on Broadway next to the flag-draped coffins. Traffic was stopped for about five minutes before police moved in and arrested 27 protesters.
"It's such a small act in light of over 100,000 Iraqis dead and 1,500 American soldiers dead," Anna Brown, 40, of Jersey City, N.J., said before she was arrested.
In Chicago, hundreds of police, some in riot gear, escorted about a thousand marchers down Dearborn Avenue to an afternoon rally at the Federal Plaza. Police were trying to avoid a repeat of two years ago when thousands of protesters caused a huge traffic jam during rush hour and hundreds were arrested.
Only two arrests were reported Saturday.
More than 1,000 people also marched through Pittsburgh, including many who initially supported the war but have since changed their minds, said Tim Vining, a protest organizer.
"It's not what even people who supported this war in the beginning, it's not what they signed up for," he said. "I think people realize the tide is turning" and that to protest isn't seen as unpatriotic.
In the small town of Cottage Grove, Ore., just south of Eugene, about 230 protesters walked two-by-two through the streets, some carrying bells, others holding a half-mile-long chain of flags bearing the names of American troops and Iraqi children killed during the war.
"The best thing we can do is get out, and get out as fast as we can," said Ron Betts, 58, a disabled Vietnam veteran.
About 300 demonstrators also gathered in front of the New Mexico National Guard Armory in Albuquerque, some holding signs saying, "Bush's lies kill" and "You can't be pro-life and pro-war." Pieces of paper were glued to the sidewalk, all bearing the names and faces of dead American soldiers.
"That's a whole tsunami worth of people, vanished," said Maureen Small, an Albuquerque physician.