Build High-Quality
Vue.js form components
A suite of Vue.js composables designed to enhance your forms with built-in behaviors, interactions, internationalization, and accessibility, seamlessly integrating with your markup and styles.
Craft with your own styles.
Formwerk provides a blank canvas, free of predefined styles or HTML, enabling you to craft a custom design system using any styling or animation library. Each composable integrates with its designated elements, managing behavior and state while leaving the structure and styling entirely in your hands.
Preview
Thoughtfully accessible.
Aria Semantics
Formwerk follows the W3C ARIA Authoring Practices Guide, ensuring proper aria attributes and keyboard interactions for all input types.
Adaptive Attributes
You can use almost any HTML markup you prefer. The attributes and listeners will adapt based on the elements you use.
Built for international users.
Formwerk is built for international audiences, with support for RTL, localized number formatting and parsing with multiple numbering systems, and integrates with vue-i18n and nuxt-i18n.
Polished built-in interactions.
All components built with Formwerk will have the keyboard shortcuts, focus management, and behaviors that your users expect and rely on.
Try the following interactions:
- Focus the field, then press ⎵Space.
- Move through the list with ↓ and ↑.
- Select the focused option with ↩ or ⎵.
- Find "Egypt" in the list by typing "E...".
- Focus the last option with End or ⇟Page Down.
- Focus the first option with Home or ⇞Page Up.
Supercharge your forms.
Formwerk doesn't just help you build form controls, it also tackles the most annoying parts about forms, like value tracking, submissions, form groups, and repeaters. Also, validation with HTML attributes or with schema providers like Zod, Valibot, or Arktype, and more.
Zod
Start with Starter Kits!
To get you started quickly, we are working on a few starter kits for you that you can easily copy into your project. You can choose the starting point that suits you the most and then make it your own.
Frequently Asked Questions
Who is Formwerk for?
Formwerk is for developers who want to build high-quality, scalable forms. It is ideal for those building internal UI design systems or UI libraries intended for other developers.
How large is the bundle size?
Formwerk is tree-shakable, meaning only the composables you use will be included in your bundle. The total bundle size is around 18.2 kB gzipped.
What validation options does Formwerk provide?
Out of the box, you can use HTML validation attributes without any additional dependencies. Formwerk also supports Schema Standards, allowing you to use Zod, Valibot, Arktype, and other validation libraries with your forms.
What kind of composables are within the scope of Formwerk?
Any functionality related to forms or form management falls within Formwerk's scope. Beyond typical form components, we welcome suggestions for useful composables that could enhance form development.