Generic selectors
Exact matches only
Search in title
Search in content

How to apply custom CSS to your 123FormBuilder form

Our form builder offers many build-in theme options that you can choose from. Basically, you can change just about anything on your web form, from text font and color to the style of the submit button.

Additionally, you can go the extra mile and emphasize the look of your web forms with custom CSS codes using our CSS form generator. In this article, we will show you a few alterations that you can bring to your form fields.

First, go to the Design section. Next, click on the Add custom CSS button. Here you can create and paste all your CSS codes to stylize the form.

Add custom CSS

Now that you know where the location of the codes will be, let’s check some general CSS codes:

  • Input – these attributes will change all input fields.
#form div[data-role=control] input[data-role=i123-input]:not([type=radio]):not([type=checkbox]):not([type=reset]):not([type=hidden]):not([data-no-theme]), #form div[data-role=control] select[data-role=i123-input], #form div[data-role=control] textarea[data-role=i123-input], #form div[data-role=control] div[data-role=i123-input]:not([data-type=file]), #form div[data-role=control] div[data-role=i123-input][data-type=file] > div[data-role=upload-overlay], #form div[data-role=control] div[data-role=i123-input][data-type=file] > div[data-role=abort-all-uploads], #form div[data-role=control][data-type=check-box] input[data-role=other], #form div[data-role=control][data-type=radio] input[data-role=other], #form div[data-role="control"] div[data-role="price-container"], #form div[data-role="control"] div[data-role="price-container"] > input, #form div[data-role="control"] div[data-role="input-container"], #form div[data-role="control"] div[data-role="input-container"] > input


With this code, we changed the background color of the input boxes to a light blue color. You can further add as many CSS properties and style your form as you need. Here is the result:

Input CSS
  • Placeholder text – change the color of the information found in an input field. (e.g. Street Address, City, First, Last).
#form div[data-role=control] input::placeholder

color: #5bd9cc!important; 

Placeholder text CSS
  • Choices – change the appearance of the choices (Single choice and Multiple choice fields).
#form [data-role=control][data-type=check-box] [data-role=input-row] label[data-role=choice], #form [data-role=control][data-type=radio] [data-role=input-row] label[data-role=choice], #form [data-role=control] [data-role=input-row] label[data-role=tos-label]


Choices CSS
  • Dropdown placeholder text


Dropdown placeholder CSS
  • Buttons – adjust the shape and style of your form buttons with this CSS code.
#form button[data-role]

font-family: 'Open Sans', sans-serif; 
font-size: 14px; 
font-weight: normal; 
font-style: normal; 
line-height: 2em; 
padding: 0px 15px; 
margin: 0 8px 0 calc(16px / 2); 
border-width: 1px; 
border-style: solid; 
min-height: calc( 0px + 2em + 35px );
margin-top: 8px; 

This code will create rounded buttons. To see the effect click on Preview on the top right corner.

Buttons CSS

  • Label text
#form div[data-role=control] label[data-role=label], #form div[data-role=container][data-type=likert-wrapper] label[data-role=label], #form div[data-role=container][data-type=repeatable] label[data-role=label]


Label text CSS
  • Form Header text
#form>div[data-role=page]>div[data-role=page-header] h1, #form>div[data-role=page]>div[data-role=page-header] h2, #form>div[data-role=page]>div[data-role=page-header] h3, #form>div[data-role=page]>div[data-role=page-header] h4, #form>div[data-role=page]>div[data-role=page-header] h5, #form>div[data-role=page]>div[data-role=page-header] h6


Form header CSS
  • HTML Block fields
#form div[data-role=control][data-type=html-block] *


HTML block CSS
  • Heading fields
#form div[data-role=control] h1, #form div[data-role=control] h2, #form div[data-role=control] h3, #form div[data-role=control] h4, #form div[data-role=control] h5, #form div[data-role=control] h6


Heading CSS


  1. Thanks for a great service!

    The only thing missing from the form definitions is the placeholder text colour, which seems to be the same as the main text field colour – I find this confusing, especially for Name fields. I managed to change it with:

    #form div[data-role=control] input::placeholder {
    color: lightgrey!important;

    1. Hello! Thank you for commenting and for sharing this with us. We edited the article and included this useful CSS code. Thank you once more and have a great day!

  2. I wanted to stop the copy and paste command on the input fields of my form. that is I wanted them to only type the text not paste it or copy it. I used following code to stop it
    body {
    -webkit-user-select: none !important;
    -moz-user-select: -moz-none !important;
    -ms-user-select: none !important;
    user-select: none !important;

    Through this code I was able to stop the selection of label fields etc, but I was able to paste in text fields. Further I used the code

    open override func target(forAction action: Selector, withSender sender: Any?) -> Any? {
    guard isReadonly else {
    return action, withSender: sender)

    if #available(iOS 10, *) {
    if action == #selector(UIResponderStandardEditActions.paste(_:)) {
    return nil
    } else {
    if action == #selector(paste(_:)) {
    return nil

    return action, withSender: sender)

    Even then I was unable to stop the paste command in text fields. Kindly give me solution because I want to create a form where I can stop the copy and paste command for the input text

    1. Hello, kindly note that what you want to achieve can be done only by creating a javascript and add the script URL on the form. On the other side, please note that we do not offer support in creating scripts, we only offer the possibility to add scripts on the form and Thank You Page.

Leave a Reply

Your email address will not be published. Required fields are marked *

Frequently Asked Questions

Here is a list of the most frequently asked questions. For more FAQs, please browse through the FAQs page.

Is this service free?
Yes, we offer a free form builder service. Just sign up to the Basic plan and you are all set. This plan is forever free, but you are limited with a few features only, such as 5 forms per account, 100 submissions per month and you have to keep the backlink to 123FormBuilder on your forms. Check out our features matrix for more information.
How many forms can I create?
It depends on the service plan you are on. Higher service plans enable more features, including more web forms for your account. If you need more forms, go to the My Account section of your account and click the upgrade button. To create an unlimited number of forms, either upgrade to the Platinum service plan or higher. Consult our features matrix for more information.
How can I publish my forms?
You can publish your forms in many ways, by using their direct URL or HTML link, embedding them with a JavaScript code, Inline HTML or iFrame, using the Facebook app or the WordPress plugin, using popups, the Blogger code snippet and many more. Once you have created and customized your form, go to the Publish section to complete your work. Read more in our documentation.
How do I change my form design?
You can change the design of your form for more information. in the Themes section, which is located in your form settings. We offer a set of more than 30 predefined form themes for your forms, but you can also create your own from scratch. You can customize the submit button, the logo and more. To apply your own stylesheets, all forms come with a custom CSS editor.

Can't find what you're looking for?