I usually wear S for tops but I got M just in case. The shirt fit but it was a little tight. It is of very stretchy material and because of that it kept riding up my body so I had to tuck it into my underwear to keep it from riding up. I wore a skirt over it so it was fine. But if I wore the shirt over pants it would have been a disaster trying to keep it from riding up.