Thousands of people turned out for a protest rally at San Francisco’s Civic Center Plaza and other locations on May 1 — also known as May Day and International Workers’ Day — to express outrage against Trump administration policies targeting immigrants, federal workers, labor unions, the social safety net, environmental policy, education and free speech.

Jason Winshell / San Francisco Public Press
The rallies on Thursday in San Francisco were among more than 1,000 demonstrations staged nationwide that coordinated with the grassroots 50501 movement, which billed the protests as a fight against a “billionaire takeover.”

Jason Winshell / San Francisco Public Press
The 4 p.m. Civic Center protest drew crowds from other May Day rallies that had taken place around the city earlier in the day.

Jason Winshell / San Francisco Public Press
In San Francisco’s Mission District, May Day SF, a youth-led social justice movement, led hundreds of people in a march from the BART station plaza at 24th Street down Mission Street and then on to City Hall. During the march, organizers and community members addressed crowds from the back of a flatbed truck at the 24th Street and 16th Street BART plazas.

Jason Winshell / San Francisco Public Press
A contingent from the Service Employees International Union Local 2015, the largest labor union in California, joined the Civic Center event to advocate for protecting public services and Medicaid. The San Francisco Chronicle reported that Kim Evon, the local union’s executive vice president, said the labor-supported rally offered an opportunity for people frustrated with the current state of politics to join together.

Jason Winshell / San Francisco Public Press
Spirited crowds at the Civic Center displayed homemade signs bearing messages such as “Courage is Contagious,” “Free Kilmar” and “Immigration Built This Nation.” After listening to rousing speeches, rallygoers proceeded down Market Street through the Financial District to the U.S. Immigration and Customs Enforcement field office at 630 Sansome St.

Jason Winshell / San Francisco Public Press
The marchers advanced during prime commute hours, leaving Muni buses and F-line street cars stalled, some filled with bewildered tourists gawking at the throngs of people surging around them.

Jason Winshell / San Francisco Public Press
The rally and the march unfolded peacefully. Police and rally volunteers sporting orange vests blocked traffic to ensure the safety of marchers, bystanders and drivers.

Jason Winshell / San Francisco Public Press