A man has pleaded guilty to assaulting a woman during the Fremantle Dockers preliminary final against Hawthorn at Subiaco Oval earlier this year.

Cody Luke Yarran hit the 38-year-old off-duty police officer in the face after she asked him to tone down his language.

The assault was recorded on a mobile phone and appeared on social media.

It showed Yarran striking the woman to the face with his right hand.

Yarran, 24, also pleaded guilty to charges of obstructing public officers, disorderly behaviour in public and breaching bail.

Yarran was released on bail until he is sentenced in the Perth Magistrates Court at the end of the month.