This is a tricky question, and I know there is also a little debate on the subject. As I understand it an anti-photon can not exist – some people say that the photon is its own antiparticle but this to me is quite difficult to comprehend.
As I understand, the photon has no charge and therefor there is no symmetry which requires the photon to have an anti particle of opposite charge but equal magnitude.
As I understand it, particles and antiparticle combine to make photons. So when that happens, the “anti” bits (like charge) cancel out. Neutrinos have no charge, but there are antineutrinos. There are other properties that neutrinos have which can have an anti- equivalent (e.g. “lepton number”) but then we’re getting into proper particle physics which is not really my field. So a particle needs mass, but not necessarily charge, to have an antiparticle. I think.