type="select" on line
Build Vue 3 forms
A Vue form building framework that simplifies form structure, generation, validation, theming, submission, error handling, and more.
FormKit Pro Early Access.
FormKit just got more powerful! We're rolling out Early Access to Pro Inputs on a first-come-first-serve basis. Request access today!
Request access or check your status.
Everything for Vue forms in one package
FormKit is your one-stop solution for high-end Vue forms in your web applications. It includes everything you need — labels, help text, theming support, validation, form generation from JSON, accessibility, internationalization and more!
Validation built in
FormKit ships with over 20 built-in validation rules equipping you to smoothly guide users through their content entry. Custom async validation rules are supported out-of-the-box and are easy to author.
Not only that — FormKit ships with support for back-end error handling. Take your server-side error response object and give it to FormKit and you’ll get your error messages back on the inputs they belong to.
Powerful form generation
Even the most complex forms can be represented using FormKit schema. Written from the ground-up, FormKit's schema supports conditional rendering, boolean logic, comparison and arithmetic expressions, dynamic functions, and rendering of HTML and third-party Vue components.
Additionally, all FormKit inputs are built using schema allowing for selective overrides of markup with extremely high specificity.
pricePerUser on line
see the schema-powered form re-render.
Robust theming including Tailwind support
Everyone has their preferred way to apply styles to their Vue forms. Some prefer rolling their own CSS, some adopt opinionated UI frameworks, and others prefer creating custom combinations of utility classes from tools such as Tailwind. FormKit is flexible enough to support them all.
Open source and free to use
FormKit Core will always be open source and free to use within your projects. You can use FormKit Core — which aims to cover all native HTML input types — without worrying about licensing restrictions or fees.