A 30-year-old man appeared in Auckland District Court on Monday after a nine-year-old boy was hit over the head with a shovel at the end of a pro-Palestinian rally on Sunday.
Acting Superintendent Sunny Patel said the accused faced two charges - wounding with intent to cause grievous bodily harm with a weapon and intent to injure with a weapon.
Patel said the assault happened behind the town hall as crowds were leaving following demonstrations in the city, and was not politically motivated.
He said the man was under mental health supervision and the young victim remained in a stable condition in Starship Hospital.
Three other people who were arrested at the protest have not been charged.