Skip to content

Hello sunshine.So long fossil fuels.

Stop paying too much for dirty, fossil fueled electricity and start owning your power. Join New England's rapidly accelerating clean energy movement and say hello to your solar future!
Sign Up Now

ReVision Energy: Local Solar Professionals Since 2003

We’re Experienced

With a strong local presence in Maine, New Hampshire, and Massachusetts, we’re committed to quality at all stages of our work.

We’re Employee-Owned

Everyone at ReVision is a co-owner and is equally invested in building a better future powered by the sun.

We’re a B Corp

We strive to be a source of environmental and social justice, through advocacy, education, and internal initiatives.

s

Want to help us build a brighter future?

Join our Team!

ReVision Energy is looking to grow our team of motivated and highly skilled solar professionals. If you are passionate about making Maine, New Hampshire and Massachusetts a less oil-dependent place, apply to join our team today!

a

CAREERS

What Our Customers Say

You have a great crew of PV installers and electricians. I am very pleased with the quality of work.

Tom D. in Deerfield, New Hampshire

[gravityform id="17" title="false" description="true" ajax="true"]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_17' ><div id='gf_17' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' action='/#gf_17' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id="field_17_1" class="gfield field_sublabel_hidden_label field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >Name</label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_17_1'> <span id='input_17_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_17_1_3' value='' aria-label='First name' aria-required='false' placeholder='First' /> <label for='input_17_1_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_17_1_6_container' class='name_last' > <input type='text' name='input_1.6' id='input_17_1_6' value='' aria-label='Last name' aria-required='false' placeholder='Last' /> <label for='input_17_1_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></li><li id="field_17_4" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_17_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_17_4' type='email' value='' class='medium' placeholder='Email' aria-required="true" aria-invalid="false" /> </div></li><li id="field_17_2" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_17_2' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_2' id='input_17_2' type='tel' value='' class='medium' placeholder='Phone (Optional)' aria-invalid="false" /></div></li><li id="field_17_3" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >Zip Code<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label> <div class='ginput_complex ginput_container has_zip ginput_container_address' id='input_17_3' > <input type='hidden' class='gform_hidden' name='input_3.4' id='input_17_3_4' value=''/><span class='ginput_right address_zip ginput_address_zip' id='input_17_3_5_container' > <input type='text' name='input_3.5' id='input_17_3_5' value='' placeholder='Zip Code' aria-required='true' /> <label for='input_17_3_5' id='input_17_3_5_label' class='hidden_sub_label screen-reader-text'>ZIP Code</label> </span><input type='hidden' class='gform_hidden' name='input_3.6' id='input_17_3_6' value='United States' /> <div class='gf_clear gf_clear_complex'></div> </div></li><li id="field_17_11" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_11' id='input_17_11' type='hidden' class='gform_hidden' aria-invalid="false" value='Digital' /></div></li><li id="field_17_12" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_12' id='input_17_12' type='hidden' class='gform_hidden' aria-invalid="false" value='Website' /></div></li><li id="field_17_14" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_14' id='input_17_14' type='hidden' class='gform_hidden' aria-invalid="false" value='eBook - Why Go Solar' /></div></li><li id="field_17_9" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_9' id='input_17_9' type='hidden' class='gform_hidden' aria-invalid="false" value='Unknown' /></div></li><li id="field_17_8" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_8' id='input_17_8' type='hidden' class='gform_hidden' aria-invalid="false" value='No Errors' /></div></li><li id="field_17_15" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_17_15' >Name</label><div class='ginput_container'><input name='input_15' id='input_17_15' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_17_15'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='Learn More!' onclick='if(window["gf_submitting_17"]){return false;} if( !jQuery("#gform_17")[0].checkValidity || jQuery("#gform_17")[0].checkValidity()){window["gf_submitting_17"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} if( !jQuery("#gform_17")[0].checkValidity || jQuery("#gform_17")[0].checkValidity()){window["gf_submitting_17"]=true;} jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsImYyMjdhMmIzMzYzNTAzNTJkN2I3NTQ1NGYwM2YzYzc2Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 17, 'https://www.revisionenergy.com/wp-content/themes/revision/img/ajax-loader.svg' );jQuery('#gform_ajax_frame_17').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_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').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_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, 'https://www.revisionenergy.com/wp-content/themes/revision/img/ajax-loader.svg' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = 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_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_17').text());}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script>
[gravityform id="13" title="false" description="true" ajax="true"]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_13' ><div id='gf_13' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_13' id='gform_13' action='/#gf_13' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_13' class='gform_fields top_label form_sublabel_below description_below'><li id="field_13_1" class="gfield field_sublabel_hidden_label field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >Name</label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_13_1'> <span id='input_13_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_13_1_3' value='' aria-label='First name' aria-required='false' placeholder='First' /> <label for='input_13_1_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_13_1_6_container' class='name_last' > <input type='text' name='input_1.6' id='input_13_1_6' value='' aria-label='Last name' aria-required='false' placeholder='Last' /> <label for='input_13_1_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></li><li id="field_13_4" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_13_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_13_4' type='email' value='' class='medium' placeholder='[email protected]' aria-required="true" aria-invalid="false" /> </div></li><li id="field_13_2" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_13_2' >Phone (Optional)</label><div class='ginput_container ginput_container_phone'><input name='input_2' id='input_13_2' type='tel' value='' class='medium' placeholder='(123) 456-7890' aria-invalid="false" /></div></li><li id="field_13_3" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >Zip Code<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label> <div class='ginput_complex ginput_container has_zip ginput_container_address' id='input_13_3' > <input type='hidden' class='gform_hidden' name='input_3.4' id='input_13_3_4' value=''/><span class='ginput_right address_zip ginput_address_zip' id='input_13_3_5_container' > <input type='text' name='input_3.5' id='input_13_3_5' value='' placeholder='01234' aria-required='true' /> <label for='input_13_3_5' id='input_13_3_5_label' class='hidden_sub_label screen-reader-text'>Zip Code</label> </span><input type='hidden' class='gform_hidden' name='input_3.6' id='input_13_3_6' value='United States' /> <div class='gf_clear gf_clear_complex'></div> </div></li><li id="field_13_11" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_11' id='input_13_11' type='hidden' class='gform_hidden' aria-invalid="false" value='Digital' /></div></li><li id="field_13_12" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_12' id='input_13_12' type='hidden' class='gform_hidden' aria-invalid="false" value='Website' /></div></li><li id="field_13_16" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_16' id='input_13_16' type='hidden' class='gform_hidden' aria-invalid="false" value='eBook - 7 Reasons to Go Solar' /></div></li><li id="field_13_9" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_9' id='input_13_9' type='hidden' class='gform_hidden' aria-invalid="false" value='Unknown' /></div></li><li id="field_13_8" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_8' id='input_13_8' type='hidden' class='gform_hidden' aria-invalid="false" value='No Errors' /></div></li><li id="field_13_17" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_13_17' >Name</label><div class='ginput_container'><input name='input_17' id='input_13_17' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_13_17'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_13' class='gform_button button' value='Learn More!' onclick='if(window["gf_submitting_13"]){return false;} if( !jQuery("#gform_13")[0].checkValidity || jQuery("#gform_13")[0].checkValidity()){window["gf_submitting_13"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_13"]){return false;} if( !jQuery("#gform_13")[0].checkValidity || jQuery("#gform_13")[0].checkValidity()){window["gf_submitting_13"]=true;} jQuery("#gform_13").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=13&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_13' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='13' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_13' value='WyJbXSIsImYyMjdhMmIzMzYzNTAzNTJkN2I3NTQ1NGYwM2YzYzc2Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_13' id='gform_target_page_number_13' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_13' id='gform_source_page_number_13' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_13' id='gform_ajax_frame_13' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 13, 'https://www.revisionenergy.com/wp-content/themes/revision/img/ajax-loader.svg' );jQuery('#gform_ajax_frame_13').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_13');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_13').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_13').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_13').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_13').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_13').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_13').val();gformInitSpinner( 13, 'https://www.revisionenergy.com/wp-content/themes/revision/img/ajax-loader.svg' );jQuery(document).trigger('gform_page_loaded', [13, current_page]);window['gf_submitting_13'] = 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_13').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_13').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [13]);window['gf_submitting_13'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_13').text());}, 50);}else{jQuery('#gform_13').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [13, current_page]);} );} );</script>