How to dress for the weather in every season

We’ve all heard the saying—there’s no bad weather, just poor clothing. Dressing appropriately for the weather has an impact on how long children can play outdoors comfortably and safely.

The most challenging temperature to dress for

You might be surprised: it isn’t actually the coldest temperatures. When the temperature drops, parents understand that it’s cold and are usually pretty good about bundling their children up well.

It’s when the temperature ranges from 0 to 5C that dressing for the weather tends to get tricky. Parents think it’s warmer than it actually is and underestimate what it’s like to be outside for several hours. Add water to these temperatures and children can cool down really quickly. When in doubt, pack extra clothes.

What if you can’t afford the latest gear?

Outdoor gear can be expensive. Spending over $100 on a winter jacket for a child is possible but NOT necessary. It’s more important to consider:

  • Type of material: Avoid cotton on cold or wet days. It absorbs and holds water and sweat next to your skin and cools you down. Wool or synthetic materials like polypropylene are best in cold weather, especially next to your skin.
  • Layering: In cooler weather, start with a base layer of wool or polyester that fits close to the skin. Next, wear a midlayer for warmth—fleece works well here—and finally a waterproof outer layer that protects against rain, snow, and wind.
  • Key features: Hoods and elastic or Velcro cuffs at the wrists and ankles.
  • How clothing is worn: Pull pant legs over boots to keep water and snow out

These can be accomplished with less-expensive gear—and honestly, we survived many winters wearing cotton socks and sweatpants under our snowpants! If you’re outside for longer periods of time, bring extra clothes as the weather can change and children get wet.


Related read: 10 tips to make sure kids dress warmly enough for winter


To help educators and parents understand what this should look like, a pair of Alberta-based organizations that are passionate about physical activity and outdoor play have put together this infographic with tips on how to dress for weather from 20C to -20C.

Developed by Be Fit for Life Centres and Get Outside and Play, the poster was also reviewed by educators who spend a lot of time outdoors in all types of weather with children of all ages.

Feel free to print this resource and pin it on bulletin boards, add it to newsletters, or even stick it on your fridge. It’s free to download and share.

Outdoor play is a great way to support healthy growth and development. Opening the doors to outdoor play in all kinds of weather provides children and adults with opportunities to spark their curiosity, leading to wonder, exploration, and learning.

When children have the right clothing for the season, it contributes to them having positive, rich outdoor play experiences that just can’t happen indoors. Get outside, be curious, let children lead, and have fun!

5 responses to “How to dress for the weather in every season

  1. I love this so much. I found it last year or so and it has been amazing. My oldest is strong-willed and needs information to make their own choices. This has been so helpful to give a tool that shows them how to we stay warm at all the different temperatures. Thank you!

    1. Hi Sara! The advice in the article is fairly universal for most ages! However, there are some special considerations for babies. For example, they are more sensitive to both heat and cold, so parents should watch attentively for signs of discomfort and be prepared to add or remove blankets or other layers as needed to keep babies at a comfortable temperature. I hope this helps!

  2. I have utilized this graphic for my personal use as well as for sending home to parents and guardians of the children in my school. Very helpful! Thanks AFL.

  3. Thanks for a great article on a topic that isn’t really discussed! The info graphic is great too! If you have any tips on good brands/sales/specific named items (like the mec toaster suit) I would also find that helpful too! I find a lot of the children’s clothing doesn’t stay on them very well once they are active or doesn’t breathe – although glad to realize after this article that pretty much anything will work

Leave a Reply

Your email address will not be published. Required fields are marked *

