My soon to be 5 year old is big for his age and wears size 5 in boys so I bought large since it said for 5 to 6 yo. It is too big but he loves it and will definitely grow into it. He is super excited to wear for his bday this week but if anyone is worried about fit just order one size smaller.