Single License


Developer License


Unlimited sites!

Forms 3.4.7

Fieldtypes, Modules

Forms are finally simple and powerful in ExpressionEngine. Delivering like no other module seen before in ExpressionEngine we make the job of creating forms simple for you and your content admin. Previously forms were a hassle in ExpressionEngine, tucked deeply within the modules system, they were cumbersome and extremely difficult for a non-developer to use. These days are over, Forms is about to set you free!

With Forms you can create forms per entry or in the control panel for those template based forms. No matter where you make your Forms creating them has never been easier. With a simple one line template tag you can have a dynamic form on any page of your website.

Forms includes conditional logic, multiple column layouts, and fieldsets. These powerful new page tools and conditional logic allow you to create amazing multiple page forms with different layouts that change based off the answers of your users.

Need to add a payment with your form? Forms allows for multiple payment options with the form submission to make accepting payments in your form easy! Never has it been so easy to build forms with payment options.

Want more power with your Forms, well that is there also! Forms integrates with almost all ExpressionEngine content include Channel Entries, Categories, Forums, Members, Member Fields, and Member Groups. It comes setup with tons of pre-defined lists and the ability to make many more! Want multi-page forms, dynamic routing, and mailing list integration (Campaign Monitor/MailChimp)? No problem, Forms has this and so so much more!


  • Per Entry Forms or Template Based
  • Two Minute Implementation
  • Form as Payment with Customizable Cart Options
  •, Stripe, Payflow Pro Support
  • Conditional Logic
  • Multiple Column Layouts
  • Dynamic Form Builder
  • Multi-Page Forms
  • Drag and Drop or Click Editing
  • Simple and Advanced Fields
  • Client Admin Friendly
  • Pre-Defined Lists
  • Forms CP Home dashboard
  • Built in ExpressionEngine lists (Forums, Entries, Members, Member Fields, Member Groups, and Categories)
  • Campaign Monitor Integration
  • MailChimp Integration
  • reCAPTCHA Integration
  • Pre-Defined and Entry based notification templates
  • 28 Pre-Built Fields
  • Export Entries to XLS/CSV
  • Unique & Fast Form Entry Managment
  • Dynamic Email Routing (Sales,Service, Etc)
  • Super Easy CSS Styles
  • Built-In Help Tips
  • Configurable Field Label Placement


  • ExpressionEngine 2.3.1+

Guaranteed to Work With The Following Add-Ons

What People Are Saying

"We love this addon so much! We use it on nearly every site we develop. Customer support is phenomenal, had an issue with the control panel, and within 24 hours it was fixed and ready to go. Cannot recommend this product enough!" -Evan - TAG Communications

"Digging my early experiments with @devdemon's Forms add-on. Brilliantly flexible." -Jean St-Amand

Forms 3.4.7

  • ADDED: Cart Fees/Markup field
  • ADDED: Added option to Process "Super Admins" transactions in Test Mode
  • BUG: Forms Dashboard should not show up on all CP pages (EE 2.8)
  • BUG: When session_id was enabled in the CP, the Edit form button was not working (in EE 2.8, the session_id is now appended to the back of the URL)

Forms 3.4.6

  • ADDED: total_errors, has_errors, has_form_errors, has_field_errors variables to the form tag.
  • ADDED: {forms:field_errors} variable pair to the form tag.
  • ADDED: {field:NAME}{/field:NAME} pair support to email templates
  • ADDED: require state/zip options to address field
  • ADDED: scroll to first field error option (Submission Flow)
  • BUG: The "Cart Total" field would an incorrect amount if a form error occured

Forms 3.4.5

  • ADDED: {get:X} and {server:X} variables to email templates
  • ADDED: Regex Validation support to the Text Input Field
  • ADDED: Beta Subscription Field (Stripe Only)

Forms 3.4.4

  • ADDED: Form entries can now be edited! (fentry_id="" or fentry_hash="" on the form tag), thanks to: Jeff Hanley
  • ADDED: Conditionals now supports Checkbox fields
  • CHANGED: reCAPTCHA will ignore (for now) the queue_js="yes" parameter

Forms 3.4.3

  • BUG: Only the admin template was being sent when both admin/user template where custom

Forms 3.4.2

  • ADDED: Variable pair support for fields in the entries tag
  • ADDED: A small text showing what fieldtype the form element is
  • CHANGED: Moved all PHP 5.3 only code to separate files. Forms is PHP 5.2 compatible again.

Forms 3.4.1

  • ADDED: Constant Contact support to the Mailinglist field
  • ADDED: Option to use native EE Email library for sending emails.
  • ADDED: "Last Export" date to submissions/forms when exported for better tracking
  • ADDED: Product Options Multi field
  • BUG: Qty field was not being applied to Single Products - Select box

Forms 3.4.0

  • ADDED: Encryption support to Text Input & Textarea
  • IMPROVEMENT: Forms submit button is disabled while Stripe token AJAX is in progress
  • IMPROVEMENT: User defined product field only allows numeric and decimal points
  • IMPROVEMENT: Third Party submission now formats the data before posting