[gravityforms id=12 title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_12' ><div id='gf_12' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_12' id='gform_12' action='/how-to-dress-for-the-weather-in-every-season/#gf_12' > <div class='gform_body gform-body'><ul id='gform_fields_12' class='gform_fields top_label form_sublabel_below description_below'><li id="field_12_6" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_12_6' >Nom</label><div class='ginput_container ginput_container_text'><input name='input_6' id='input_12_6' type='text' value='' class='large' placeholder='Votre nom' aria-invalid="false" /> </div></li><li id="field_12_7" class="gfield email gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_12_7' >Courriel<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_7' id='input_12_7' type='text' value='' class='large' placeholder='Votre adresse courriel' aria-required="true" aria-invalid="false" /> </div></li><li id="field_12_9" class="gfield hidden scroll-subscriber field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_12_9' >Scroll Subscriber</label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_12_9' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_12_8" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >Je suis un éducateur, un entraîneur ou un animateur en loisirs</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_12_8'><li class='gchoice gchoice_12_8_1'> <input class='gfield-choice-input' name='input_8.1' type='checkbox' value='Oui, veuillez aussi m’envoyer l’infolettre semestrielle d’Actif pour la vie pour les professionnels.' id='choice_12_8_1' /> <label for='choice_12_8_1' id='label_12_8_1'>Oui, veuillez aussi m’envoyer l’infolettre semestrielle d’Actif pour la vie pour les professionnels.</label> </li></ul></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_12' class='gform_button button' value='Abonnez-vous à notre bulletin' onclick='if(window["gf_submitting_12"]){return false;} window["gf_submitting_12"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_12"]){return false;} window["gf_submitting_12"]=true; jQuery("#gform_12").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=12&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_12' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='12' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_12' value='WyJbXSIsImU4MmE1N2RiNzRiMTQ1ZjVhOGQ3OWQwZmVkOTFkNjRiIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_12' id='gform_target_page_number_12' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_12' id='gform_source_page_number_12' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js" name="ak_js" value="186"/><script>document.getElementById( "ak_js" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_12' id='gform_ajax_frame_12' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 12, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_12').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_12');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_12').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_12').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_12').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_12').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_12').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_12').val();gformInitSpinner( 12, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [12, current_page]);window['gf_submitting_12'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_12').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_12').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [12]);window['gf_submitting_12'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_12').text());}, 50);}else{jQuery('#gform_12').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [12, current_page]);} );} );</script>
[gravityforms id=11 title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_11' ><div id='gf_11' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_11' id='gform_11' action='/how-to-dress-for-the-weather-in-every-season/#gf_11' > <div class='gform_body gform-body'><ul id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below'><li id="field_11_2" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_11_2' >Name</label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_11_2' type='text' value='' class='large' placeholder='Your name' aria-invalid="false" /> </div></li><li id="field_11_1" class="gfield email gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_11_1' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_11_1' type='text' value='' class='large' placeholder='Your email address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_11_4" class="gfield hidden scroll-subscriber field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_11_4' >Scroll Subscriber</label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_11_4' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_11_3" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >I&#039;m an educator, coach, or rec leader</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_11_3'><li class='gchoice gchoice_11_3_1'> <input class='gfield-choice-input' name='input_3.1' type='checkbox' value='Yes, please also send me the biannual AfL Pro Newsletter for educators, coaches and rec leaders' id='choice_11_3_1' /> <label for='choice_11_3_1' id='label_11_3_1'>Yes, please also send me the biannual AfL Pro Newsletter for educators, coaches and rec leaders</label> </li></ul></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_11' class='gform_button button' value='Subscribe now' onclick='if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; jQuery("#gform_11").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=11&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='11' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_11' value='WyJbXSIsImU4MmE1N2RiNzRiMTQ1ZjVhOGQ3OWQwZmVkOTFkNjRiIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js" name="ak_js" value="134"/><script>document.getElementById( "ak_js" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_11' id='gform_ajax_frame_11' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 11, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_11').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_11');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_11').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_11').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_11').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_11').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_11').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_11').val();gformInitSpinner( 11, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [11, current_page]);window['gf_submitting_11'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_11').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_11').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [11]);window['gf_submitting_11'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_11').text());}, 50);}else{jQuery('#gform_11').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [11, current_page]);} );} );</script>