Skip to main content

One bean. Every format.

Serialize any Java object to JSON, XML, HTML, YAML and more with one API, then serve it over REST.

record Person(String name, int age) {}
Json.of(new Person("Ada", 36))
Output
{"age":36,"name":"Ada"}

See it running

The juneau-petstore sample runs on Jetty and Spring Boot with an admin console that uses the projects above, and juneau-terminal turns Maven, npm and other build output into the Terminal views the console shows.

The Juneau Petstore admin console

When to Choose Juneau

Not sure if Juneau is right for your project? Check out our detailed Why Choose Juneau? page for a comprehensive comparison with alternatives, or see our Framework Comparisons page for detailed technical comparisons.

Quick summary: Choose Juneau when you need multi-format serialization, REST APIs with automatic content negotiation, or want an integrated solution with no required dependencies for marshalling (Framework Comparisons). Also consider it when the same Java service needs a server-rendered admin console (console chrome and rich table views) or an MCP endpoint, without adding a separate front-end stack. Upgrading from 9.x? See the V10.0 Migration Guide.

For every module, including the bean DTOs, shaded jars and bundles, see the Juneau Ecosystem overview.

Questions via email to dev@juneau.apache.org are always welcome.

Juneau is packed with features that may not be obvious at first. Users are encouraged to ask for code reviews by providing links to specific source files such as through GitHub. Not only can we help you with feedback, but it helps us understand usage patterns to further improve the product.

Latest release: 9.2.0 (released 2026-01-05)