Sign inDemoInstall


Package Overview
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies



WebJar for vaadin-lumo-styles




npm version Bower version Gitter


Lumo – ✨ enchantment (Finnish) and 🔆 light (Esperanto)

Lumo is a design system foundation for modern, beautiful and accessible web applications.

Lumo contains foundational styles – typography, colors, visual style, sizing & spacing and icons – that components and applications can use to achieve a consistent visual design.

The implementation of Lumo is based on CSS custom properties, and Polymer style modules. Note, that you don’t need to use Polymer to build your application in order to use Lumo.


🚧 Documentation will eventually be deployed at 🚧

For documentation and instructions how to get started, use the “Documentation” link in the latest release notes.

Part of the Vaadin platform

Lumo is maintained as a part of the Vaadin platform.

Vaadin components is a collection of web components that use the Lumo design language as their default theme. The Vaadin app starters are also based on Lumo.

Big Thanks

Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs.


Reporting issues and feature request is a great way to help! If you have questions, join the Vaadin components chat – we’re happy to answer Lumo related questions there.

Running demos and tests in a browser

  1. Fork the vaadin-lumo-styles repository and clone it locally.

  2. Make sure you have npm and Bower installed.

  3. When in the vaadin-lumo-styles directory, run npm install and then bower install to install dependencies.

  4. Run npm start, browser will automatically open the component API documentation.

  5. You can also open demo/documentation by adding demo to the URL, for example:

Adding or updating icons

  1. Open icons/Lumo Icons.sketch using Sketch

  2. Follow the instructions in the Sketch document

  3. Run npm install to install dependencies

  4. Run gulp icons to generate new versions of iconset.html and font-icons.html

Following the coding style

We are using ESLint for linting JavaScript code. You can check if your code is following our standards by running gulp lint, which will automatically lint all .js files as well as JavaScript snippets inside .html files. CSS inside .html files is also linted at the same time.

Creating a pull request

  • Make sure your code is compliant with our code linters: gulp lint
  • Submit a pull request with detailed title and description
  • Wait for response from one of Vaadin components team members

Updating the version number

Use npm version <new version> to update the version number in package.json and in other relevant places such as version.html, when preparing to release a new version.


Apache License 2.0


Did you know?


Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.


Related posts

SocketSocket SOC 2 Logo


  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap


Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc