15' x 20' Pergola Kits

Enjoy the outdoors relaxing under your distinctive 15′ x 20′ pergola from Pergola Depot.

When shopping for stylish 15′ x 20′ pergola kits, look no further than Pergola Depot. We have many styles to choose from, each made with the highest quality materials. With multiple awards from Best of Houzz Service, we’ve welcomed many new customers for 15′ x 20′ pergolas and more. They’ve taken advantage of our excellent products, low prices and top-notch service. And we know you’ll be thrilled when you’re relaxing under your 15′ x 20′ pergola.

Choose the Best 15′ x 20′ Pergolas from Pergola Depot


We offer designs to fit every budget and taste, and your 15′ x 20′ pergola is just a few clicks away. Which style will you choose? The classic strength of the Big Kahuna, the charm of the Sombrero or the open-sky feel of the Fedora? You can’t go wrong buying 15′ x 20′ pergolas in any of these handsome styles. Each one gives you a wood choice: Pressure-treated #1 Southern Pine or Western Red-Rough Sawn-Tight Knot Cedar. Each of these is decay-resistant and able to withstand severe weather conditions.

INSIDE POSTS – Measure inside post to post.
OUTSIDE POSTS – Measure outside post to post.
RAFTERS & BEAMS – Measure overall tip-to-tip, including overhang (Rafters are projection or depth and Beams are width)

15’x20’ Big Kahuna Pergola
15’x20’ Big Kahuna Pergola

Tips for Your 15′ x 20′ Pergola



There are many factors to consider when choosing to put a beautiful pergola on your property. And whether you choose a 15′ x 20′ pergola or a different configuration, we have the tips to help. Some of the expert resources include:

  • Pergola Footprint Diagram: The diagram lists the dimensions for freestanding and attached pergolas with measurements in rafter and beam lengths. Height and post lengths are given to help measure for your 15′ x 20′ pergola.
  • Post Information: Information includes the installation and size of the posts, which will be the legs for your 15′ x 20′ pergola.
  • Contractor Resources: Originally designed to be a page for contractors, there’s great information for the DIYer, too.
  • Pergola Kits Buying Guide: A convenient guide covering the entire process of choosing the right pergola for you.

Attached 15′ x 20′ Pergola


15’x20’ Big Kahuna Pergola

Freestanding 15′ x 20′ Pergola


15’x20’ Big Kahuna Pergola

Pergola Depot has the 15′ x 20′ Pergola You Want


With the best designs, materials and customer service, buying that 15′ x 20′ pergola you want couldn’t be easier. With clear, easy-to-follow instructions and a wealth of knowledge available at your fingertips, you’ll be enjoying your new 15′ x 20′ pergola in no time. And remember, we’re here to help you through the whole buying process, and you can always contact us with any questions or concerns.

