Docs

Documentation versions (currently viewingVaadin 25.4 (pre-release))

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.