Skip to content

A feature-rich Portal Plugin for Vue 3, for rendering DOM outside of a component, anywhere in your app or the entire document. (Vue 2 version:



Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
December 21, 2022 17:51
December 18, 2022 16:48
November 25, 2023 20:14
December 18, 2022 16:48
December 11, 2022 11:52
December 27, 2018 23:20
February 16, 2021 18:22
February 16, 2021 18:31
December 18, 2022 16:48
December 18, 2022 16:48
December 10, 2022 23:29


A Portal Component for Vue 3, to render DOM outside of a component, anywhere in the document.

PortalVue Logo

Buy Me a Coffee at

For more detailed documentation and additional Information, please visit the docs.

Looking for the version for Vue 2.*? Docs for PortalVue 2.*, compatible with Vue 2, are here


npm i portal-vue

# or

yarn add portal-vue
import PortalVue from 'portal-vue'


<portal to="destination">
  <p>This slot content will be rendered wherever the <portal-target> with name 'destination'
    is  located.</p>

<portal-target name="destination">
  This component can be located anywhere in your App.
  The slot content of the above portal component will be rendered here.

Nuxt module

v3 does not yet have a nuxt module integration. PRs welcome.