The UI Framework for Java & Spring

Most web frameworks are built for the public internet: for reach and experiences for strangers. Vaadin is built for the other side of the login. For the data-defined, functionally beautiful and long-lived apps your organization actually runs on.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
                
                  class ShipmentCard extends Card {
                      public ShipmentCard(ShipmentDto dto) {
                        setTitle("Shipment #" + dto.shipmentId());
                        setSubtitle(dto.shipmentRoute());
                        setHeaderSuffix(createStatusBadge(dto.status()));
                        setHeaderPrefix(new DriverAvatar(dto.driver()));
                    
                        setMedia(new Image(dto.shipmentImageUrl(), IMAGE_ALT));
                        addThemeVariants(CardVariant.LUMO_COVER_MEDIA);
                    
                        add(new Markdown(dto.shipmentDescription()));
                    
                        addToFooter(
                          new PrimaryButton("Update Status", e -> openShipmentForm(dto)),
                          new Button("Track Shipment", e -> viewShipmentOnMap(dto))
                        );
                      }
                    }
                    
                    void openShipmentForm(ShipmentDto dto) {/*TODO*/}
                    void viewShipmentOnMap(ShipmentDto dto) {/*TODO*/}
                
              
Freight truck on highway
Shipment #VDN-45892
Berlin, DE → Turku, FI
In Transit

Carrier: Goodie Transport GmbH
Berlin → Travemünde (ferry) → Naantali → Turku. 12 pallets of temperature-controlled goods.

Update Status Track Shipment

Is Vaadin right for your app?

Vaadin keeps your UI code in Java on the server, next to the business logic. You skip building and maintaining an API layer, routing, server-client communication and every other part of maintaining your own web framework.

Vaadin

integrated
  • Your app

    Grids and forms behind a login, for users you can count.

  • Your team

    One Java team delivers it all, from database to UI.

  • The stack

    All in one package: you write business logic, not glue.

  • UI design

    Tested components, made for screens full of data.

  • SEO

    Not the tool for pages that must rank in search.

  • Security

    No API to expose; logic never leaves the server.

React / Angular / Vue

assembled
  • Your app

    Public apps with anonymous traffic you can't predict.

  • Your team

    Separate frontend and backend skills, often two teams.

  • The stack

    You assemble state, forms, routing and components.

  • UI design

    Full design freedom; testing every browser is yours.

  • SEO

    A strong fit, with Next.js, Nuxt or Angular SSR.

  • Security

    Client code is public; the API needs its own security.

Vaadiners sitting at a table

Free & open source, Apache 2.0 licensed.

Use and extend Vaadin Core freely, even in commercial projects. Development happens in the open on GitHub, backed by a global community and the Vaadin team.
Explore on GitHub

AI-ready, from code to production

Build apps faster with AI-assisted development.

The Vaadin MCP server gives your AI coding assistant full context on Vaadin APIs, components, and your project structure — so generated code works without manual fixing. Use it with GitHub Copilot, Claude Code, Cursor, or Windsurf. Vaadin Copilot complements these tools by letting you shape layouts and refine the UI visually on the running app. Verify changes instantly with Browserless testing — UI unit tests that run on the JVM with no browser overhead. Vaadin Copilot and Browserless testing are free, included in every Vaadin project.

Claude Logo
Cursor logo
GitHub Copilot Logo
Windsurf Logo

Add AI features into your applications.

Use Spring AI in Vaadin apps to connect models to your data, business logic, and workflows using a Spring-native approach. Build grounded assistants, structured outputs, and tool-driven flows while keeping humans in control.

SpringAI Logo

Works with your Java stack

Use the backend you love the most — Spring Boot, Jakarta EE, or Quarkus — and build in Java or Kotlin.

Spring framework white logo Spring framework logo
Jakarta EE logo white Jakarta EE logo
Quarkus Logo white Quarkus Logo
Kotlin logo white Kotlin logo

More than a framework

Serious apps need more than pretty UI widgets. Vaadin lets you build data-heavy UIs quickly, edit visually in app, fast-track integrations, automate UI testing, modernize on your timeline, and stay supported for up to 15 years.
Visual editing in dev mode
Open your running app and shape the UI visually. Create layouts, add components, and tweak views in context. Changes are written instantly to your codebase following Vaadin best practices. Iterate faster with a tight feedback loop while staying in control.
Production-ready integrations
Ship integrations faster without detours. Acceleration Kits provide production-ready setups for SSO, observability, and Kubernetes. Focus on features, not glue work. Secure defaults, proven patterns, and comprehensive documentation included.
UI testing, built for Vaadin
Automate UI testing with Vaadin TestBench. Get fast UI unit testing and thorough end-to-end testing in one tool, with component-aware selectors, built-in waiting, and screenshots on failure. Run tests locally on your machine, in CI, or on a grid.
Modernization with confidence
Modernize from Swing, SWT, and JavaFX on your schedule. Upgrade when it fits your release cadence, and migrate view by view or all at once. Embed legacy alongside new as needed and keep business logic intact. Let Vaadin's Modernization Toolkit handle the heavy lifting.
Longest maintenance in the industry
Maintenance for up to 15 years with ongoing security and compatibility updates. Meet regulatory requirements, reduce upgrade risk, and choose your upgrade windows to match your roadmap.
Vendor support
Get fast answers from the engineers behind Vaadin and hands-on help for complex challenges. From design and Figma alignment to development and production, improve time to market with guidance that knows your stack end to end.