Formily vs VeeValidate
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A form library for React and Vue that handles complex and JSON-schema-driven forms.
Open source · MIT
A library for building and validating forms in Vue.js apps.
The short answer
Choose Formily if you need…
- Frontend developers building data-heavy forms with many linked fields
- Teams that want forms generated from JSON Schema sent by a back end
- Projects already using Ant Design or Alibaba Fusion components
- Teams that want a visual form builder (Designable) alongside the library
Choose VeeValidate if you need…
- Vue developers who need form validation without writing it from scratch
- Teams building Vue 3 forms with synchronous or asynchronous rules
- Projects that use an existing UI component library alongside custom inputs
- Developers who prefer a small library that leaves the rest of the app to them
Side-by-side
| Formily | VeeValidate | |
|---|---|---|
| Type | Library | Library |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 12.6k | 11.3k |
| Setup difficulty | Intermediate | Intermediate |
| How you get it | Install with a package manager | Install with a package manager |
| Main language | TypeScript | TypeScript |
| Last code update | 17 months ago | 8 months ago |
What each one is
Formily
Formily is a TypeScript form library that helps developers build forms in React, React Native, Vue 2, and Vue 3. It manages each field's state separately so large forms with many linked fields don't re-render the whole page. It also supports JSON Schema, so forms can be described as data, for example by a back end.
VeeValidate
vee-validate is a JavaScript library for Vue.js that handles form validation, such as checking required fields and tracking error messages. It offers a composition API (useForm, defineField) and declarative Field and Form components, and it works with native HTML inputs or UI library components. A companion package provides built-in validation rules.
Best for
Formily
- Frontend developers building data-heavy forms with many linked fields
- Teams that want forms generated from JSON Schema sent by a back end
- Projects already using Ant Design or Alibaba Fusion components
- Teams that want a visual form builder (Designable) alongside the library
VeeValidate
- Vue developers who need form validation without writing it from scratch
- Teams building Vue 3 forms with synchronous or asynchronous rules
- Projects that use an existing UI component library alongside custom inputs
- Developers who prefer a small library that leaves the rest of the app to them
Strengths
Formily
- The README says field state is managed independently, which aims to avoid slow re-renders in linked forms
- Supports converting between JSON Schema and its own JSchema format
- Released under the permissive MIT license
VeeValidate
- Supports both the composition API and declarative components, so it fits different coding styles
- Works with native HTML elements and UI library components
- Large community use, with 11,259 stars and an active npm package
Not ideal for
Formily
- Simple forms with a few inputs, where a lighter library is enough
- Projects not using React or Vue, since the README lists only those frameworks
- Non-developers who want a no-code form tool; the README describes it as a developer library
VeeValidate
- Non-developers, since it requires writing Vue code to use
- Vue 2 projects, because the main v4 line supports Vue 3 only; older Vue versions need the v2 or v3 releases listed in the README
- Projects not using Vue.js, since it is built specifically for Vue
Trade-offs
Formily
- The README is short and covers little API detail, so setup needs the official documentation site
- The README mentions two website versions (1.0 and 2.0), so check you are reading the right docs
VeeValidate
- The main v4 line supports Vue 3 only, so older Vue projects need different versions
- Requires understanding of Vue reactivity and component patterns to use well
- The README is brief on details; full usage is in the external documentation site
Getting started
VeeValidate
Install with yarn
yarn add vee-validateInstall with npm
npm install vee-validate --saveFrequently asked questions
What is the difference between Formily and VeeValidate?
Formily: A form library for React and Vue that handles complex and JSON-schema-driven forms. VeeValidate: A library for building and validating forms in Vue.js apps. Formily suits frontend developers building data-heavy forms with many linked fields, while VeeValidate suits vue developers who need form validation without writing it from scratch.
Are Formily and VeeValidate free?
Formily: Free and open source. VeeValidate: Free and open source.
Is Formily or VeeValidate more popular?
Formily has more GitHub stars (12.6k) than VeeValidate (11.3k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to Formily and VeeValidate?
Other options people compare them with include React Hook Form, Ajv, VueUse, SoybeanAdmin, redux-form.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.