Forms 3.3.6

  • ADDED: Field: Cart Coupons
  • ADDED: {current_url}, {url:current}, {url:referrer} to the available variables list

Forms 3.3.5

  • BUG: Fixed a JS error on the Forms entries page.
  • BUG: PHP error if a product field was used as a conditional requirement
  • BUG: CP Home Forms dashboard works now in EE 2.6

Forms 3.3.4

  • IMPROVEMENT: Compatibility with EE 2.6
  • BUG: Fixed Drag & Drop issue in IE7

Forms 3.3.3

  • ADDED: for="" attribute to all label elements
  • ADDED: Redirect timeout option
  • ADDED: Show expired option to Entries list
  • ADDED: Support for email_crlf and email_newline config options
  • ADDED: Debug Option for Emails
  • ADDED: Multiselect option for the Entries List field & Categories List
  • CHANGED: Email field is now type="email"
  • CHANGED: Product field of type "Entry Defined" will also look for url_title in the URL instead of only the entry_id
  • BUG: Conditionals with a value of "0" where being removed

Forms 3.3.2

  • BUG: Hidden field was not being detected properly.

Forms 3.3.1

  • ADDED: {forms:fentry_hash}, fentry_hash="" and%FENTRY_HASH%
  • BUG: Field validation would not run on fields that where in columns
  • BUG: Multiple Form fieldtypes in the entry form would cancel each other

Forms 3.3.0

  • ADDED: Forms fields are not longer stored on a per-directory basis
  • ADDED: Compatibility with EE 2.5.4
  • ADDED: Form data is now sent along with the form in an encrypted format

Forms 3.2.7

  • ADDED: From/CC/BCC email template fields can now contain variables
  • ADDED: $config['forms']['action_url_from_server_vars']
  • BUG: In some cases the Forms CP Home Dashboard would show up on other CP Pages
  • BUG: PHP error in "Entries List" field if checkbox option was turned on

Forms 3.2.6

  • ADDED: ignore_ip="" parameter
  • ADDED: {forms:field:FIELDNAME} to {exp:forms:entries}
  • CHANGED: Upon submission Forms will try to convert UTF-8 characters to html entities
  • CHANGED: Fields that where not shown, their values are not going to be stored anymore
  • BUG: When duplicating an entry linked form the new form would still be linked to the old entry
  • BUG: Sometimes the wrong site_id was used to create forms

Forms 3.2.5

  • ADDED: Template parameters to override email template settings
  • BUG: Stripe js would not work when if jQuery Validation plugin was loaded on the same page
  • BUG: Optmized code to work better with structure in pagination
  • BUG: Datatable state saving should save the column positions

Forms 3.2.4

  • ADDED: queue_js="yes" to {exp:forms:form}
  • ADDED: {exp:forms:output_js}
  • ADDED: Support for Canadian dollar in Stripe
  • CHANGED: field description field is now a mysql TEXT field
  • BUG: PDF printing settings was not being populated correctly
  • BUG: Entry List field was not displaying it's submitted value
  • BUG: Bulk-Add was not working if you manually added the data

Forms 3.2.3

  • ADDED: Forms CP Home Dashboard
  • ADDED: Entry Defined product
  • BUG: Pagination sometimes didn't work with structure sites
  • BUG: Stripe would give error if product price was over $100
  • BUG: Field order where not correctly saved if columns where used

Forms 3.2.2

  • ADDED: "Cart Product" field can now be used in conditionals: Radio/Dropdown type only!
  • BUG: Date field dropdown was not working correctly

Forms 3.2.1

  • ADDED: Entry sort options to "Entries List" field
  • CHANGED: Products fields hidden by conditionals are not counted towards total anymore
  • CHANGED: Updated Date field storage format
  • BUG: Payment would be charged if there where required fields

Forms 3.2.0

  • ADDED: Cart: Product field
  • ADDED: Cart: Product Options field
  • ADDED: Cart: Quantity field
  • ADDED: Cart: Shipping field
  • ADDED: Cart: Total field
  • ADDED: Cart: Pay Aunet field
  • ADDED: Cart: Stripe field
  • ADDED: Cart: Payflow Pro field
  • ADDED: "Add Email To" options to Email field
  • ADDED: Duplicate Form button
  • ADDED: {fentry_id} as available variable in email templates
  • ADDED: Checkbox/Radio display options to Entries list
  • ADDED: Max entries restriction to Form settings
  • ADDED: Default Country option to Address Field
  • CHANGE: Validation routines will only be applied to those fields that where shown in the form (ex: Conditionals)
  • CHANGE: Email route field now should store the selected "label"
  • CHANGE: Columns & Fieldset fields are hidden from Export & View Submissions
  • BUG: Email routes where being limited to 3 entries
  • BUG: Forms Linked Fieldtype would fail in Updater
  • BUG: In the fieldtype fields in columns wouldn't save

