---
title: Form Builder
related:
  - https://docs.kentico.com/documentation/business-users/digital-marketing/forms.md
  - https://docs.kentico.com/documentation/developers-and-admins/customization/extend-the-administration-interface.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

The Xperience Form Builder offers an intuitive graphical editor that allows content creators and marketers to [compose online forms](https://docs.kentico.com/documentation/business-users/digital-marketing/forms.md). It is available on the **Form Builder** tab of the **Forms** application when editing a form.

![Xperience Form Builder interface](https://docs.kentico.com/docsassets/documentation/form-builder/FormBuilderUIOverview.png "Xperience Form Builder interface")

## Displaying forms

Forms created in the Form Builder can be displayed on the website in the following ways:

- Content editors can [place](https://docs.kentico.com/documentation/business-users/digital-marketing/forms/display-forms-on-pages.md) the forms onto the live site as widgets using the [Page Builder](https://docs.kentico.com/documentation/business-users/website-content/widgets-and-page-builder.md).
- Developers can add forms directly into the views of pages by [rendering](https://docs.kentico.com/documentation/developers-and-admins/development/builders/page-builder/render-widgets-in-code.md) the _Form_ widget.

## Form Builder components

The Form Builder framework consists of a number of component types, each contributing specific functionality.

#### Form sections

[Form sections](https://docs.kentico.com/documentation/developers-and-admins/development/builders/form-builder/form-sections.md) drive the overall layout of forms. They represent reusable pieces of markup that can store any number of form zones – areas where content creators place form fields. Sections are fully customizable, and as a developer, you have absolute freedom in the way you set each section's layout. Form sections can be implemented with [properties](https://docs.kentico.com/documentation/developers-and-admins/development/builders/form-builder/form-sections/form-section-properties.md), which allow content editors to adjust the content or behavior of the sections using configuration dialogs in the Form Builder interface.

See [Form sections](https://docs.kentico.com/documentation/developers-and-admins/development/builders/form-builder/form-sections.md) to learn how to implement and customize form sections.

#### Form components

The main building blocks of forms are [form components](https://docs.kentico.com/documentation/developers-and-admins/development/builders/form-builder/form-components.md) – instances of components represent individual form fields. The implementation of form components consists of two classes, one facilitating the front-end functionality, the other encapsulating the state as configured via the Form Builder's properties panel, and a corresponding partial view, providing the component's visual elements.

Natively, Xperience contains a set of form components available for use instantly, without the need of any custom development on your part. See [Reference - Form Builder components](https://docs.kentico.com/documentation/developers-and-admins/development/builders/form-builder/reference-form-builder-components.md) for a comprehensive list. You can also implement form components suited for your specific scenarios. See [Form components](https://docs.kentico.com/documentation/developers-and-admins/development/builders/form-builder/form-components.md) for more information and a general overview.

#### Validation rules

Validation rules enforce constraints on form field inputs. For example, you can limit the maximum allowed text length or the highest number a user can enter into a field. Editors can [add validation rules](https://docs.kentico.com/documentation/business-users/digital-marketing/forms/create-and-edit-forms.md#field-validation) when configuring individual fields in the Form Builder UI.

Learn how to implement custom validation rules in [Form Builder validation rules](https://docs.kentico.com/documentation/developers-and-admins/development/builders/form-builder/form-builder-validation-rules.md).

Components need to be registered under a unique _Identifier,_ with a _Name_ that is displayed in the Form Builder interface.

## Form Builder utilities

The system provides a set of extension methods and ASP.NET Core [Tag Helpers](https://docs.kentico.com/documentation/developers-and-admins/development/reference-tag-helpers.md) designed to facilitate development of new Form Builder components. To easily access these extension methods in the code of your views, edit your project's **Views\ViewImports.cshtml** file and:

- add the `Kentico.Forms.Web.Mvc` namespace
- add the Tag Helpers from the `Kentico.Content.Web.Mvc` namespace

```cshtml title="ViewImports.cshtml"
@using Kentico.Forms.Web.Mvc

...

@addTagHelper *, Kentico.Content.Web.Mvc
```

Alternatively, you can add these directly in the code of individual views.
