🚨 WARNING While open source, the intended consumers of this repository are Elastic products. Read the FAQ for details.

Elastic UI Framework

The Elastic UI Framework is a collection of React UI components for quickly building user interfaces at Elastic. Not using React? No problem! You can still use the CSS behind each component.

You should check out our living style guide, which contains many examples on how components in the EUI framework look and feel, and how to use them in your products.


To install the Elastic UI Framework into an existing project, use the yarn CLI (npm is not supported).

yarn add @elastic/eui

Note that EUI itself has some dependencies itself mostly around management of dates and times. If you are installing it into a blank project you will need to install the following with it. You can read more about other ways to consume EUI.

yarn add @elastic/eui @elastic/datemath moment

Running Locally


We depend upon the version of node defined in .nvmrc.

You will probably want to install a node version manager. nvm is recommended.

To install and use the correct node version with nvm:

nvm install


You can run the documentation locally at http://localhost:8030/ by running.

yarn start


The primary goal of this library is to provide reusable UI components that can be used throughout Elastic's web products. As React components, they remove CSS from the process of building UIs. As a single source of truth, the framework allows our designers to make changes to our look-and-feel directly in the code. And unit test coverage for the UI components allows us to deliver a stable "API for user interfaces".


You can find documentation around creating and submitting new components in CONTRIBUTING.md.





Apache Licensed. Read the FAQ for details.