whatisgithub

What is vert.x?

eclipse-vertx/vert.x — explained in plain English

Analysis updated 2026-06-24

14,659JavaAudience · developerComplexity · 4/5LicenseSetup · moderate

In one sentence

Core of the Vert.x reactive toolkit for the JVM, providing low-level HTTP, TCP, and file system APIs that other Vert.x modules build on.

Mindmap

mindmap
  root((vertx))
    Inputs
      HTTP requests
      TCP connections
      File events
    Outputs
      Async responses
      Event bus messages
      Vertx artifacts
    Use Cases
      Build reactive HTTP server
      Write TCP service
      Async file IO
      Base for Vertx modules
    Tech Stack
      Java
      JVM
      Netty
      Maven
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a non-blocking HTTP server that handles many concurrent connections on the JVM

USE CASE 2

Write a TCP service that uses native epoll or io_uring transport on Linux

USE CASE 3

Use the asynchronous file system API for streaming file processing

USE CASE 4

Use vertx-core as the base layer for a custom Vert.x module

What is it built with?

JavaJVMNettyMaven

How does it compare?

eclipse-vertx/vert.xarduino/arduinohdodenhof/circleimageview
Stars14,65914,58114,515
LanguageJavaJavaJava
Setup difficultymoderatemoderateeasy
Complexity4/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Building from source needs Maven and a working JDK, and native transport profiles only run on Linux or BSD hosts.

Dual-licensed under Eclipse Public License 2.0 and Apache 2.0, so you can use it commercially with attribution but EPL changes to Vert.x itself must be shared back.

So what is it?

Vert.x is a toolkit for building reactive applications on the JVM, which is the runtime environment that Java programs use. This repository holds the core piece of Vert.x. The README describes core as containing low-level functionality, including support for HTTP, TCP networking, file system access, and other features. The core can be used directly inside an application, and it also serves as the base that many other Vert.x components are built on top of. The README is short and points readers to the project website at vertx.io for the bigger picture of what Vert.x is and where core fits. The repository itself does not try to explain the toolkit in depth. Instead it focuses on the practical steps a contributor or builder would take when working with the source code. Most of the README is build instructions. You can produce the Vert.x artifacts by running a Maven package command. You can run the tests with a Maven test command, optionally setting HTTP and HTTPS ports. Vert.x supports what it calls native transport on BSD and Linux systems, with separate test profiles for NativeEpoll, NativeIoUring, and NativeKQueue. There is also a Linux-only mode for testing with domain sockets, and a separate integration test setup that runs the JVM with different configuration. The final section explains how to build the documentation locally by running a Maven docs profile, then opening the generated HTML file in a browser. Beyond that the README does not cover usage examples, API details, or design philosophy, so a reader who wants to learn how to write a Vert.x app would need to follow the link to the website.

Copy-paste prompts

Prompt 1
Give me a 5-minute install guide that adds vertx-core to a new Maven project and starts a hello-world HTTP server
Prompt 2
Show me a Vert.x HttpServer example that streams a file response without blocking
Prompt 3
Walk me through enabling the NativeEpoll transport in a Vert.x app on Linux
Prompt 4
How do I run the Vert.x core test suite with custom HTTP and HTTPS ports
Prompt 5
Explain how Vert.x verticles and the event bus relate to vertx-core

Frequently asked questions

What is vert.x?

Core of the Vert.x reactive toolkit for the JVM, providing low-level HTTP, TCP, and file system APIs that other Vert.x modules build on.

What language is vert.x written in?

Mainly Java. The stack also includes Java, JVM, Netty.

What license does vert.x use?

Dual-licensed under Eclipse Public License 2.0 and Apache 2.0, so you can use it commercially with attribution but EPL changes to Vert.x itself must be shared back.

How hard is vert.x to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is vert.x for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.