Browse free open source Java Libraries and projects below. Use the toggles on the left to filter open source Java Libraries by OS, license, language, programming language, and project status.

  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Try It Free
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New to Google Cloud? Get $300 in credits to explore Compute Engine, BigQuery, Cloud Run, Gemini Enterprise Agent Platform, and more.

    Start your next project with $300 in free Google Cloud credit. Spin up VMs, run containers, query petabytes in BigQuery, or build agents with Gemini Enterprise Agent Platform. Once your credits are used, keep building with 20+ always-free tier products including Compute Engine, Cloud Storage, GKE, and Cloud Run functions. No commitment required—just sign up and start building.
    Claim $300 Free
  • 1
    Swagger Core

    Swagger Core

    Examples, server integrations for generating Swagger API Specification

    Swagger Core is a Java implementation of the OpenAPI Specification. Current version supports JAX-RS2 (javax and jakarta namespaces). One of the common usage scenarios is to integrate swagger-jaxrs2 into an existing or new JAX-RS based project ("code-first"), to automatically provide and expose its APIs definition, which is kept in sync during the project lifecycle. Such definition can be the base for further processing/consumption, including API documentation (e.g with swagger-ui, API client generation in various languages (e.g with swagger-codegen), custom processing, and so on. Such result is achieved by scanning JAX-RS resources and resolving their operations and used types, (also) processing applied annotations (e.g. Swagger, JAX-RS, Jackson, JAXB, etc.). An extension mechanism allows to further customize and pre/post processing result.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 2
    Vavr

    Vavr

    Object-functional library that runs with Java 8+

    Vavr core is a functional library for Java. It helps to reduce the amount of code and to increase the robustness. A first step towards functional programming is to start thinking in immutable values. Vavr provides immutable collections and the necessary functions and control structures to operate on these values. The results are beautiful and just work. The Vavr binaries can be found on Maven Central. Beside with Gradle and Maven they work also standalone. The documentation gives an overview and covers the concepts in depth. It is the best way to get started with Vavr. Vavr is open source and can be found on Github. It is distributed under the Apache 2.0 License. There are several additional modules that group around Vavr's core. All of these are supported by the Vavr open-source organization. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 3
    pushy

    pushy

    A Java library for sending APNs (iOS/macOS/Safari)

    Pushy is a Java library for sending APNs (iOS, macOS, and Safari) push notifications. Pushy sends push notifications using Apple’s HTTP/2-based APNs protocol and supports both TLS and token-based authentication. It distinguishes itself from other push notification libraries with a focus on thorough documentation, asynchronous operation, and design for industrial-scale operation. With Pushy, it’s easy and efficient to maintain multiple parallel connections to the APNs gateway to send large numbers of notifications to many different applications (“topics”). We believe that Pushy is already the best tool for sending APNs push notifications from Java applications, and we hope you’ll help us make it even better via bug reports and pull requests. If you need a simple GUI application for sending push notifications for development or testing purposes, you might also be interested in Pushy’s sister project, Pushy Console.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 4
    syncthing-android

    syncthing-android

    Wrapper of syncthing for Android

    Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it’s transmitted over the internet. None of your data is ever stored anywhere else other than on your computers. There is no central server that might be compromised, legally or illegally. All communication is secured using TLS. The encryption used includes perfect forward secrecy to prevent any eavesdropper from ever gaining access to your data. Every device is identified by a strong cryptographic certificate. Only devices you have explicitly allowed can connect to your other devices.
    Downloads: 4 This Week
    Last Update:
    See Project
  • Build Securely on AWS with Proven Frameworks Icon
    Build Securely on AWS with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 5
    Sesame

    Sesame

    Java RDF Framework

    This project is no longer actively maintained. It is succeeded by the Eclipse RDF4J project, which can be found at GitHub and at http://www.rdf4j.org/. Sesame is a de-facto standard framework for processing RDF data. This includes parsing, scalable storage, reasoning and full SPARQL 1.1 query/update support. Sesame offers a fully modular toolkit and an easy-to-use Java API that can be connected to all leading RDF storage solutions.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 6
    AWS Secrets Manager JDBC Library

    AWS Secrets Manager JDBC Library

    The AWS Secrets Manager JDBC Library for Java developers

    The AWS Secrets Manager JDBC Library enables Java developers to easily connect to SQL databases using secrets stored in AWS Secrets Manager. We provide database drivers that intercept calls to real database drivers and swap out secret IDs for actual login credentials. This prevents hard-coding database credentials into your application code. This can be integrated into your app through a few configuration file changes. Change the jdbc url to one that our driver will intercept (starting with jdbc-secretsmanager), Change the c3p0 user to be the secret ID of the secret in secrets manager that has the username and password, and change the driverClass to be our driver wrapper. The secret being used should be in the JSON format we use for our rotation lambdas for RDS databases.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    Agrona

    Agrona

    High Performance data structures and utility methods for Java

    Agrona provides a library of data structures and utility methods that are a common need when building high-performance applications in Java. Many of these utilities are used in the Aeron efficient reliable UDP unicast, multicast, and IPC message transport and provides high-performance buffer implementations to support the Simple Binary Encoding Message Codec.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    Android Tooltip

    Android Tooltip

    Create Toast like tooltips, but targets can be specified

    Create Toast-like tooltips, physical targets can be specified, or even points on screen. Many additional features and customizations. Just look at the sample Activities.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    AndroidAudioConverter

    AndroidAudioConverter

    Convert audio files inside your Android app easily

    Convert audio files inside your Android app easily. This is a wrapper of FFmpeg-Android-Java lib.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Try Free
  • 10
    Autobahn|Java

    Autobahn|Java

    WebSocket & WAMP in Java for Android and Java 8

    Client library providing WAMP on Java 8 (Netty) and Android, plus (secure) WebSocket for Android. The WebSocket layer is using a callback-based user API, and is specifically written for Android. Eg it does not run any network stuff on the main (UI) thread. The WAMP layer is using Java 8 CompletableFuture for WAMP actions (call, register, publish, and subscribe) and the Observer pattern for WAMP session, subscription and registration lifecycle events. The library is MIT licensed, maintained by the Crossbar.io Project, tested using the AutobahnTestsuite and published as a JAR to Maven and as a Docker toolchain image to Dockerhub.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    Booklore

    Booklore

    Digital library with smart shelves

    Booklore is a comprehensive self-hosted digital library platform that helps readers organize, manage, track, and even read their personal collections of books and comics from a centralized web interface. It provides powerful metadata management that automatically fetches rich details like titles, authors, covers, and publication info so your library looks organized and beautiful without manual data entry. Users can create smart shelves with custom filters, build dynamic collections that update automatically, and search through thousands of entries instantly, turning chaotic folders of files into a curated reading experience. Booklore supports multi-user access with granular permission controls, making it suitable for families, book clubs, or shared collections, and its built-in reader can display PDFs, EPUBs, and comic formats directly in a browser.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    Brave

    Brave

    Java distributed tracing implementation compatible with Zipkin backend

    Brave is a distributed tracing instrumentation library. Brave typically intercepts production requests to gather timing data, correlate and propagate trace contexts. While typically trace data is sent to Zipkin server, third-party plugins are available to send to alternate services such as Amazon X-Ray. This repository includes dependency-free Java libraries and instrumentation for common components used in production services. For example, this includes trace filters for Servlet and log correlation for Apache Log4J. Brave's dependency-free tracer library works against JRE6+. This is the underlying api that instrumentation use to time operations and add tags that describe them. This library also includes code that parses X-B3-TraceId headers.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    Eclipse Collections

    Eclipse Collections

    Eclipse Collections is a collections framework for Java

    Eclipse Collections is the best Java collections framework ever that brings happiness to your Java development. Integrate it to your codebase today with your favorite build tools! Maximize the power of Java 8 Lambda expressions and method references with rich APIs directly available on your collections. Many container types include immutable collections, primitive collections, bimaps, multimaps and bags. You can make use of various container types, leveraging handy factory methods for instantiation. Eclipse Collections provides a memory-efficient implementation of Sets and Maps as well as primitive collections. Check out the Eclipse Collections Kata, a fun way to help you learn idiomatic Eclipse Collections usage. This particular kata is set up as a series of unit tests that fail. Your task is to make them pass, using Eclipse Collections.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    Elide

    Elide

    Elide is a Java library that lets you stand up a GraphQL/JSON-API

    Model-driven {json:api} & GraphQL web services for CRUD and Analytics. Elide is a Java library that enables you to stand up JSON API or GraphQL web services in 4 simple steps. Define a JPA annotated model including relationships to other models using Java, Kotlin, Groovy, and other JVM languages. Control access to fields and entities through a declarative, intuitive permission syntax. Make instances of your new model accessible through a top level collection or restrict access only through relationships to other models. And thats it, you are ready to deploy and query your data with JSON or GraphQL requests. Quickly build and deploy production-quality web services that expose your data as a service. Elide APIs support complex filtering rules, sorting, pagination, subscriptions, and text search. Controlling access to your data is as simple as defining your rules and annotating your models.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    Google Cloud Dataflow Template Pipelines

    Google Cloud Dataflow Template Pipelines

    Cloud Dataflow Google-provided templates for solving data tasks

    DataflowTemplates is the source repository for Google-provided Dataflow templates that are intended to solve large-scale in-cloud data processing tasks without requiring users to build everything from scratch in a full development environment. The repository is centered on templated pipelines powered by Google Cloud Dataflow and Apache Beam, making it easier to run common integration and movement jobs such as data import, export, backup, restore, and bulk API operations. Its structure shows support for multiple generations of templates, including v1 and v2 implementations, as well as related metadata, YAML assets, plugins, and Python components that support broader template execution and maintenance. This design makes the project more than a sample set, because it acts as the implementation base for official Google-provided templates used in real cloud data workflows.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    Javassist

    Javassist

    Java bytecode engineering toolkit

    Javassist (JAVA programming ASSISTant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. If the users use the source- level API, they can edit a class file without knowledge of the specifications of the Java bytecode. The whole API is designed with only the vocabulary of the Java language. You can even specify inserted bytecode in the form of source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17

    Material Components for Android

    Modular and customizable Material Design UI components for Android

    Material Components for Android delivers Material Design’s popular and reliable design and development resources to Android developers. With Material Design’s modular and customizable UI components, Android developers can create beautiful, high quality products faster and easier. Developed by a core team of engineers and UX designers at Google, Material Components enable developers to achieve a more reliable development workflow for building exceptional and highly functional apps. Material Components for Android is a drop-in replacement for Android's Design Support Library, offering tried and trusted Material Design guidelines and components.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    MaterialFX

    MaterialFX

    A library of material components for JavaFX

    MaterialFX is an open-source Java library that provides material design components for JavaFX. JavaFX is a software platform intended to replace Swing in creating and delivering rich client applications that operate consistently across diverse platforms. With the release of JDK 11 in 2018, Oracle has made JavaFX part of the OpenJDK under the OpenJFX project in order to increase the pace of its development.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    Official Android SDK for Stream Chat

    Official Android SDK for Stream Chat

    Android Chat SDK ➜ Stream Chat API. UI component libraries for chat

    This is the official Android SDK for Stream Chat, a service for building chat and messaging applications. This library includes both a low-level chat SDK and a set of reusable UI components. Most users start with the UI components and fall back to the lower-level API when they want to customize things. We're proud to say that we're the first Android Chat SDK that supports Jetpack Compose! We released our Compose UI Components one day after the official Jetpack Compose 1.0 release and our team members have been working hard on it since then. Now it's mature and stable enough for us to officially recommend it for all new applications and all modern chat implementations. If you're looking for something highly customizable and extremely performant, check out our Compose SDK.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    OpenGrok

    OpenGrok

    Fast and usable source code search and cross reference engine

    OpenGrok is a fast and usable source code search and cross reference engine. It helps you search, cross-reference and navigate your source tree. It understands various program file formats and history from many Source Code Management systems. In other words it lets you grok (profoundly understand) source code and is developed in the open, hence the name OpenGrok. It is written in Java.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 21
    PRDownloader

    PRDownloader

    A file downloader library for Android with pause and resume support

    A file downloader library for Android with pause and resume support. PRDownloader can be used to download any type of files like image, video, pdf, apk and etc. This file downloader library supports pause and resume while downloading a file. Supports large file download. This downloader library has a simple interface to make download request. We can check if the status of downloading with the given download Id. PRDownloader gives callbacks for everything like onProgress, onCancel, onStart, onError and etc while downloading a file. Supports proper request canceling. Many requests can be made in parallel. All types of customization are possible.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    Piranha

    Piranha

    A tool for refactoring code related to feature flag APIs

    Feature flags are commonly used to enable gradual rollout or experiment with new features. In a few cases, even after the purpose of the flag is accomplished, the code pertaining to the feature flag is not removed. We refer to such flags as stale flags. The presence of code pertaining to stale flags can have the following drawbacks. Unnecessary code clutter increases the overall complexity w.r.t maintenance resulting in reduced developer productivity The flags can interfere with other experimental flags (e.g., due to nesting under a flag that is always false) Presence of unused code in the source as well as the binary. Stale flags can also cause bugs. Piranha is a tool to automatically refactor code related to stale flags. At a higher level, the input to the tool is the name of the flag and the expected behavior, after specifying a list of APIs related to flags in a properties file.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 23
    Prometheus JVM Client

    Prometheus JVM Client

    Prometheus instrumentation library for JVM applications

    It supports Java, Clojure, Scala, JRuby, and anything else that runs on the JVM. If you use Maven, you can simply reference the assets below. The latest version can be found on in the maven repository for io.prometheus. By default, counters, histograms, and summaries export an additional series suffixed with _created and a value of the unix timestamp for when the metric was created. Building the repository needs Java 11 (The project the project still supports Java 6 and Java versions > 11 dropped support for Java 6 output). We recommend to use an up-to-data Java 8 installation. The project provides the maven wrapper and therefore no local maven installation is needed. To build the repository just call ./mvnw verify.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    SOFAJRaft

    SOFAJRaft

    A production-grade java implementation of RAFT consensus algorithm

    SOFAJRaft is a production-level, high-performance Java implementation based on the RAFT consistency algorithm that supports MULTI-RAFT-GROUP for high-load, low-latency scenarios. With SOFAJRaft you can focus on your business area. SOFAJRaft handles all RAFT-related technical challenges. SOFAJRaft is very user-friendly, which provides several examples, making it easy to understand and use.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 25
    Spoon

    Spoon

    Metaprogramming library to analyze and transform Java source code

    Spoon is an open-source library to analyze, rewrite, transform, transpile Java source code. It parses source files to build a well-designed AST with powerful analysis and transformation API. It supports modern Java versions up to Java 20. Spoon is an official Inria open-source project, and member of the OW2 open-source consortium.
    Downloads: 3 This Week
    Last Update:
    See Project