A man accused of punching Kevin Rudd's godson in the face during a dispute over same-sex marriage reform has been charged.

The former prime minister posted a photo of his 19-year-old godson's bloodied face on Twitter on Tuesday, saying he'd been attacked for standing up for marriage equality.

A man has been arrested over the attack on Sean Foster. Credit:Instagram/@mrkrudd

A 48-year-old man has been charged with assault over the attack at a Brisbane bus stop on Tuesday. He'll face the Brisbane Magistrates Court on October 16.

AAP