Kelly Herron, a jogger from Washington state, shouted "not today motherf****r!" as she fought off a sex attacker while out training for a marathon last week.
Herron described the experience as her "biggest running nightmare" but said her "spirit was intact" after the ordeal.
In an Instagram post, Herron, 36, shared the GPS tracking of her run which showed a messy scrawl around the public toilet buildings in Golden Gardens Park, Seattle, indicating a struggle in the location.
She said that four miles into a long run during her marathon training, she was accosted by a man who was hiding in one of the cubicles.
Alongside a photo of her with a bloodied nose and gash above her eyebrow, she wrote: "I fought for my life screaming ('Not today, M*****F**er!'), clawing his face, punching back, and desperately trying to escape his grip- never giving up."
Herron said she was able to fight off her alleged attacker, named in another post as Gary Matthew Steiner, and lock him in the bathroom until police arrived to assist her.
She credited her ability to fend Steiner off to self-defence classes she had recently taken through her work.
Though Herron's photos revealed some extensive bruising to her arms, as well as a couple of stitches above her eyebrow, she said in the post she was OK. She wrote: "My face is stitched, my body is bruised, but my spirit is intact."
Steiner is described by the Seattle Times as a "homeless sex offender" with a number of convictions behind him, including for several assaults in Arizona in 1999, and indecent exposure in 2008.
In charging papers, Senior Deputy Prosecutor Carla Carlstrom is quoted saying: "The defendant represents a severe danger to the community. His predatory attack on a female in the middle of the day represents a brazen willingness to assault without concern for getting caught."
Steiner was charged with attempted second-degree rape and second-degree assault with sexual motivation and remained in prison pending payment of $750,000 for his release on bail.