# Creating New Type

While offering a wide range of answer types there are times when you might need to build your own answer type to meet a specific business case. ngSurvey allows your to create new answer types with or without programming knowledge.

You may create following types of answer types.

* [Custom fields](https://docs.ngsurvey.com/form-management/form-designer/answers/answer-types/creating-new-type/custom-validation-code) with your own custom javascript validation code.
* [Data source lists of items](https://docs.ngsurvey.com/form-management/form-designer/answers/answer-types/creating-new-type/lists) to create lists that are build using a collection of text / value based items. Those lists can be build either from scratch or you may re-use existing data from a JSON REST API endpoint or from a Microsoft SQL Server database table.
* [Widgets](https://docs.ngsurvey.com/form-management/form-designer/answers/answer-types/creating-new-type/widget) to create a powerful javascript, html and css based answer types. Using widgets you may develop almost any kind of functionality that you would miss in ngSurvey to collect data.

## ➕ Adding a new answer type

To create a new answer type you may click on the **+** icon to open the answer editing interface to add your type.

![](https://1025048312-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M8fLhS0bmfBRyq0HdUm%2F-MBzXkzKdmRcF4VDpqgo%2F-MBzXqs2qPjFomvfnWLl%2Fimage.png?alt=media\&token=e7916c27-f3fd-4dff-85eb-30bfbca3eae0)

{% hint style="info" %}
New answer types can only be used and seen by the account that creates them.
{% endhint %}
