She later told The Independent it was a mixture of shock and anger that prompted her response.
"I am never a violent person, and I have never punched anyone before ... but I became so angry and had so much adrenaline that my reaction was to punch him. I got him on the cheek bone, hard," she said.
When she yelled at him not to touch a girl like that again, he became angry and she thought he was going to hit back.
But a pair of bystanders intervened and told the offender to keep walking.
Despite feeling "shaken" by experience, Ms Carr said she hopes the positive viral response will help to raise awareness for everyday sexual harassment
"I never use Twitter and didn't write the post for attention, but I'm glad it went viral.
"This is something that is very common and hopefully it encourages more women to feel comfortable and able to stand up for themselves if it does happen to them."