Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More
The most powerful drag and drop WordPress form builder for contact forms, payment forms, calculators, quizzes, surveys, and data-driven applications. The Most Powerful WordPress Form Builder Plugin Formidable Forms is the most powerful drag and drop form builder for WordPress. Easily add contact forms, payment forms, survey forms, quiz forms, calculator forms, registration forms, custom forms, data tables, and complete web applications to your website, without any code. Whether you’re a beginner creating your first contact form or a developer building a complex member directory or data-driven application, Formidable Forms scales with you. Stop paying for a single-purpose contact form plugin. With Formidable’s drag and drop form builder, one plugin replaces five, so you can build forms, collect payments, run surveys, grade quizzes, generate online calculators, and build web apps, all inside WordPress without writing a single line of code. Watch the video overview for the Formidable form builder, calculator, and quiz builder Formidable Pro – The Ultimate WordPress Forms Plugin This plugin is the free version of Formidable Pro, which unlocks email subscription forms, multi-page forms, file upload forms, quiz grading, and conditional logic. Add repeater fields, payment integrations with Stripe and PayPal, cascading dropdown fields, calculated fields, front-end form editing, the AI form builder, and the powerful web application builder. Formidable Pro is more than a contact form plugin. It’s a complete platform for building smart forms and web applications. Upgrade to the most advanced premium WordPress form builder now! Or start with the Lite vs Pro comparison. Drag and Drop Form Builder for Every Type of WordPress Form Formidable’s drag and drop form maker makes it fast to create any form you can imagine. Start from one of 300+ pre-built form templates, design a completely custom form from scratch, or describe what you need and let the AI form builder generate it for you in seconds. Build a simple contact form in minutes, or layer in conditional logic, multi-step pages, and calculated fields to create sophisticated registration forms, quote forms, and price calculator forms. The form builder is optimized for outstanding speed and server performance, making it one of the fastest WordPress form plugins available. Unlimited forms are included in the free version, and every form you build is mobile-responsive out of the box. Whether visitors land on your site via desktop, tablet, or phone, your contact forms, survey forms, and payment forms look great and work flawlessly on every device. No other drag and drop form builder for WordPress gives you this depth of functionality starting from the free tier. Entry Management for Your Free WordPress Contact Forms Every form submission is stored securely in your WordPress database, so no lead is ever lost. Access entries from the form builder back-end, export to CSV for use in Excel or any other platform, and import leads directly to services like Mailchimp. Formidable is fully GDPR-friendly, giving you controls for IP tracking, saving submissions, and adding GDPR consent fields to any form. Automate follow-up with customizable email notifications and autoresponders. Set up redirect rules or success messages to guide visitors after form submission. From your first contact form to advanced payment forms and registration forms, every detail of the post-submission experience is in your hands. Built-in invisible SPAM protection keeps your entries clean from bots and spam submissions. The Only Form Builder Plugin with an Advanced Visual Form Styler Formidable is the only WordPress form builder with a built-in visual style creator. Match your contact forms, survey forms, and payment forms to your brand in just a few clicks, no custom CSS required. Adjust colors, fonts, layouts, and field styles to create online forms that blend seamlessly with any WordPress theme. For agencies and developers, the visual form styler means you can deliver beautiful, on-brand forms for every client without touching a line of code. Build Smart Survey Forms and Generate Insightful Reports With Formidable Pro, you get survey tools that rival SurveyMonkey, without the monthly subscription cost. Build survey forms and poll forms with Net Promoter Score (NPS) fields, Likert scales, star ratings, and image choices. Analyze survey results instantly and display beautiful graphs and charts directly on your WordPress pages and posts. Formidable’s survey form builder makes it simple to gather data, understand it, and act on it, all inside WordPress. Advanced WordPress Registration Forms for Teams and Events Formidable goes far beyond basic contact form functionality. The repeater field makes it easy to build comprehensive registration forms for sports teams, events, retreats, courses, and membership sites. Robust marketing integrations and API connections let you funnel registration data to your CRM, email platform, or any other tool in your stack automatically. Whether you’re building an event registration form or a complex multi-step membership application, the form builder handles it. Payment Forms with Stripe, PayPal, Square, and More Accept credit card payments, subscriptions, and donations directly through your WordPress forms. Formidable integrates with leading payment gateways including Stripe, PayPal, Square, and Authorize.net. Set up a donation form, product order form, event registration payment form, or service booking payment form in minutes. WooCommerce store owners can build custom product configurator forms with dynamic pricing and calculation fields that feed directly into the WooCommerce cart. Stripe payment forms are available in the free version, supporting ACH, Cash App, Klarna, iDeal, and more. A transaction fee applies without a Pro license. For in-person events and hybrid businesses, payment forms can be set up for cash, manual payment recording, and on-site collection, giving you complete flexibility for online and in-person transactions. Build Data-Driven Web Applications with Formidable Views Formidable Forms is not just a WordPress contact form plugin. It’s a complete platform for building web applications. With Formidable Views, you can display submitted form data on the front-end of your WordPress site, creating searchable databases, directories, event calendars, job boards, real estate listings, member directories, and more. No additional plugin required. The form builder and application builder are tightly integrated, so you can go from form to full application without ever leaving WordPress. Quiz Forms, Online Calculators, and Calculator Forms Formidable’s quiz form builder and calculator form builder are industry-leading features that set it apart from every other WordPress form plugin. Build educational assessments, personality quizzes, scored tests, and viral BuzzFeed-style quizzes with ease. For calculator forms and online calculators, the possibilities are endless: mortgage calculators, loan calculators, BMI calculators, price calculators, instant quote calculators, ROI calculators, cost estimators, and more. These interactive calculator forms and online calculators give visitors instant results and give you a powerful lead generation tool. No other drag and drop form builder for WordPress combines quizzes, scored forms, and fully functional online calculators in one free plugin. WordPress User Registration Forms and Profile Forms For membership sites and community platforms, Formidable offers advanced customization options for WordPress user registration forms and user profile forms. Enable front-end profile editing so users can update their information without ever visiting the WordPress dashboard. From initial contact form to lead form to final payment form, every step of the user journey is covered by Formidable’s drag and drop form builder. Advanced Fields and Features for High-Converting Forms Formidable’s form builder includes everything you need to create professional, high-converting forms. Multi-page forms with progress bars boost completion rates. Save-and-continue lets users finish long forms on their own schedule. Cascading dropdowns, conditional logic, partial submissions, and invisible spam protection are all included. Calculated fields power your online calculator forms and instant quote forms automatically. For developers and agencies, Formidable is the premier WordPress form builder choice. Customize form HTML directly (similar to Contact Form 7, but with full drag and drop power on top). Extend with hooks and filters. Build complex data-driven web applications with low overhead. Formidable supports the most sophisticated projects while remaining approachable for beginners building their first contact form. With the AI form builder (Pro), you can describe any form in plain text and have it built for you instantly. Need a multi-step registration form, a quote calculator, or a patient intake form? Just type what you need and the AI generates a fully structured, editable form in seconds. You can also add an AI field directly inside any form to display AI-generated responses based on user input, then include those responses in confirmation messages, email notifications, or Formidable Views. Every form is WCAG-compliant and accessible by default, making your forms usable for all visitors. How to Build an Instant Quote Form Full Feature List Drag and Drop Form Builder – Create contact forms, payment forms, survey forms, and more visually Calculator Forms – Build mortgage calculators, loan calculators, BMI calculators, price calculators, online quote calculators Survey Forms – NPS, Likert scale, star rating, image choice fields for powerful survey forms Multi-Step Forms – Multi-page forms with progress bars and conditional logic Payment Forms – Stripe, PayPal, Square, Authorize.net payment form integrations online and in-person WooCommerce Form Builder – Custom product forms with dynamic pricing Formidable Views – Display form data: directories, job boards, event calendars, real estate listings Form Templates – 300+ pre-built form templates for every use case Conditional Logic – Smart forms that show and hide fields dynamically File Upload Form – Accept documents, photos, and files in any form Quiz Form Builder – Scored quizzes, personality quizzes, graded assessments, viral quiz forms User Registration Form – WordPress registration and profile forms for membership sites PDF Forms – Generate PDFs, certificates, and invoices from form submissions Invisible SPAM Protection – Honeypot, Akismet, reCAPTCHA, hCaptcha, Cloudflare Turnstile Customize Form HTML – Full control over form HTML like Contact Form 7, plus drag and drop Conversational Forms – One-question-at-a-time form experience like Typeform Landing Page Forms – Distraction-free form landing pages Repeater Fields – Add multiple rows of fields in registration and order forms Visual Form Styler – Brand your forms with colors, fonts, and layouts, no CSS required Cascading Dropdown Fields – Dynamic dependent dropdowns for complex forms Digital Signatures – Collect signatures in contract and booking forms Front-End Editing – Let users edit their own form submissions without logging in WCAG-Compliant Forms – Accessible form builder for all users AI Form Builder – Create entire forms from a plain text description in seconds Payment Forms, Marketing APIs, and Business Integrations Formidable Pro connects your WordPress forms to every major platform in your marketing and business stack. The form builder’s integration ecosystem means you never lose a lead or miss a workflow. Payment Forms: Accept online payments with Stripe Forms (one-time or recurring, with ACH, Cash App, Klarna, iDeal support), PayPal Forms (instant and recurring), and Authorize.net (one-time payments in order forms and calculator forms). Formidable charges zero transaction fees on all payment forms with a valid license. For in-person payments, cash, and manual payment collection, Formidable’s flexible payment form architecture supports hybrid billing workflows. Email Marketing: Direct integrations for Mailchimp, Constant Contact, AWeber, MailPoet, ActiveCampaign, HubSpot, Salesforce, GetResponse, and Campaign Monitor make lead collection seamless. Connect any contact form, survey form, or registration form to your email list in minutes. CRM and Automation: Zapier integration connects your WordPress contact forms and payment forms to thousands of apps. Use SMS notifications via Twilio, sync data to Zoho CRM, HubSpot CRM, Salesforce, Highrise, and more. Automate form-triggered workflows without writing code. WooCommerce Integration: As the only WordPress form builder plugin fully integrated with WooCommerce, Formidable lets you build custom WooCommerce product forms with variable pricing, configuration options, and calculated totals that flow directly into the cart. Multilingual Forms: Reach a global audience with WPML and Polylang integrations for multilingual WordPress forms. WordPress Form Builder for Every Industry and Use Case Formidable is the drag and drop form builder of choice across every industry. Small businesses use it for contact forms and lead capture. Financial services companies build loan calculators and quote forms. HR teams and researchers build survey forms. Schools and event coordinators build registration forms. Educators use the quiz form builder for scored assessments. Nonprofits build donation forms. Legal and medical practices use file upload forms for intake. Membership sites use it for user registration forms. Real estate and job sites build front-end directories. Service businesses use it for booking and appointment forms. Agencies and developers choose Formidable because it handles everything from a simple contact form to a complex web application in a single plugin. Formidable Forms Branding Guidelines Formidable Forms may also be referred to as Formidable, Formidable Form Builder, Formidable Pro, or Formidable Views. The Best Gravity Forms Alternative, WPForms Alternative, and JotForm Alternative for WordPress If you’re looking for an advanced WordPress form builder as a Gravity Forms alternative, Formidable Forms delivers more power at a lower price, with a completely free version that Gravity Forms doesn’t offer. As a WPForms alternative, Formidable goes deeper: beyond contact forms into calculator forms, web applications, and data-driven front-end displays that WPForms simply can’t match. Looking for a JotForm alternative or Typeform alternative that keeps your data on your own server? Formidable is the answer. All form data stays in your WordPress database, not on an external SaaS platform. Formidable is also the top Contact Form 7 alternative for anyone who has outgrown CF7’s limited feature set and wants drag and drop power on top. Compared to SurveyMonkey, Formidable Pro delivers professional survey forms, NPS forms, Likert scale fields, and real-time results directly inside WordPress, without a separate subscription. Ninja Forms users looking for more built-in power will find Formidable’s form builder offers calculators, Views, and a web application builder that Ninja Forms add-ons can’t replicate in a single plugin. Fluent Forms and Forminator users who need advanced calculator forms and a complete data display layer consistently upgrade to Formidable. Credits This online form and quiz builder plugin is created by Steve and Steph Wells and the amazing Strategy11 Team with Syed Balkhi as an Advisor.
Top keywords
- forms116×5.05%
- form101×4.40%
- formidable44×1.92%
- builder42×1.83%
- form builder37×1.61%
- wordpress36×1.57%
- contact24×1.04%
- payment23×1.00%
- build19×0.83%
- calculators19×0.83%
- registration17×0.74%
- fields15×0.65%
Brilliant Web-to-Lead for Salesforce
Brilliant Web-to-Lead for Salesforce creates a solid integration between your WordPress install(s) and your Salesforce CRM account! People can enter a contact form on your site, and the lead (or case) goes straight into Salesforce CRM: no more copy pasting lead info, no more missing leads: each and every one of them is in Salesforce.com for you to follow up. Features You can fully configure all the different settings for the form, and then use a shortcode to insert the form into your posts or pages, or you can use the widget that comes with the plugin and insert the form into your sidebar! Previous contributors: Joost de Valk ModernTribe Daddy Donkey Labs Filters and Hooks Note: These should be placed in your active theme functions.php or a functionality plugin. Never edit a plugin directly (unless you understand the implications of doing so). You can use Pluginception to create a custom plugin for these to make them independent of your theme: https://wordpress.org/plugins/pluginception/ Filters salesforce_w2l_api_url Change the API url the plugin posts data to. Passes the form type (lead or case) add_filter( 'salesforce_w2l_api_url', 'my_w2l_api_url', 10, 2 ); function my_w2l_api_url( $url, $form_type ){ return 'https://my.custom-api-url.com/something/'; } sfwp2l_validate_field Provide your own validation logic for each field. An error array is passed in, along with the field name, submitted value, and field configuration (type, default value, required, etc). Here’s an example of blocking common free email providers: add_filter('sfwp2l_validate_field','block_non_biz_emails', 10, 4); function block_non_biz_emails( $error, $name, $val, $field ){ if( $name == 'email' ){ $non_biz_domains = array( 'gmail.com', 'yahoo.com', 'hotmail.com', 'aol.com' ); $domain = array_pop(explode('@', $val)); if( in_array( $domain, $non_biz_domains ) ){ $error['valid'] = false; $error['message'] = 'Please enter a business email addresss.'; } } return $error; } You can add to the $non_biz_domains to block other providers as well. salesforce_w2l_form_html HTML of the form before it’s returned to WordPress for display salesforce_w2l_cc_user_from_name Change from name (user confirmation) salesforce_w2l_cc_user_from_email Change from email (user confirmation) salesforce_w2l_cc_admin_from_name Change from name (admin notification) salesforce_w2l_cc_admin_from_email Change from email (admin notification) salesforce_w2l_cc_admin_email_list Adding this code to your functions.php file will add 3 emails to the list. You can add as many as you want and each will get an admin notification email. add_filter('salesforce_w2l_cc_admin_email_list','salesforce_add_emails'); function salesforce_add_emails( $emails ){ //uncomment line below to remove site admin //unset($emails[0]); $emails[]='
[email protected]'; $emails[]='
[email protected]'; $emails[]='
[email protected]'; return $emails; } salesforce_w2l_cc_user_email_content salesforce_w2l_cc_admin_email_content Allows you to filter (append, prepend, modify) the email message content sent to the user or admin(s). add_filter('salesforce_w2l_cc_user_email_content','salesforce_filter_user_message', 10, 1); function salesforce_filter_user_message( $message ){ $message = 'Before the user message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the user message'; return $message; } add_filter('salesforce_w2l_cc_admin_email_content','salesforce_filter_admin_message', 10, 1); function salesforce_filter_admin_message( $message ){ $message = 'Before the admin message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the admin message'; return $message; } salesforce_w2l_cc_admin_replyto_email Filter the Reply-To email header (e.g. to allow replies to go to the form submitter) salesforce_w2l_returl salesforce_w2l_returl_{Form ID} Allows you to filter the value of a field before it is output to dynamically populate it with a value, auto set it based on another value, etc. Examples: // Filter Return/Success URL on a specific form // salesforce_w2l_returl_{Form ID} add_filter( 'salesforce_w2l_returl_1_tester', 'salesforce_w2l_returl_1_tester_example', 10, 1 ); function salesforce_w2l_returl_1_tester_example( $returl ){ return 'http://123.com'; } salesforce_w2l_success_message salesforce_w2l_success_message_{Form ID} Allows you to filter the contents of the success message before it is output to dynamically populate it with a value, auto set it based on another value, etc. Examples: // Filter Success Message on a specific form // salesforce_w2l_success_message_{Form ID} add_filter( 'salesforce_w2l_success_message_1_tester', 'salesforce_w2l_success_message_1_tester_example', 10, 1 ); function salesforce_w2l_success_message_1_tester_example( $success ){ return 'Testing 123'; } salesforce_w2l_field_value salesforce_w2l_field_value_{Form ID}_{Field Name} Allows you to filter the value of a field before it is output to dynamically populate it with a value, auto set it based on another value, etc. Note that the second filter requires you to replace {Form ID} and {Field Name} to be replaced with the relevant form id and field name. If you need access to the field or form settings in your filter you can use: $field = salesforce_get_field( $field_name, $form_id ); $form = salesforce_get_form( $form_id ); Examples: // Pre-check a checkbox add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_precheck_example', 10, 3 ); function salesforce_w2l_field_value_precheck_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'checkboxfield__c'; // API Name of the field you want to auto check if( $form == $form_id && $field_name == $field && ! $_POST ) return 1; // or whatever the value of your checkbox is return $val; } // Store HTTP referrer in a field (this is not 100% reliable as the browser sends this value to the server) add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_referrer_example', 10, 3 ); function salesforce_w2l_field_value_referrer_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'referrer__c'; // API Name of the field you want to autofill if( $form == $form_id && $field_name == $field ){ if( isset( $_SERVER['HTTP_REFERER'] ) ){ return $_SERVER['HTTP_REFERER']; } } return $val; } // Autofill fields based on thew query string (using Google Analytics tracking variables in this example) add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_querystring_example', 10, 3 ); function salesforce_w2l_field_value_querystring_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'source__c'; // API Name of the field you want to autofill $qs_var = 'source'; // e.g. ?source=foo if( $form == $form_id && $field_name == $field ){ if( isset( $_GET[ $qs_var ] ) ){ return $_GET[ $qs_var ]; } } return $val; } // Autofill a user's country based on IP add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_geoip_example', 10, 3 ); function salesforce_w2l_field_value_geoip_example( $val, $field, $form ){ // Based on this plugin: https://wordpress.org/plugins/geoip-detect/ // Adjust this code to the one used by your geo detection plugin if( !function_exists( 'geoip_detect2_get_info_from_current_ip' ) ) return; $form_id = 1; // form id to act upon $field_name = 'country__c'; // API Name of the field you want to autofill if( $form == $form_id && $field_name == $field ){ $userInfo = geoip_detect2_get_info_from_current_ip(); //$val = $userInfo->country->isoCode; // e.g. US $val = $userInfo->country->name; // e.g. United States } return $val; } // Autofill a date // https://codex.wordpress.org/Function_Reference/current_time // http://php.net/manual/en/function.date.php add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_date_example', 10, 3 ); function salesforce_w2l_field_value_date_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'mydatefield__c'; // API Name of the field you want to auto check if( $form == $form_id && $field_name == $field && ! $_POST ) return current_time('Y-m-d'); // or whatever date format you want return $val; } salesforce_w2l_form_action Allows you to remove the form action. // Remove Form Action add_filter( 'salesforce_w2l_form_action', 'salesforce_w2l_form_action_example', 10, 1 ); function salesforce_w2l_form_action_example( $action ){ return ''; } salesforce_w2l_lead_source Allows you to alter the lead source (per form or globally). // Alter Lead Source add_filter( 'salesforce_w2l_lead_source', 'salesforce_w2l_lead_source_example', 10, 2 ); function salesforce_w2l_lead_source_example( $lead_source, $form_id ){ if( $form_id == 1 ) return 'Example Lead Source for Form #1 on page id #'.get_the_id(); return $lead_source; } salesforce_w2l_post_args Allows filtering of the wp_remote_post arguments (e.g. extend the timeout, increase redirect limit, etc). add_filter( 'salesforce_w2l_post_args', 'salesforce_w2l_post_args_example' ); function salesforce_w2l_post_args_example( $args ){ $args['timeout'] = 10; // http timeout in seconds return $args; } salesforce_w2l_post_data Allows filtering of the post data before it is sent to SalesForce. add_filter( 'salesforce_w2l_post_data', 'salesforce_w2l_post_data_example', 10, 3 ); function salesforce_w2l_post_data_example( $post, $form_id, $form_type ){ error_log( 'POST ARGS = '.print_r( $post, 1 ) ); $post['test'] = 'test'; return $post; } salesforce_w2l_show_admin_nag_message Suppress the organization id missing nag message (return false). add_filter( 'salesforce_w2l_show_admin_nag_message', '__return_false', 10, 1 ); Actions salesforce_w2l_before_submit Allows you to do something (read only) with the post data before it’s submitted to SalesForce. e.g. Send it to another API, log it to a database, etc. If you need to change the data, use the salesforce_w2l_post_data filter. add_action('salesforce_w2l_before_submit', 'salesforce_w2l_before_submit_example', 10, 3 ); function salesforce_w2l_before_submit_example( $post, $form_id, $form_type ){ error_log( 'BEFORE SUBMIT '.print_r($post,1) ); } salesforce_w2l_error_submit Allows you to do something (read only) with the post data when there is an error submitting to SalesForce. e.g. Notify someone via email, log it somewhere, etc. add_action('salesforce_w2l_error_submit', 'salesforce_w2l_error_submit_example', 10, 4 ); function salesforce_w2l_error_submit_example( $result, $post, $form_id, $form_type ){ error_log( 'ERROR SUBMIT ' . print_r($result,1) ); } salesforce_w2l_after_submit Allows you to do something (read only) with the post data after it’s submitted to SalesForce. e.g. Send it to another API, log it to a database, etc. add_action('salesforce_w2l_after_submit', 'salesforce_w2l_after_submit_example', 10, 3 ); function salesforce_w2l_after_submit_example( $post, $form_id, $form_type ){ error_log( 'AFTER SUBMIT '.print_r($post,1) ); } salesforce_w2l_get_prefixed_inputs Allows you to add to or change the list of fields that are auto prefixed by the plugin to avoid collisions with WP Query reserved request parameters add_filter('salesforce_w2l_get_prefixed_inputs', 'salesforce_w2l_get_prefixed_inputs_example', 10, 1 ); function salesforce_w2l_get_prefixed_inputs_example( $fields ){ $fields[] = 'new_field_name'; return $fields; } salesforce_w2l_input_name_prefix Allows you to change the default field name prefix (_sf) used to avoid collisions with WP Query reserved request parameters. add_filter('salesforce_w2l_input_name_prefix', 'salesforce_w2l_input_name_prefix_example', 10, 1 ); function salesforce_w2l_input_name_prefix_example( $prefix ){ return 'sfwp2lprefix_'; }