Im 56, usually btwn 130-135 lbs, size 6 pants, and usually a small-medium top at stores like Express, and I bought a size large. The large fit very snug. I have just a little pooch belly that I didn't want to show, so I debated returning it for an XL, but I didn't want it too be too loose where it would ride up while in the water, so I kept with the large since it wasn't too bad. But if I would have had more of a pooch I would have definitely exchanged it for an XL.

I bought this for sun protection while snorkeling in Hawaii, and Im fairly pale, and it worked great. I didn't burn at all.  And the long sleeves were great for keeping me warm while snorkeling in the early morning when the water was still a bit chilly. Definitely recommend.