Forms 3.1.2

  • ADDED: fentry_id="" to the Entries tag
  • ADDED: %FENTRY_ID% variable to the return url.
  • ADDED: format_multiple="" to the Entries tag (checkboxes/multiselect). Example: format_multiple="


  • ADDED: Mailchimp subscribers now get their First Name and Last Name mapped if a NAME field is present in the form.
  • CHANGED: In HTML fields all the script tags will be removed when in Composer mode.
  • CHANGED: Form Fields now have a min-height of 65px
  • BUG: Having a   html entity in the HTML field would cause a PHP error when saving the form
  • BUG: If a HTML field required a lot of space, the main Field holder would not expand in Composer Mode.
  • BUG: Hidden fields that contained variables with date formats would fail to render properly

Forms 3.1.0

  • ADDED: Support for cross/multi page conditionals!
  • ADDED: PDF Printing of Form Entries!
  • ADDED: Module Settings to change some system messages
  • ADDED: Option to submit the form to an external URL upon submission
  • ADDED: Option to disable the saving of the form entry
  • ADDED: CSS Classes for jQuery Validation Plugins
  • ADDED: Doubleclick on a field to open field settings!
  • ADDED: Option to hide the form if the you are returning from a form submission
  • ADDED: Force SSL option for Forms
  • CHANGED: Mailinglist field will now save yes/no
  • BUG: Workaround for reCaptcha language bug
  • BUG: Pagebreaks where not being saved correctly

Forms 3.0.1

  • CHANGE: Backported some JS to make Forms compatible with EE 2.3.1
  • BUG: Using the File Upload file would result in a missing language file error

Forms 3.0.0

  • ADDED: New UI! Both CP and Form Composer
  • ADDED: Field Conditionals!! Show/Hide fields
  • ADDED: Fieldset Field
  • ADDED: Column2, Columns3, Columns4 Fields!
  • ADDED: Override Field Label Position on a per field basis
  • ADDED: Override Field Label Display on a per field basis
  • ADDED: Support for Ip2Nation module V3
  • ADDED: Show field label override
  • BUG: Dollar signs where being stripped when sending emails
  • BUG: Time field was always displaying the current time instead of the stored time.

Forms 2.0.7

  • ADDED: {ex:forms:entries}
  • ADDED: Four Extension hooks: forms_submit_data_format_start, forms_submit_data_format_end, forms_submit_save_start, forms_submit_save_end
  • ADDED: Delete form entries function

Forms 2.0.6

  • ADDED: Forms Linked fieldtype, allows you to use an existing Stand Alone form in an entry.
  • ADDED: Forms linked to entry can now use the {field_name} {/field_name} inside {exp:channel:entries} to render form.
  • ADDED: Datepicker Date format option to the "Date" field
  • ADDED: You can now use form field variables in the form return URL
  • CHANGED: Inline is now the default display error method.
  • BUG: Having a required field on a page that has yet to be displayed would cause the form not to progress
  • BUG: The numbers field was triggering a PHP error when left empty.

Forms 2.0.5

  • ADDED: Field labels can be disabled if label placement is set to "Don't Show"
  • BUG: The email route field was ignoring duplicate emails

Forms 2.0.4

  • ADDED: {last_segment} and {segment_X} support to "Hidden Field"
  • ADDED: Added support for Structure pages. Requires small change in Structure extension file.
  • CHANGE: The "DropDown" field now allows you to have a empty value as the first selection
  • CHANGE: The form return url will redirect to the URL specified if it contains http:// (or https://), else it will generate an URL based of the current site_url
  • BUG: In some cases Field Descriptions where not saved correctly to the DB

Forms 2.0.3

  • ADDED: Notification Templates can now use EE Tags in the Template Field.
  • CHANGED: Changed the default option of Email fields to "Display if member email can be used"
  • CHANGED: When a Select/Multiselect field not set to "Enhanced UI", the chzn-select class will no longer be added
  • BUG: Drag & Dropping a dropdown field would trigger PHP errors if the form was immediately saved
  • BUG: Not specifying the default email address in the Email Route field, would result in a PHP error.
  • BUG: The entry export dialog would not show up in certain versions of Google Chrome
  • BUG: In some cases, saving a form through channel entry form would reset the field id's
  • BUG: User Notification Templates where not being properly parsed.

Forms 2.0.2

  • ADDED: Confirmation Message Options
  • ADDED: Text & Image Url options for "Next Page" buttons
  • ADDED: Extra validation to Name/Phone/Address/Time fields.
  • ADDED: Class for required fields "dform_required"
  • BUG: Google Chrome should correctly display fields order now

Forms 2.0.1

  • ADDED: {forms:total_form_errors} variable
  • ADDED: {forms:total_field_errors} variable
  • ADDED: {forms:form_errors} {/forms:form_errors} variable pair
  • ADDED: Snaptcha Support (

Uploaded the included files to the following folders

  1. Copy forms module folder to your /system/expressionengine/third_party/ folder.
  2. Copy the forms themes folder to your /themes/third_party/ folder.

Install the Add-On

  1. Visit the Modules page and click on Install
  2. Choose Install on both the Fieldtype, Module, and Extension.

Forms is now installed. Please visit the docs for setup, usage, and templating.

Currently no tutorials for this product.

Currently no troubleshooting documents for this product.