It's true to size and it's very flattering. It's made with a heavy duty material so I won't be worrying about myself during class.
I'm very busty so I thought getting myself an XL instead of a L would fit fine. When I received it, it was WAAAAAY to big. I exchanged it for a Large. They don't pay for return shipping so watch out for that. I got my lab coat within a week of returning it.
It buttons up all the way and its not really snug. It fits perfect. I haven't washed it yet so I hope it doesn't shrink. It's a great buy though.