/formkit

Vue Forms ⚡️ Supercharged

Primary LanguageTypeScriptMIT LicenseMIT

FormKit Logo FormKit Logo

GitHub Build Status npm GitHub

Documentation website

FormKit (Beta)

Vue 3 form development. 10x faster.

FormKit is a form-authoring framework for Vue developers that makes building high quality production-ready forms 10x faster. It is easy-to-learn and ships with production-ready scaffolding like inputs, forms, submission and error handling, and validation rules. To learn more check out the documentation website at: formkit.com.

Sponsors

FormKit — which supports its whole feature set for native HTML inputs (like select, checkbox, and textarea) — is and will always be an MIT-licensed open source project. Please consider sponsoring FormKit so we can sustainably and continually improve it! There are a variety of sponsor tiers and benefits for each sponsor.

🥈 Silver sponsors

Peak Crypto

🥉 Bronze sponsors

PerByte logo

Zammad logo

Backers

uscreen, gfenn08, Ryan E, João Bondim

Key features

☝️ Comprehensive package

FormKit is an all-in-one form-authoring framework with input scaffolding (labels, help text, etc.), validation, form UI & styling, error handling, generation, a11y, i18n, and more!

😎 Developer happiness

Forms are everywhere, yet surprisingly tedious to author — well, not anymore. FormKit provides a powerful and flexible API to developers that makes complex form creation a breeze.

🎯 Validation built in

Ridiculously easy validation out-of-the-box to handle 95% of use-cases. Help text, validation rules, and validation messages are simple props. Need more? You can add custom validation rules too.

⚡️ Blazing-fast Performance

FormKit can handle the most demanding forms — wizards, multi-step, deeply nested repeating groups, and more.

🔌 Plugin system

Extend FormKit's functionality or reuse custom inputs, validation rules and messages across projects by tapping into the plugin system. Make your plugin open source to share with others!

✨ Generate forms

Generate an entire form from a JSON-compatible schema. Schema allows you to render complex forms from JSON with conditional rendering, logic, dynamic data, groups, wrappers, HTML elements, and custom components.

🎨 Robust Theming

FormKit works easily alongside your favorite UI frameworks like Bootstrap and utility-class tools like Tailwind. With numerous ways to modify classes and DOM structure, integrating FormKit plays nicely with any frontend.

🌐 Internationalization

FormKit is made for all! Thanks to the FormKit community, FormKit ships with support for many languages. Don't see your language? Contribute one with our locale builder.

Contributing

Thank you for your willingness to contribute to this free and open source project! When contributing, consider first discussing your desired change with the core team via GitHub issues, Discord, or other method.

Contributors

This project exists thanks to all the people who volunteer their time to contribute!

License

MIT

Copyright (c) 2021-present, FormKit, Inc.