Ninja Forms +
Layout and Styles

Drag and drop fields into columns and rows. Resize fields. Add backgrounds, adjust borders, and more. Design gorgeous forms without being a designer!

Do you want more out of your forms than the default look and feel?

Need to tweak the appearance of your form to better match your site?

Wish you could easily create rows and columns, resize fields, or tweak the way a form displays?

Just want to save time on aesthetic changes by making them in your form builder instead of editing your theme?

Changing the layout and styles of a WordPress form usually requires manually editing files with CSS code. Even if you know CSS well, it can be a time consuming process. For those of us that don’t know CSS at all or lack the expertise to use it well, it can be an intimidating and frustrating experience.

There’s a better way to style your WordPress forms, without editing files or mastering CSS: Layout and Styles for Ninja Forms!

Effortlessly drag & drop fields to change the layout of any of your WordPress forms!

Create multi-column or row layouts literally by dragging and dropping fields into the arrangement you want!


Resize columns and fields simply by clicking and dragging your mouse!


Easily move entire rows to organize your form and nail the perfect layout for your guests to complete!


Just as illustrated in the images above, none of these steps require any editing or any knowledge of CSS code whatsoever. With Layout and Styles’ drag-and-drop interface, you can sculpt beautiful form layouts in next to no time at all with zero knowledge of code!

Easily customize your form’s styling without ever opening a theme file

Using Layout and Styles, nearly every aspect of your form’s appearance can be changed within your form builder. You’ll find global form styling options under the Advanced menu of your form builder. Each field can be styled individually as well simply by opening that field’s settings window.

layout and styles global styling window

Beautiful styling becomes incredibly easy without the need to master CSS!

Directly from the form builder with Layout and Styles, you can:

  • Easily add styles to form elements, labels, and wrappers.
  • Add default styles to elements, and/or specify styles by element type, form, or form field.
  • Easily style standard form components: datepicker, success message, even and odd field rows, etc.
  • Add styles to your form’s success and error messages.
  • Export and import styles.

Who should use Layout & Styles?

  • Everyone who wants to make small changes to their forms, but knows little to no CSS.
  • Anyone who likes lots of options, fine-grained control, and likes to experiment
  • Anyone who knows CSS very well and wants to speed up the process of styling a Ninja Form
Frequently Asked Questions

Do I have to use code to style a form?

You don’t have to use code to style a form! Most features in Layout & Styles let you simply drag and drop things into place, or sometimes enter values into settings. Only advanced settings require any CSS knowledge.

Will my contact forms be mobile friendly with Layout & Styles?

Your contact forms will be mobile friendly with Layout & Styles as long as your theme has proper rules in place to handle responsive scaling, like reducing the number of columns on smaller screen resolutions.

What type of support is available to Ninja Forms customers?

We have a dedicated support team standing by to help with anything you may need. We’re available 9am-4pm EST, Mon-Fri, and strive to answer all customer requests within 24 hours.

How do Ninja Forms licenses work?

Licenses are subscription based and will auto-renew each year unless cancelled. If cancelled, you may still use your extensions but will no longer receive important updates or support once the license expires.

Can I get a demo or trial of Ninja Forms add-ons before I buy?

We don’t have a demo or trial version of our add-ons, but we do offer a 14 day full refund policy for any reason whatsoever.


3.0.28 (9 October 2019)


  • Styles should now be honored on all forms when there are multiple copies of the same form on a page.


  • Added support for styling file upload fields.

3.0.27 (12 June 2019)


  • Cleaned up a few older scripts that were slowing things down in the form builder. Drag and drop should now be more performant.

3.0.26 (4 April 2019)


  • Resolved an issue that was flooding error logs with warnings in php 7.3.

3.0.25 (19 September 2017)


  • Fixed a bug with Required Fields not being properly validated on submission.

3.0.24 (15 September 2017)


  • Reverts unnecessary changes, where the compatibility issue with Multi-Part is solved in Multi-Part.

3.0.23 (14 September 2017)


  • Re-release with missing files.

3.0.22 (13 September 2017)


  • Fixed a bug with PHP Warning messages in the generated CSS output.
  • Fixed a bug with field duplication.

3.0.21 (02 August 2017)


  • Fixed a bug that caused calculations to fail when using Layout & Styles, Multi-Part Forms, and Conditional Logic.

3.0.20 (21 June 2017)


  • Added a button to \”remove all styles\” from the plugin-wide styling section.

3.0.19 (02 May 2017)


  • Added Multi-Part Forms plugin styles if the Multi-Part Forms add-on is active.

3.0.18 (11 April 2017)


  • Forms should now import with proper field orders in all installations.

3.0.17 (17 March 2017)


  • Completed a deep-dive of all plugin-wide styling settings. They should all work properly now.

3.0.16 (07 March 2017)


  • Fixed a bug that could cause the builder to crash without warning in some instances.

3.0.15 (02 Februrary 2017)


  • Fixed a PHP warning about unset variables.

