Vaadin UI Components

Enterprise-grade components for Java web apps

Build your apps faster with accessible, themable components that are optimized for both desktop and mobile use.
Vaadin Components
Grid
A powerful datagrid component with lazy-loading, filters, sorting, drag & drop, frozen columns and inline editing.
Combo Box
A filterable drop-down field with lazy loading and customizable item rendering.
Charts
A library of 29 different types of feature-rich, interactive charts for data visualization.
new-spread-image
Spreadsheet
An interactive spreadsheet component for displaying and modifying the contents of an Excel file within an app.

Accessibility made simple

Everything you need to know to eliminate barriers for your users and meet new regulatory requirements.

Why Vaadin?

Based on web standards
Based on the open W3C Web Components standard, ensuring that they work natively in all modern browsers and can be used with virtually any front-end framework.
Accessible
Designed to conform to the WCAG 2.1 AA standard, and EU and US accessibility regulations. Manually tested with common assistive technologies. See details.
Themable
Easy theming through a set of global CSS properties. Additionally, a powerful CSS injection mechanism is available for advanced custom styling.
Mobile-friendly
Responsive and optimized for both desktop use and small touch screens.
Java and Typescript APIs
Use Java APIs with Vaadin Flow, or TypeScript APIs with Hilla and other front-end frameworks.
Design systems
A good base for your own design system, complete with a toolkit for setting up a documentation website.
Figma library
The high quality, high fidelity Figma library makes it easy to create mockups and prototypes of Vaadin-based UIs.
Open source

Open source and free, released under the permissive Apache 2.0 license (except for some commercial Pro components).

Start building with Vaadin components now

Build a new application based on Vaadin Flow or Vaadin Fusion, or add the components to a web front-end of your choice through npm.