[gravityform id=33 ajax="true" title="false"]
<div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_33' style='display:none'><div id='gf_33' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> <p class='gform_required_legend'>&quot;<span class="gfield_required gfield_required_asterisk">*</span>&quot; indicates required fields</p> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_33' id='gform_33' action='/15-x-20-pergolas/#gf_33' novalidate> <div id='gf_progressbar_wrapper_33' class='gf_progressbar_wrapper'> <p class="gf_progressbar_title">Step <span class='gf_step_current_page'>1</span> of <span class='gf_step_page_count'>5</span> </p> <div class='gf_progressbar gf_progressbar_blue' aria-hidden='true'> <div class='gf_progressbar_percentage percentbar_blue percentbar_20' style='width:20%;'><span>20%</span></div> </div></div> <div class='gform_body gform-body'><div id='gform_page_33_1' class='gform_page' > <div class='gform_page_fields'><div id='gform_fields_33' class='gform_fields top_label form_sublabel_below description_below'><div id="field_33_18" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" ><h2 class="ca-form-title">Welcome To Pergola Depot!</h2> <p class="ca-form-p">Is there something we can help you with today?</p></div><fieldset id="field_33_1" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><legend class='gfield_label screen-reader-text' ><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></legend><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_33_1'> <div class='gchoice gchoice_33_1_0'> <input class='gfield-choice-input' name='input_1' type='radio' value='I&#039;d like to download a pergola buyer’s guide.' id='choice_33_1_0' onchange='gformToggleRadioOther( this )' /> <label for='choice_33_1_0' id='label_33_1_0'>I'd like to download a pergola buyer’s guide.</label> </div> <div class='gchoice gchoice_33_1_1'> <input class='gfield-choice-input' name='input_1' type='radio' value='I&#039;d like to schedule a call with a pergola specialist.' id='choice_33_1_1' onchange='gformToggleRadioOther( this )' /> <label for='choice_33_1_1' id='label_33_1_1'>I'd like to schedule a call with a pergola specialist.</label> </div> <div class='gchoice gchoice_33_1_2'> <input class='gfield-choice-input' name='input_1' type='radio' value='I&#039;d like to browse pergolas on my own.' id='choice_33_1_2' onchange='gformToggleRadioOther( this )' /> <label for='choice_33_1_2' id='label_33_1_2'>I'd like to browse pergolas on my own.</label> </div> <div class='gchoice gchoice_33_1_3'> <input class='gfield-choice-input' name='input_1' type='radio' value='I know what I&#039;m looking for and I&#039;m ready to buy!' id='choice_33_1_3' onchange='gformToggleRadioOther( this )' /> <label for='choice_33_1_3' id='label_33_1_3'>I know what I'm looking for and I'm ready to buy!</label> </div></div></div></fieldset></div> </div> <div class='gform_page_footer top_label'> <input type='button' id='gform_next_button_33_2' class='gform_next_button button' value='Next' onclick='jQuery("#gform_target_page_number_33").val("2"); jQuery("#gform_33").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_33").val("2"); jQuery("#gform_33").trigger("submit",[true]); } ' /> </div> </div> <div id='gform_page_33_2' class='gform_page' style='display:none;'> <div class='gform_page_fields'> <div id='gform_fields_33_2' class='gform_fields top_label form_sublabel_below description_below'><div id="field_33_5" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" ><h2 class="ca-form-title">Great!</h2> <p class="ca-form-p">Please enter your name and email and we'll send you a buyer's guide with more information about our pergolas.</p> <p class="ca-form-p">P.S. You'll also get a special <span>discount code</span> that's valid through December 15 only!</p></div><div id="field_33_3" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label screen-reader-text' for='input_33_3' >First Name *<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_33_3' type='text' value='' class='large' placeholder='First Name *' aria-required="true" aria-invalid="false" /> </div></div><div id="field_33_4" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label screen-reader-text' for='input_33_4' >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_4' id='input_33_4' type='email' value='' class='large' placeholder='Email *' aria-required="true" aria-invalid="false" /> </div></div></div> </div> <div class='gform_page_footer top_label'> <input type='button' id='gform_previous_button_33_10' class='gform_previous_button button' value='Previous' onclick='jQuery("#gform_target_page_number_33").val("1"); jQuery("#gform_33").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_33").val("1"); jQuery("#gform_33").trigger("submit",[true]); } ' /> <input type='button' id='gform_next_button_33_10' class='gform_next_button button' value='Next' onclick='jQuery("#gform_target_page_number_33").val("3"); jQuery("#gform_33").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_33").val("3"); jQuery("#gform_33").trigger("submit",[true]); } ' /> </div> </div> <div id='gform_page_33_3' class='gform_page' style='display:none;'> <div class='gform_page_fields'> <div id='gform_fields_33_3' class='gform_fields top_label form_sublabel_below description_below'><div id="field_33_11" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" ><h2 class="ca-form-title">No problem!</h2> <p class="ca-form-p">If you need any assistance while browsing our pergolas, <br>head down to the left corner to <span>chat with us</span>. <p class="ca-form-p">We're here to answer your questions!</p> <p class="ca-form-p"><i>Before you leave, would you like to take advantage of our holiday <span>discount</span> that's valid through December 15?</i></p></div><fieldset id="field_33_13" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><legend class='gfield_label screen-reader-text' ></legend><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_33_13'> <div class='gchoice gchoice_33_13_0'> <input class='gfield-choice-input' name='input_13' type='radio' value='Yes, please!' id='choice_33_13_0' onchange='gformToggleRadioOther( this )' /> <label for='choice_33_13_0' id='label_33_13_0'>Yes, please!</label> </div> <div class='gchoice gchoice_33_13_1'> <input class='gfield-choice-input' name='input_13' type='radio' value='No, thank you!' id='choice_33_13_1' onchange='gformToggleRadioOther( this )' /> <label for='choice_33_13_1' id='label_33_13_1'>No, thank you!</label> </div></div></div></fieldset></div> </div> <div class='gform_page_footer top_label'> <input type='button' id='gform_previous_button_33_19' class='gform_previous_button button' value='Previous' onclick='jQuery("#gform_target_page_number_33").val("2"); jQuery("#gform_33").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_33").val("2"); jQuery("#gform_33").trigger("submit",[true]); } ' /> <input type='button' id='gform_next_button_33_19' class='gform_next_button button' value='Next' onclick='jQuery("#gform_target_page_number_33").val("4"); jQuery("#gform_33").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_33").val("4"); jQuery("#gform_33").trigger("submit",[true]); } ' /> </div> </div> <div id='gform_page_33_4' class='gform_page' style='display:none;'> <div class='gform_page_fields'> <div id='gform_fields_33_4' class='gform_fields top_label form_sublabel_below description_below'><div id="field_33_20" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" ><h2 class="ca-form-title">Happy Shopping!</h2> <p class="ca-form-p">Please share your name and email below to receive your <span>20% off discount code that's good through December 15</span>. </p> <p class="ca-form-p">We hope you enjoy shopping with us!</p></div><div id="field_33_21" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label screen-reader-text' for='input_33_21' >First Name *<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_21' id='input_33_21' type='text' value='' class='large' placeholder='First Name *' aria-required="true" aria-invalid="false" /> </div></div><div id="field_33_22" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label screen-reader-text' for='input_33_22' >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_22' id='input_33_22' type='email' value='' class='large' placeholder='Email *' aria-required="true" aria-invalid="false" /> </div></div></div> </div> <div class='gform_page_footer top_label'> <input type='button' id='gform_previous_button_33_14' class='gform_previous_button button' value='Previous' onclick='jQuery("#gform_target_page_number_33").val("3"); jQuery("#gform_33").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_33").val("3"); jQuery("#gform_33").trigger("submit",[true]); } ' /> <input type='button' id='gform_next_button_33_14' class='gform_next_button button' value='Next' onclick='jQuery("#gform_target_page_number_33").val("5"); jQuery("#gform_33").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_33").val("5"); jQuery("#gform_33").trigger("submit",[true]); } ' /> </div> </div> <div id='gform_page_33_5' class='gform_page' style='display:none;'> <div class='gform_page_fields'> <div id='gform_fields_33_5' class='gform_fields top_label form_sublabel_below description_below'><div id="field_33_15" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" ><h2 class="ca-form-title">No problem!</h2> <p class="ca-form-p">If you need any assistance while browsing our pergolas, <br>head down to the left corner to <span>chat with us</span> or call as at <a href="tel:8775630002"><span>(877) 563-0002</span></a>. <p class="ca-form-p">We're here to answer your questions! Don't forget our Holiday Sale - now through December 15 save 20% off pergola kits with code: HOLIDAYSALE</p> </div></div></div> <div class='gform_page_footer top_label'><input type='submit' id='gform_previous_button_33' class='gform_previous_button button' value='Previous' onclick='if(window["gf_submitting_33"]){return false;} if( !jQuery("#gform_33")[0].checkValidity || jQuery("#gform_33")[0].checkValidity()){window["gf_submitting_33"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_33"]){return false;} if( !jQuery("#gform_33")[0].checkValidity || jQuery("#gform_33")[0].checkValidity()){window["gf_submitting_33"]=true;} jQuery("#gform_33").trigger("submit",[true]); }' /> <input type='submit' id='gform_submit_button_33' class='gform_button button' value='Continue Shopping' onclick='if(window["gf_submitting_33"]){return false;} if( !jQuery("#gform_33")[0].checkValidity || jQuery("#gform_33")[0].checkValidity()){window["gf_submitting_33"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_33"]){return false;} if( !jQuery("#gform_33")[0].checkValidity || jQuery("#gform_33")[0].checkValidity()){window["gf_submitting_33"]=true;} jQuery("#gform_33").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=33&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_33' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='33' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_33' value='WyJbXSIsIjhiOTdmMWNhMmJiYTliNjI3NTYwMmJmNTBlZGMxZTllIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_33' id='gform_target_page_number_33' value='2' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_33' id='gform_source_page_number_33' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </div></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="193"/><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_33' id='gform_ajax_frame_33' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script> gform.initializeOnLoaded( function() {gformInitSpinner( 33, 'https://pergoladepot.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_33').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_33');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_33').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_33').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_33').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_33').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_33').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_33').val();gformInitSpinner( 33, 'https://pergoladepot.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [33, current_page]);window['gf_submitting_33'] = 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_33').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_33').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [33]);window['gf_submitting_33'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_33').text());}, 50);}else{jQuery('#gform_33').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [33, current_page]);} );} ); </script>