3.0.14 (26 January 2017)


  • Added a filter for Ninja Forms version 3.0.25 that allows Layout & Styles to correctly order fields in submissions.

3.0.13 (19 January 2017)


  • Saved fields can now be properly dragged onto rows and dividers.

3.0.12 (21 November 2016)


  • Field styles should apply properly on the front-end in all cases.

3.0.11 (26 October 2016)


  • Fixed a bug that was introduced in version 3.0.10 that caused rows with empty columns to be removed.
  • Sometimes column widths were totalling over 100%. This caused fields to wrap around to a new row.

3.0.10 (17 October 2016)


  • Corrupt data should no longer cause Layouts to crash the builder with an \”undefined ParentNode\” error.

3.0.9 (12 October 2016)


  • Added better error handling for missing field types. This should prevent some JS errors from being thrown on display.

3.0.8 (28 September 2016)


  • Fixed a bug that caused field order to randomise when sorting fields between cells and rows.
  • Fixed a bug with template imports that caused templates to fail.
  • Added version number to script inclusion to help prevent caching issues.
  • Fixed a bug with hover styles not being applied to submit buttons.

3.0.7 (26 September 2016)


  • Fixed a bug with conversion from the RC of Ninja Forms.

3.0.6 (11 September 2016)


  • Fixed a bug with conversion and invalid form layouts.

3.0.5 (09 September 2016)

  • Fixed a bug with conversion.

3.0.4 (08 September 2016)


  • Fixed a bug with applying plugin wide styles.

3.0.3 (06 September 2016)


  • Compatibility with Multi-Part Forms v3.0.

3.0.2 (06 September 2016)


  • Improved conversion efficiency.
  • Compatibility with Multi-Part Forms v3.0.

3.0.1 (27 July 2016)


  • Fixed a bug that could break form conversion in Ninja Forms.


  • Updated with Ninja Forms v3.x compatibility
  • Deprecated Ninja Forms v2.9.x compatible code

1.2.7 (12 May 2015)


  • Fixed a bug that could cause column layouts to fail even when they are correct.

1.2.6 (17 March 2015)


  • Fixed an issue with browser caching that could cause older versions of JavaScript files to load.

1.2.5 (4 March 2015)


  • Fixed a bug that removed the Multi-Part Styles section if that extension was also activated.

1.2.4 (3 March 2015)


  • Fixed a bug that could cause a fatal error if Ninja Forms core was deactivated.

1.2.3 (4 February 2015)


  • Preparing for compatibility with Ninja Forms version 2.9.

1.2.2 (24 November 2014)


  • Fixed a bug that could prevent field layouts from saving properly.

1.2.1 (17 November 2014)


  • Adding a warning for a common invalid column layout error.


  • Fixed a bug with default styling.
  • Updated support for i18n.



  • Fixed a bug that prevented the new options from showing up.


  • Added rating-specific styles on a per-field basis.
  • Added individual styling to rating fields.
  • Converting Layout and Styles over to the new Ninja Forms loading class.
  • Added per form title styling.



  • Fixed a bug that prevented multi-part pages from being added on the Layout and Styles tab.
  • Fixed some CSS specificity errors with textboxes and textareas.


  • Admin scripts should now load the min or dev versions based on the NINJA_FORMS_JS_DEBUG constant.
  • Added display selector.
  • Adjusted what\’s advanced and what\’s basic.
  • Limited some selectors from Default Field Styles.
  • Moved styles to be output before form and not after.



  • Fixed a bug that could cause multi-part forms to behave incorrectly when styled.
  • Adjusted a CSS selector that could cause styles from not applying properly.



  • Fixed a fairly major bug with Layout & Styles and Multi-Part forms that could cause multi-columned pages to behave incorrectly.



  • Added additional styles for core such as an error selector fix, form title, button and hover. Also added styles for MP Page Titles, and pre / next hovers.



  • Changed the license and auto-update system to the one available in Ninja Forms 2.2.47.



  • Fixed a bug that prevented previous and next button in multi-part forms to be styles.


  • improved i18n compatibility.



  • Changed references to to the new



  • Fixed a bug that prevented the per form hover state styles being applied to submit buttons.



  • Fixed a bug that prevented List fields from working properly on the Default Field Styles tab.



  • Updates for compatibility with WordPress 3.6



  • Fixed a visual bug with the placement of the Form Settings metabox.



  • Fixed a bug that was preventing the \”Field Type Settings\” tab from working properly.



  • The selector used for the \”next\” and \”previous\” buttons in Multi-Part Forms has been changed.
  • Added \”Page\” styles for use with AJAX submissions and Multi-Part Forms.



  • Added new AJAX submissions and Multi-Part Forms styling options.



  • Added a filter to the fields array that is output on the layout editing screen.




  • Fixed a bug that could cause the \”Error Message Styles\” from saving properly.



  • The admin JS file should now include properly on sites using versions of WordPress before 3.5.



  • Added styling options for Multi-Part Forms elements.


  • Fixed a bug in the minified JS.


  • Fixed a bug that prevented some users from activating their installations.


  • Initial release