Docs

Documentation versions (currently viewingVaadin 25)
Documentation translations (currently viewingEnglish)

Components

Learn how to create, style, package, and publish custom Vaadin components, and how to wrap existing web and React components.

Vaadin comes with a large set of ready-made components. These guides show how to create components of your own, either in Java or by wrapping existing client-side code with a Java API.

To build a reusable component in Java, start with Build a Component and Style a Component. To share it between projects, see Package a Component. To share it between your organization’s own applications, see Share Components between Applications. To make it available to everyone, see Publish a Component.

To use existing client-side code from Java, pick the guide that matches what you have: a plain JavaScript library, a web component, or a React component.

If you’re new to components, read Compose with Components first.

Topics

Build a Component
Learn how to create reusable custom components with a clean API.
Style a Component
Learn how to add consistent, maintainable styling to your custom components.
Package a Component
Learn how to package a custom component as a JAR that can be shared across projects.
Share Components between Applications
Learn how to share a component library and a theme between your organization's own applications.
Publish a Component
Learn how to publish your component add-on to Maven Central and the Vaadin Directory.
Wrap a JavaScript Library
Learn how to create a Java API for a plain JavaScript library using @JsModule and the Element API.
Wrap a Web Component
Learn how to create a Java API for a web component, whether third-party or your own.
Wrap a React Component
Learn how to create a Java API for an existing React component using ReactAdapterComponent.