What is Vaadin?

Productivity. Usability. Extendability.

The word Vaadin in Finnish means female reindeer. You can see the resemblance to a reindeer if you tilt the logo 90 degrees and imagine a reindeer head.

Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy.

Vaadin's main priorities are developer productivity, end-user experience and scalability. With a unique combination of building on JVM and HTML5, Vaadin helps you decrease development time, amount of errors and times hitting your head in the wall.

Open Source Vaadin is truly open source. It is licensed under the very liberal Apache 2 license which means that there are no hooks and you can use it for free for whatever you want. Forever.

Extendability Vaadin's built in components are built for end-user usability but if for some reason you need more, there are 400+ components in the directory that you can drag 'n' drop into your project and keep going.

How does Vaadin work?

Better. Results. Faster.

Vaadin takes care of communicating your changes to the browser. Check out the server-side Java code below for how this is done. Can it be any easier?

Hi Rudolph
  • Initial HTML
  • CSS (theme)
  • Images
  • JavaScript
135k compressed
(regardless of app size)
  • name="Rudolph"
  • button clicked
261 bytes
  • Add notification
267 bytes
The Code
(Running on the server)
    public class MyUI extends UI {
      protected void init(VaadinRequest request) {
        final TextField name = new TextField("Name");
        final Button greetButton = new Button("Greet");

          e ->"Hi " + name.getValue())
        setContent(new VerticalLayout(name, greetButton));


Optimised for Productivity
Most of the time you want to write Java on the server-side. This enables you to stay productive with immediate access to your data and services.


Optimised for Control
Vaadin supports using both JavaScript as well as Java on the client with the included GWT-based Java-to-JavaScript compiler. This gives you access to the full DOM structure and lets you control the bare metal of the browser.

Learn all about Vaadin from the free Book of Vaadin or from one of the hands-on training courses.

Why should I use Vaadin?

The right tool for the job.
  • Create instant WOW Vaadin is a modern way for building HTML5 based web applications. Your applications look and feel snappy and you're able to create an instant wow effect. Your applications work on all devices out of the box.
  • Get things done faster With Vaadin you are able to keep creating new features quickly by writing code in Java, Scala or any JVM language you prefer. You don't have to fight with browser incompatibilities, design ajax communication protocols and can refactor your code in your favourite IDE just like you would with your services and business layer.
  • Ensure quality and security As Vaadin is "just" a server-side API for the web, it doesn't add any constraints to your application. It works with your favourite application stack and being Java it's easy to write JUnit tests or regression tests such as screenshot based tests. The server-side model ensures your application's security by default.
  • Save 50% in costs With Vaadin you're able to shave off 50% of your code. Your developers don't need to write boilerplate JavaScript or AJAX code. With Vaadin's component based model, your application not only looks cohesive all over, it's also faster to develop when your team can re-use components and compositions made by others in your team.
  • Faster time to market Get your first application up and running in 5 minutes. Make a change to your existing application and deploy instantly. Support a new browser and platform without adding extra code. With the power of JVM and Vaadin, you're able to get your Vaadin application to market in record time.
  • Quick learning curve All of Vaadin's code is pure Java which means your team doesn't need to learn new scripting languages or APIs. If your developers have ever written a user interface before, they'll feel at home instantly – and if they haven't, Vaadin is the fastest way to developing good looking applications.
  • Nicely behaving apps A coherent look and feel is key in any user interface. Vaadin's UI components are snappy, focused on usability, accessibility and are highly customizable.
  • It works everywhere Vaadin supports all major desktop, mobile and tablet browsers out of the box. Finally you can write once and deploy everywhere. For a complete list of supported browsers see the release notes.
  • Real mobile experience Today's office is mobile. Managers want to access the factory floor from their tablets and end-users want to read and write data from their mobile phones. Vaadin is riding the wave of mobility with native support for touch events and with Vaadin TouchKit, you're able to wrap your application into an iOS, Android and Windows Phone application.

User Experience Deliver first class UX in less time and with less money for mobile, desktop and tablet. See some of the case studies on how Vaadin is used today in serving hundreds of thousands of users each day. Vaadin TouchKit


How do I use Vaadin?

Ready. Set. Deploy.

Vaadin works on any servlet or portlet container on Tomcat, Jetty, Wildfly, Liferay, WebSphere, Weblogic and more. It also works in the cloud. For a complete list of supported platforms see list of features.

Create a project, code and deploy. Make changes, refresh and stay in the flow with super fast development cycle.

Creating your first application. Vaadin is plain Java in a JAR-file you can add to any standard web application, most easily downloaded through Maven or through your favorite IDE plugin. There are Vaadin plugins for Eclipse, NetBeans and IntelliJ IDEA.

Vaadin Tutorial Tutorial Build your first application step-by-step.

Use your favorite tools

  • Eclipse
  • IntelliJ IDEA
  • Apache Ant
  • NetBeans
  • Maven
  • Gradle

Get started

Vaadin will make you and your users happy. What are you still waiting for?

Download Vaadin

For more support