Vaadin Quickstart

Build and run your first Vaadin app in 5 minutes. You'll create a full-stack web app in pure Java. No HTML, no JavaScript, no REST plumbing — just components, events, and instant hotswap.

Before you start

You'll need three things. If you already write Java, you probably have all of them.
5 minutes

That's how long this takes.

A Java™ Development Kit (JDK) 17 or 21

Liberica, Temurin, or any modern JDK

An Integrated Development Environment (IDE)

IntelliJ IDEA, VS Code, Eclipse, or NetBeans

Step 1:

Download your starter

Go to start.vaadin.com and click Download. You'll get a ready-to-run Spring Boot + Vaadin project as a .zip.
The defaults are fine for this quickstart — you don't need to change anything.

Bookmark it: start.vaadin.com is a configurator, not a tutorial — experienced Vaadin developers use it as their default way to start any new project.

Step 2:

Open it in your IDE

Unzip the file and open the project folder in your IDE.

IntelliJ IDEA

File → Open… and select the unzipped folder. IntelliJ detects the Maven project and imports dependencies automatically.

 

Visual Studio Code

Install the Extension Pack for Java, then File → Open Folder… and select the unzipped folder.

 

Eclipse

File → Import → Existing Maven Project and select the unzipped folder.

 

NetBeans

File → Open Project… and select the unzipped folder. NetBeans recognizes the Maven project and resolves dependencies automatically.

 

Step 3:

Enable Hotswap

Hotswap applies your code changes to the running application without restarting it — no rebuild, no lost state. It's the difference between a slow Java workflow and a fast one.
Turn it on now! Install the Vaadin plugin for your IDE and use it to start the application:

IntelliJ IDEA

Install Vaadin from the JetBrains Marketplace, then click the green Vaadin run icon next to the Application class.
 

Open http://localhost:8080 in your browser. First start takes ~30 seconds while Maven downloads dependencies.

Visual Studio Code

Install the Vaadin extension from the VS Code marketplace, then run Run with Vaadin from the command palette.

Open http://localhost:8080 in your browser. First start takes ~30 seconds while Maven downloads dependencies.

 

Eclipse

Install the Vaadin plugin from the Eclipse Marketplace, then right-click the project → Run As → Vaadin Application.

Open http://localhost:8080 in your browser. First start takes ~30 seconds while Maven downloads dependencies.

NetBeans

Install the Vaadin plugin from the NetBeans plugin portal, then right-click the project → Run with Vaadin.

Open http://localhost:8080 in your browser. First start takes ~30 seconds while Maven downloads dependencies.

Why a plugin? It launches the JVM with the right agent for hotswap. Running with plain mvn spring-boot:run works, but you'll lose hotswap and have to restart for every change.

 

Step 4:

Make your first change

Create a new class MainView.java in src/main/java/com/example/
(next to the Application class)

    package com.example;

import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.html.Paragraph;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;

@Route("")
@PageTitle("Hello, Vaadin!")
public class MainView extends VerticalLayout {

    public MainView() {
        add(new H1("Hello, Vaadin!"));

        var nameField = new TextField("What is your name?");
        add(nameField);

        var greeting = new Paragraph();
        greeting.setVisible(false);
        add(greeting);

        add(new Button("Say Hello", event -> {
            greeting.setText("Hello, %s!".formatted(nameField.getValue()));
            greeting.setVisible(!nameField.isEmpty());
        }));
    }
}
  

Save the file. Switch back to your browser — the new UI appears without a reload.

Step 5:

Make a change without writing code

Vaadin Copilot is a visual, AI-empowered development tool built into dev mode. You can inspect components, drag-and-drop, edit themes, or just ask in plain English.

In your running app, open Copilot:

 ⇧⌘  ⌘   on Mac   
 ⇧ + Ctrl Ctrl   on Windows / Linux
(Hold Shift and press ⌘ or Ctrl twice in quick succession.)

Click the AI assistant icon in the Copilot toolbar and try!


 

Copilot prompt:
Add a date-of-birth field with a date picker, and validate that the user is at least 18.

Copilot edits your Java source directly — re-runs hotswap — and your app updates in place. Open MainView.java in your IDE: the new field is right there in the code.

First-time AI use: Copilot will prompt you to sign in with a free Vaadin account. The visual tools (drag-drop, theme editor, inspector) work without sign-in.

 

You're All Set!
Where to next?

You just built a full-stack web app in Java.
Pick your next step. Build something real, explore the components, or ship to production.