Need help with Keen-UI?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

4.0K Stars 460 Forks MIT License 512 Commits 77 Opened issues


A lightweight Vue.js UI library with a simple API, inspired by Google's Material Design.

Services available


Need anything else?

Contributors list

Keen UI

Keen UI is a Vue.js UI library with a simple API, inspired by Google's Material Design.

Keen UI is not a CSS framework. Therefore, it doesn't include styles for a grid system, typography, etc. Instead, the focus is on interactive components that require Javascript. You should be able to use Keen UI with any page layout, structure, or CSS framework.

Documentation and demo



Browser support

IE 10+ (due to Flexbox support).


npm install keen-ui --save


CSS Reset

Before using Keen UI, ensure that the following CSS resets are applied to your site.

*::after {
    box-sizing: border-box;

html { font-size: 100%; }

You can add the reset to your stylesheet (before other styles). If you are using a CSS framework, check to see if the framework already includes a reset (most CSS frameworks do). The root font size set on

 can be customized to globally resize the components.


Use as a Vue plugin (globally registers all components):

import Vue from 'vue';
import KeenUI from 'keen-ui';
import 'keen-ui/dist/keen-ui.css';


new Vue({ components: { // all Keen UI components already registered } });

Use individual components:

import Vue from 'vue';
import { UiAlert, UiButton } from 'keen-ui';

new Vue({ components: { UiAlert, UiButton } });

Script tag

First, add a stylesheet link to the Keen UI CSS file in

. Then, add a script tag pointing to
after adding Vue.

If Keen UI detects the global

object, all components will be registered automatically. The components will also be made available globally via


Hello world!


You can customize many aspects of Keen UI, including theme colors, component sizes, default props, and more.

See Customization.

Using standalone components

Each component is built into a standalone file with the necessary CSS included. You can use these individual standalone components without importing the rest of the library. The standalone components are located in the


NOTE: Standalone component files each contain their own dependencies, and many contain overlapping dependencies. As a result, using multiple standalone files may increase the size of your bundle due to duplicate code.

import Vue from 'vue';
import 'keen-ui/src/bootstrap'; // Required when using standalone components, should be imported only once in your project
import UiButton from 'keen-ui/lib/UiButton';

new Vue({ components: { UiButton } });


Keen UI is open source and released under the MIT Licence.

Copyright (c) 2019 Josephus Paye II.

PS: Made something cool with Keen UI? I would love to know! Tweet to me at @JosephusPaye.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.