I wear a small, I ordered a medium (read the reviews about it running small) and it's still very small and snug.  I suggest anyone ordering this shirt order two sizes up.  Very cheaply made but I only plan on wearing it around July 4th so it should be OK (if it doesn't split the seams).