About the fit:
Yes, the other reviews are correct that this runs small- very small! I bought a size 4-6 for my 3 1/2 yr old son (tall and skinny) thinking it would be roomy (he is at the transition between 3T-4T clothes) and this was super short on him (like flood wader pants) and the hat was small (had to sit higher on his head) so the fit was a disappointment since I wanted him to be able to wear it afterwards for dress-up, BUT we had him wear it anyway for the day- so this will have to be a one-time outfit because it is too small.

What our son thought about the costume:
We took him to a "Day Out With Thomas" event and wanted him to be able to dress the part. He freaked when I brought out his first surprise (which was THIS costume) and then he freaked again when we pulled up to the train station and he heard Thomas' whistle!! It was the best day EVER and this costume was a HUGE hit with my son, and even with other event goers and employees. We received TONS of compliments (and were frequently asked where to get one). I was surprised that many kids had engineer hats (that were sold at the event) but we had the only kid in a full costume! It made it super fun, he was easy to spot in the crowd, and the pics came out so cute!

Bottom line:
This is a decent quality costume that looks really cute on (especially with shiny black dress shoes). I highly recommend getting much larger than the child wears (better too large than too small). If you have a little train lover, they are sure to love this! I agree with another reviewer, I would say that the 4-6 is sized EXACTLY like a 3T (so it would probably fit an average sized 3 yr old perfectly). I would recommend this for dress up, Halloween, or a Thomas/train event!