North Carolina Pergola Kits

From the wooden ships of the Outer Banks to the vibrant art in downtown Asheville, North Carolina is a state filled with lush forests, active coastlines, and powerful cities. With its temperate climate, outdoor barbecues and gatherings are a welcome sight here. In the suburbs of Charlotte and at the foothills of the Appalachians, people are spending quality time on their porches and patios. Our North Carolina pergola kits are the perfect addition to your outdoor living room. With free shipping and premium designs, your yard will become your go to spot to get away.

The Best North Carolina Pergolas

Our DIY wooden pergolas are made to order and shipped for free to every county in North Carolina!  Made from western red rough sawn tight knot cedar or high quality pressure treated #1 southern yellow pine, all of our pergolas have a strong timber frame capable of handling anything the weather can throw at it.Outer Banks Style Pergola - Cedar 4 Post Big Kahuna

The Big Kahuna, our most popular design, boasts excellent coverage with an array of rafters in a sturdy design to maximize shade and comfort. With sizes ranging from a charming square 8×8 all the way up to an epic 20×20, the Big Kahuna is ready to make your backyard the best room of the house.

The Sombrero is for those of you who like a little more sun with their shade. An honest descendent of the Big Kahuna, the Sombrero has fewer rafters and top slats allowing more light and more room for star gazing at night. Otherwise, you can expect the same attention to detail, craftsman touches, and quality design that you get from the Big Kahuna. There are also custom add-ons such as retractable canopies that can make choosing your perfect shade that much easier.

The youngest member of the family is the Fedora. The Fedora lets the most light in while still maintaining a robust and sturdy frame. The Fedora is perfect for people who love the sun and also like to see the sky unencumbered. Starwatching, bird watching, and cloud gazing is what the Fedora is all about. Check out our options and make your yard what it was meant to be.

Charlotte Pergolas: Make the Most of the Dry Season

Charlotte is an amazing city! From Midtown to Dilworth the vibrancy of this city attracts millions of visitors every year. Like most of North Carolina, Charlotte and its suburbs are home to fantastic summer gardens and delicious backyard barbecue not to mention fried green tomatoes with pimento cheese, a Lexington style bbq sandwich, or some shrimp and grits!

Pine North Carolina Pergola - Big Kahuna 20x20

It’s true that this state has an awesome backyard friendly scene when the weather isn’t acting up.

We love that about Charlotte and we believe that a backyard without Charlotte pergolas is like a house without a living room. Imagine a warm summer night, friends and neighbors sharing a meal and laughter around a table beneath the rafters and canopy of a pine or cedar pergola.

They truly transform an outdoor space into something special. At Pergola Depot, we build beautiful wood pergolas from cedar or pine and have stunning designs and customizations to make your yard and pool the place to be when it’s time to grill or relax.

Outer Banks Pergolas: Stand up to the Storm

The Outer Banks are a wild place! Out in the Atlantic like a barrier between the ocean and the rest of the state, they see their fair share of weather. When the sun is shining, however, there is no place more beautiful in the rest of North Carolina! Patios in the Outer Banks need a pergola that can stand up to what Mother Nature has in mind on these islands.North Carolina Style Pergolas - Big Kahuna Wood Pergola

Our pergolas are sturdy, designed with longevity in mind. We use the highest quality lumber and pre-cut and pre-drill the pieces so that you don’t have to. You won’t find any flimsy vinyl pergolas in our shop. Just solid timber.

The end result is a structure that can withstand strong winds and rain. Our cedar won’t rot or mold and you will be enjoying the best days outside for years to come.  

Pergolas Shipped and Ready to Build

Our pergolas come with everything you need to assemble them within an afternoon. Our instructions are easy to follow and all the pieces are pre-cut and drilled to make installation a breeze. With our kits, there is no standing in line at Lowes because you don’t have everything you need. We also have a directory of contractors to check out if you need assistance. If there’s not one listed in your area, you can try contacting a local landscaper or handyman to help with assembly if needed. Our goal is to make the process of actually putting the pergola up as simple as ordering it.

Are you Ready to Get Outside, North Carolina?

It’s time you stop dreaming of your backyard retreat and start creating it. There is no better place to start than right here. Check out our kits and options and find the pergola that’s best for your space. See you outside!

[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='/north-carolina-pergola-kits/#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 an exclusive <span>15% off discount code</span> for when you're ready to buy!</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 an exclusive <span>15% off discount</span> for when you're ready to buy?</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>15% off discount code</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!</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='Send My Discount Code!' 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> </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>