Police have charged a 38-year-old man from North Hobart over the alleged headbutt attack on former prime minister Tony Abbott on Thursday.

The man was charged with one count of common assault and was granted conditional bail to appear in the Hobart Magistrates Court on October 23.

Mr Abbott sustained what he described as a "very slightly swollen lip" when the man allegedly headbutted the former PM after approaching him for a handshake.

At an earlier press conference, police said the alleged assailant was wearing a "vote yes" badge, in reference to the postal survey on same-sex marriage, but would not involve themselves in speculation about the motivation for the attack.