Judge Johnny Chan ruled that a riot took place in the area between Western Street and Queen Street, near Des Voeux Road West, on July 28, 2019.
Chan noted that while the police had approved a protest in Chater Garden that day, they had banned a march from Central to Sun Yat Sen Memorial Park.
But some protesters left the approved assembly location despite police warnings, the judge said.
He also said videos played in court showed that some protesters had acted in various disorderly, threatening or provocative manners, including occupying traffic lanes and shouting anti-police and anti-government slogans.
And he pointed out that the court was certain that protesters had projected a laser beam at a police officer and that it was a deliberate use of violence.
Out of the 23 people standing trial, 20 were found guilty of rioting as principal offenders.
But the court said it could not be certain that the remaining three personally took part in the riot or was in a joint enterprise with others who were part of it and therefore found them not guilty of rioting.
A 33-year-old man and a 20-year-old man were also convicted of other charges apart from rioting.
The 33-year-old was found guilty of assaulting a police officer, while the other was convicted of possessing an apparatus for radiocommunications without a licence, after he was found with a walkie-talkie.
Sentencing has been adjourned to December 4.