Your discount for coupon code LearnDash10D will be verified and applied at checkout

Affordable Registration & Ticketing for Any Size Event on Any WordPress Website

Need help deciding? Let us help today.


Personal License
$99.95
Event organizers who are just getting started with event registrations online

Buy Now
🚀 No commission or ticketing fees
📆 Create unlimited events within your WordPress website
🛒 Set up multiple ticket types, registration options, and different event dates
💬 Ask custom registration questions in your forms and set them to required
💳 Receive credit card payments with PayPal and Authorize.net
📋 Download an attendee registration list to print for check-in to your events
📊 Purchase add-ons to extend Event Espresso with extra functionality
Help & Support
😀 1 website covered
💡 12 months of software updates and online help
Everything License
$359.95 $269.96
Spring Sale
Businesses & organizations who need a flexible event registration and ticketing solution

Buy Now
Includes 66+ core features in the Personal license for one site...
+ Display your events on an event calendar
+ Create discount and promo codes for attendees
+ Have a waitlist after tickets sell out, or an event becomes full
+ Recurring Events put your events on autopilot
+ Over 20 payment services included such as Stripe, Square, PayPal, Venmo, and more!
+ Email custom event tickets with QR codes to attendees and scan them with a phone or tablet for fast event check-in
35+ add-ons included in the Everything support license!
1 website covered
12 months of software updates and online help
Developer License
$359.95
Agencies, web professionals & freelancers who are helping clients with their events on different sites

Buy Now
Includes 66+ core features in the Personal license for five sites
35+ add-ons available for purchase

5 websites covered
12 months of software updates and online help
Check out example events, see a walkthrough video, or try a demo of Event Espresso

What would it mean for you to have an events solution for WordPress that worked for you around the clock?

Imagine no longer having to spend hours and hours dealing with paper registrations, hounding people for paper checks, or piecing together a bunch of different products to handle your event registrations. Think about the time that you would save knowing that your event registrations were being taken care of right from your WordPress website.


What would you do with that found time?


Wouldn’t it feel great to know that with your next event, your website could feature information about your staff, collect attendee registrations, and securely process payments for you?


And before your event, you could create an attendee list in just a few clicks from your WordPress dashboard, so you are ready to go for your event.

Frequently Asked Questions

"Exactly what we were looking for in an event system"

Works great! Exactly what we were looking for in an event system.
Event Espresso
[gravityform id=96 title=false description=false]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_96' ><form method='post' enctype='multipart/form-data' id='gform_96' action='/pricing/?ee_ver=ee4&#038;ap_id=learndash&#038;coupon=LearnDash10D' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_96' class='gform_fields top_label form_sublabel_below description_below'><li id="field_96_5" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >What is your first name?<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_96_5'> <span id='input_96_5_3_container' class='name_first' > <input type='text' name='input_5.3' id='input_96_5_3' value='' aria-required='true' placeholder='First name' /> <label for='input_96_5_3' class='hidden_sub_label screen-reader-text'>First name</label> </span> </div></li><li id="field_96_7" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_96_7' >What is your email address?<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_96_7' type='email' value='' class='medium' placeholder='hello@example.com' aria-required="true" aria-invalid="false" /> </div></li><li id="field_96_3" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_3' id='input_96_3' type='hidden' class='gform_hidden' aria-invalid="false" value='http://eventespresso.com/pricing/?ee_ver=ee4&amp;ap_id=learndash&amp;coupon=LearnDash10D' /></div></li><li id="field_96_4" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_4' id='input_96_4' type='hidden' class='gform_hidden' aria-invalid="false" value='https://eventespresso.com/pricing/?ee_ver=ee4&amp;ap_id=learndash&amp;coupon=LearnDash10D' /></div></li><li id="field_96_8" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_96_8' >Phone</label><div class='ginput_container'><input name='input_8' id='input_96_8' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_96_8'>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_96' class='gform_button button' value='Activate My Discount' onclick='if(window["gf_submitting_96"]){return false;} if( !jQuery("#gform_96")[0].checkValidity || jQuery("#gform_96")[0].checkValidity()){window["gf_submitting_96"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_96"]){return false;} if( !jQuery("#gform_96")[0].checkValidity || jQuery("#gform_96")[0].checkValidity()){window["gf_submitting_96"]=true;} jQuery("#gform_96").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_96' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='96' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_96' value='WyJbXSIsIjBiNjdjZjkyMDUzOWUxOWY5Y2NiZjIwMzM4YjA1Mjk4Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_96' id='gform_target_page_number_96' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_96' id='gform_source_page_number_96' 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_1" name="ak_js" value="124"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>