Handle the EU Cookie Law in Vue.js with vue-cookie-law


While this tutorial has content that we believe is of great benefit to our community, we have not yet tested or edited it to ensure you have an error-free learning experience. It's on our list, and we're working on it! You can help us out by using the "report an issue" button at the bottom of the tutorial.

Developers in the EU are probably fairly familiar with the Cookie Law, the law requiring you to inform users if your website uses cookies and have them accept that or leave the site. Now, it’s just a tiny bit of extra effort to implement something like that, but why do it yourself if someone else already has? (The classic open-source lazy escape hatch.) <3

Thanks to vue-cookie-law, you can have a full EU Cookie Law component attached to the top or bottom of your website’s viewport in just a few lines of code. Easy-peasy!


Install vue-cookie-law via. Yarn or NPM.

# Yarn
$ yarn add vue-cookie-law
$ npm install vue-cookie-law --save


The most basic usage of vue-cookie-law would be as follows:

  <div class="main-wrapper">
    <cookie-law theme="blood-orange--rounded"></cookie-law>

import CookieLaw from 'vue-cookie-law';

export default {
  components: {


vue-cookie-law has a few props you can customize, including:

  • buttonText - Change the text on the acceptance button.
  • message - The message displayed to your users when they first visit. The default is This website uses cookies to ensure you get the best experience on our website.
  • theme - The theme of the component. Six themes are included by default, and additional ones may be created easily with CSS as shown below.
  • position - top or bottom.
  • transitionName - The transition used to hide and show the notice. Currently supports slideFromBottom, slideFromTop, and fade.


You can create custom themes for vue-cookie-law simply by wrapping all your classes with .Cookie–themeName Then just pass your theme’s name with <vue-cookie-law theme="themeName"></vue-cookie-law>.

Example: (Batman-style)

.Cookie--batman {
  background: black;

  > .Cookie__button {
      background: black;
      color: yellow;

  > .Cookie__message {
    color: yellow;

There you go! Have fun complying!

Creative Commons License