---
title: Create a Custom Input Field | SurveyJS Documentation
description: Learn about the various ways you can customize questions in the SurveyJS Form Library, from adding custom properties and creating new input types to integrating third-party components.
---

# Question Customization Options

SurveyJS Form Library offers a variety of ways to customize questions:

- [Add custom properties to question types](https://surveyjs.io/form-library/documentation/customize-question-types/add-custom-properties-to-a-form)\
Extend the functionality of built-in question types by adding custom properties.

- [Create specialized question types](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types)\
Define new question types by preconfiguring properties of existing built-in types.

- [Create composite question types](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types)\
Combine multiple questions into a single, reusable, and preconfigured question block.

- Integrate third-party components in [Angular](https://surveyjs.io/form-library/documentation/customize-question-types/third-party-component-integration-angular), [React](https://surveyjs.io/form-library/documentation/customize-question-types/third-party-component-integration-react), and [Vue 3](https://surveyjs.io/form-library/documentation/customize-question-types/third-party-component-integration-vue)\
Enhance your forms by embedding third-party UI components into SurveyJS questions.