vant

A lightweight, customizable Vue UI library for mobile web apps.

24,365 stars TypeScript Markdown Skills API Spec #components#mobile#ui-kit#ui-library
AI Prompts & Specs

Repository: youzan/vant


Stars: 24276

README.md

<p align="center">
<img alt="logo" src="https://fastly.jsdelivr.net/npm/@vant/assets/logo.png" width="120" height="120" style="margin-bottom: 10px;">
</p>

<h1 align="center">Vant</h1>

<p align="center">A lightweight, customizable Vue UI library for mobile web apps.</p>

<p align="center">
<img src="https://img.shields.io/npm/v/vant?style=flat-square" alt="npm version" />
<img src="https://img.shields.io/codecov/c/github/youzan/vant/main.svg?style=flat-square&color=#4fc08d" alt="Coverage Status" />
<img src="https://img.shields.io/npm/dm/vant.svg?style=flat-square&color=#4fc08d" alt="downloads" />
</p>

<p align="center">
<a href="https://vant-ui.github.io/vant">Documentation</a>
&nbsp;
Β·
&nbsp;
<a href="https://vant.pro/vant/">Documentation (backup)</a>
&nbsp;
Β·
&nbsp;
<a href="./README.zh-CN.md">中文介绍</a>
</p>

---

Features

- πŸš€ 1KB Component average size (min+gzip)
- πŸš€ 80+ High quality components
- πŸš€ Zero third-party dependencies
- πŸ’ͺ 90%+ Unit test coverage
- πŸ’ͺ Written in TypeScript
- πŸ“– Extensive documentation and demos
- πŸ“– Provide Sketch and Axure design resources
- 🍭 Support Vue 2 & Vue 3
- 🍭 Support Nuxt 2 & Nuxt 3, provide Vant Module for Nuxt
- 🍭 Support Tree Shaking
- 🍭 Support Custom Theme
- 🍭 Support Accessibility (still improving)
- 🍭 Support Dark Mode
- 🍭 Support SSR
- 🌍 Support i18n, built-in 30+ languages

Install

Using npm to install:

bash

install latest Vant for Vue 3 project


npm i vant

install Vant 2 for Vue 2 project


npm i vant@latest-v2

Using yarn, pnpm, or bun:

bash

with yarn


yarn add vant

with pnpm


pnpm add vant

with Bun


bun add vant

Scaffold

It is recommended to use Rsbuild to create a scaffold project.

Rsbuild is a build tool based on Rspack, developed by the author of Vant, with first-class build speed and development experience, providing first-priority support for Vant.

You can create a Rsbuild project with the following command:

bash
npm create rsbuild@latest

Please visit the Rsbuild repository for more information.

Quickstart

js
import { createApp } from 'vue';
// 1. Import the components you need
import { Button } from 'vant';
// 2. Import the components style
import 'vant/lib/index.css';

const app = createApp();

// 3. Register the components you need
app.use(Button);

See more in Quickstart.

Browser Support

Vant 2 supports modern browsers and Android >= 4.0、iOS >= 8.0.

Vant 3/4 supports modern browsers and Chrome >= 51、iOS >= 10.0 (same as Vue 3).

Official Ecosystem

| Project | Description |
| --- | --- |
| vant-weapp | WeChat MiniProgram UI |
| vant-demo | Collection of Vant demos |
| vant-cli | Scaffold for UI library |
| vant-icons | Vant icons |
| vant-touch-emulator | Using vant in desktop browsers |
| vant-nuxt | Vant module for Nuxt |

Community Ecosystem

| Project | Description |
| --- | --- |
| 3lang3/react-vant | React mobile UI Components based on Vant |
| vant-theme | Online theme preview built on Vant UI |
| @antmjs/vantui | Mobile UI Components based on Vant, supporting Taro and React |
| Taroify | Taroify is the Taro version of Vant |
| vant-playground | Vant Playground |
| sfc-playground-vant | Vant Playground |
| vue3-h5-template | Mobile project template based on Vant |
| vue3-vant-mobile | Mobile project template based on Vant, out of the box |
| vscode-common-intellisense | A VS Code extension that provides better intellisense to Vant developers |
| nuxt-vant-mobile | Nuxt _⁴_ project template based on Vant, out of the box |
| mobvue | A well-crafted mobile web app template |

- Documentation
- Documentation (backup)
- Changelog
- Discussions

Preview

You can scan the following QR code to access the demo:

<img src="https://fastly.jsdelivr.net/npm/@vant/assets/preview-qrcode.png" width="220" height="220" >

Core Team

Core contributors of Vant and Vant Weapp:

| ![chenjiahan](https://github.com/chenjiahan/) | ![cookfront](https://github.com/cookfront/) | ![w91](https://github.com/w91/) | ![pangxie1991](https://github.com/pangxie1991/) | ![rex-zsd](https://github.com/rex-zsd/) | ![nemo-shen](https://github.com/nemo-shen/) |
| :-: | :-: | :-: | :-: | :-: | :-: |
| chenjiahan | cookfront | wangnaiyi | pangxie | rex-zsd | nemo-shen |

| ![Lindysen](https://github.com/Lindysen/) | ![JakeLaoyu](https://github.com/JakeLaoyu/) | ![landluck](https://github.com/landluck/) | ![wjw-gavin](https://github.com/wjw-gavin/) | ![inottn](https://github.com/inottn/) | ![zhousg](https://github.com/zhousg/) |
| :-: | :-: | :-: | :-: | :-: | :-: |
| Lindysen | JakeLaoyu | landluck | wjw-gavin | inottn | zhousg |

All Contributors

Thanks to the following friends for their contributions to Vant:

<a href="https://github.com/vant-ui/vant/graphs/contributors">
<img src="https://opencollective.com/vant/contributors.svg?width=890&button=false" alt="contributors">
</a>

Contribution Guide

Please make sure to read the Contributing Guide before making a pull request.

Start On Web IDE

https://github.dev/youzan/vant

LICENSE

Vant is MIT licensed.