I'm 5'4", 120lbs, 32DD, and generally wear an XS or S in tops.  I ordered this in a small.  It fit ok, but not great, it was a little snug in my armpits.  I'm returning this one and going to try a medium.