Modals made easy for Vue Developers

The most powerful yet most light-weight modal library for Vue 3.

Buy Me A Coffee

Powerful Features

Custom Styling

Write your own CSS or bring libraries like Tailwind/WindiCSS.


Open and close modal programmatically with useModal() composable function.

Support Nuxt 3

SSR support with <Teleport> by default.

Rewrite with Typescript

Rewrite with Typescript for better DX.

Built-in HOCs

Provide Higher-Order Components including <VFullscreen>, <VBottomSheet>.


Will only bundle the components or composable functions required.

Contribution Guide

# Install packagespnpm install --shamefully-hoist# Build vue-final-modal library firstpnpm build:vfm# Run both docs and viteplaypnpm dev# Run docs: http://localhost:3000/pnpm dev:docs# Run viteplay: http://localhost:5173/pnpm dev:viteplay


Thank you to all the people who already contributed to vue-final-modal!

Made with contributors-img.

๐Ÿš€ If you have any ideas for optimization of vue-final-modal, feel free to open issues or pull requests.