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.
    Start Free
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • 1
    Fetch for Android

    Fetch for Android

    The best file downloader library for Android

    Fetch is a simple, powerful, customizable file download manager library for Android. Simple and easy to use API. If you are saving downloads outside of your application's sandbox, you will need to add the following storage permissions to your application's manifest. For Android SDK version 23(M) and above, you will also need to explicitly request these permissions from the user. Continuous downloading in the background. Concurrent downloading support. Ability to pause and resume downloads. Set the priority of a download. Network-specific downloading support. Ability to retry failed downloads. Ability to group downloads. Easy progress and status tracking. Download remaining time reporting (ETA). Download speed reporting. Save and Retrieve download information anytime. Notification Support. Storage Access Framework, Content Provider and URI support.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 2
    Java Tablesaw

    Java Tablesaw

    Java dataframe and visualization library

    Tablesaw is a dataframe and visualization library that supports loading, cleaning, transforming, filtering, and summarizing data. If you work with data in Java, it may save you time and effort. Tablesaw also supports descriptive statistics and can be used to prepare data for working with machine learning libraries like Smile, Tribuo, H20.ai, DL4J. Import data from RDBMS, Excel, CSV, TSV, JSON, HTML, or Fixed Width text files, whether they are local or remote (http, S3, etc.) Tablesaw supports data visualization by providing a wrapper for the Plot.ly JavaScript plotting library. Here are a few examples of the new library in action. Descriptive stats: mean, min, max, median, sum, product, standard deviation, variance, percentiles, geometric mean, skewness, kurtosis, etc. Add tablesaw-core to your project. You can find the version number for the latest release in the release notes.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 3
    JavaCore

    JavaCore

    JavaCore is a summary of experience with Java core technologies

    JavaCore is a Chinese-language tutorial focused on the essential technologies and runtime concepts behind Java development. It begins with syntax, data types, object-oriented programming, methods, arrays, exceptions, generics, reflection, annotations, and strings. Advanced material covers regular expressions, encoding, encryption, internationalization, Java 8 features, and the service provider interface. Separate sections explain collections, streams, traditional I/O, NIO, serialization, sockets, and networking. Its concurrency coverage includes threads, locks, atomics, thread pools, concurrent containers, synchronization, and the Java Memory Model. JVM chapters address memory, garbage collection, bytecode, class loading, diagnostics, monitoring, and performance tuning.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 4
    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: 1 This Week
    Last Update:
    See Project
  • Veeam Data Platform v13.1 - Get Your Free Trial Icon
    Veeam Data Platform v13.1 - Get Your Free Trial

    Secure by design, portable by default. Recover clean, fast, anywhere. Start a free trial.

    Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
    Try it Free
  • 5
    KOOM

    KOOM

    KOOM is an OOM killer on mobile platform by Kwai

    KOOM creates a mobile high-performance online memory monitoring solution, which supplies a detailed report when OOM-related problems are detected and has solved a large number of OOM issues in the Kwai application. It's currently available on Android. With the increasing complexity of mobile terminal business logic and the gradual popularity of scenarios with high memory requirements such as 4K codec and AR magic watch, the OOM problem has become the number one problem in the stability management of the Kuaishou client. In the daily version iteration process, OOM surges occasionally occur, and the online environment is very complicated. There are thousands of AB experiments. Pre-prevention and post-recovery cannot be achieved. Therefore, high-performance online memory monitoring solutions are urgently needed.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 6
    Kamon Telemetry

    Kamon Telemetry

    Distributed Tracing, Metrics and Context Propagation for applications

    Kamon Telemetry is a set of libraries for instrumenting applications running on the JVM. With Kamon Telemetry you can collect metrics, propagate context across threads and services, and get distributed traces automatically. The best way to get started is by following our installation guides and taking it from there. Have fun with Kamon. Monitor your backend applications, fix performance issues, and get alerted when problems happen. All without being a monitoring expert. Everybody starts monitoring with logs because they are there by default. Just connect to your server and start tailing. But logs have a hard time showing you the overall response times for your application, or whether certain calls to the database are happening in sequence or parallel (among a million other things).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 7
    LMAX Disruptor

    LMAX Disruptor

    High performance inter-thread messaging library

    LMAX aims to be the fastest trading platform in the world. Clearly, in order to achieve this we needed to do something special to achieve very low-latency and high-throughput with our Java platform. Performance testing showed that using queues to pass data between stages of the system was introducing latency, so we focused on optimising this area. The Disruptor is the result of our research and testing. We found that cache misses at the CPU-level, and locks requiring kernel arbitration are both extremely costly, so we created a framework which has "mechanical sympathy" for the hardware it’s running on, and that’s lock-free. This is not a specialist solution, it’s not designed to work only for a financial application. The Disruptor is a general-purpose mechanism for solving a difficult problem in concurrent programming. It works in a different way to more conventional approaches, so you use it a little differently than you might be used to.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 8
    Micrometer

    Micrometer

    App observability facade for the most popular observability tools

    Micrometer provides a simple facade over the instrumentation clients for the most popular observability systems, allowing you to instrument your JVM-based application code without vendor lock-in. Think SLF4J, but for observability. Micrometer provides vendor-neutral interfaces for timers, gauges, counters, distribution summaries, and long task timers with a dimensional data model that, when paired with a dimensional monitoring system, allows for efficient access to a particular named metric with the ability to drill down across its dimensions. Out-of-the-box instrumentation of caches, the class loader, garbage collection, processor utilization, thread pools, and more tailored to actionable insight. Micrometer is the instrumentation library powering the delivery of application observability from Spring Boot applications.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 9
    OpenAI-Java

    OpenAI-Java

    OpenAI Api Client in Java

    OpenAI-Java is the official Java client library provided by OpenAI for interacting with the OpenAI API. It is designed to make it easier for Java applications to call endpoints like chat completions, embeddings, function calling, streaming, and other model services using idiomatic Java patterns. You configure the client (often via environment variables or system properties), then build parameter objects (e.g. ChatCompletionCreateParams) and invoke methods like client.chat().completions().create(...) to send requests in a type-safe way. The library also supports streaming APIs, where the response arrives in chunks, using helpers like ChatCompletionAccumulator to accumulate partial responses into a full object. For complex use cases (e.g. structured outputs, function calling), it provides schema support, JSON annotations, and schema validation.
    Downloads: 1 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.
    Start Free
  • 10
    Spring AI

    Spring AI

    An Application Framework for AI Engineering

    Spring AI is a framework within the Spring ecosystem that simplifies the integration of artificial intelligence capabilities into Java applications by providing abstractions over various AI services and models. It is designed to align with familiar Spring development patterns, allowing developers to incorporate AI features such as chat, embeddings, and prompt handling using consistent APIs. The framework supports multiple providers, including OpenAI, Azure OpenAI, and other compatible services, enabling flexibility in deployment strategies. It focuses on production readiness by offering features such as configuration management, observability, and integration with Spring Boot applications. Spring AI also includes support for retrieval-augmented generation, enabling applications to connect language models with structured and unstructured data sources. Its architecture encourages modular design, making it easier to extend or swap components without rewriting large parts of the system.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    Stipple Effect

    Stipple Effect

    Stipple Effect is a pixel art editor that supports animation

    Stipple Effect is a cross-platform pixel art editor that emphasizes scripting and automation. It offers standard raster graphics editing features alongside tools specifically designed for pixel art creation, making it suitable for game developers and digital artists. Its scripting capabilities allow for efficient batch operations and workflow customization.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    Xabber

    Xabber

    Open-source XMPP client for Android

    Open source Jabber (XMPP) client with multi-account support, clean and simple interface. Being both free (as in freedom!) and ad-free, Xabber is designed to be the best Jabber client for Android. Xabber uses Gradle build system. The only specific thing is git submodule for the MemorizingTrustManager library. Since it’s inception in 2011, Xabber has grown to be a number one XMPP client for Android. It is fast, reliable and packed with lots of features that make it more advanced than most desktop clients. Xabber interface was perfected over many years to give a very clear yet informative presentation of your contacts and chats. Great amount of details are shown in a subtle way to not obscure your view. Internet connection is not as reliable as we’d like on mobile networks, users often experience connection loss. Xabber for Android was optimized to ensure low battery usage and to quickly reconnect.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    commonmark-java

    commonmark-java

    Java library for parsing and rendering CommonMark (Markdown)

    Java library for parsing and rendering Markdown text according to the CommonMark specification (and some extensions). Provides classes for parsing input to an abstract syntax tree of nodes (AST), visiting and manipulating nodes, and rendering to HTML. It started out as a port of commonmark.js, but has since evolved into a full library with a nice API.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    jsoup

    jsoup

    Java library for working with real-world HTML

    jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do. jsoup is designed to deal with all varieties of HTML found in the wild; from pristine and validating, to invalid tag-soup; jsoup will create a sensible parse tree. The parser will make every attempt to create a clean parse from the HTML you provide, regardless of whether the HTML is well-formed or not. You have HTML in a Java String, and you want to parse that HTML to get at its contents, or to make sure it's well formed, or to modify it. The String may have come from user input, a file, or from the web.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    jvm-mon

    jvm-mon

    Console-based JVM monitoring tool

    Console-based JVM monitoring - when you just want to SSH into a server and see what’s going on. jvm-top lets you monitor your JVM server applications from the terminal.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 16
    mvnd

    mvnd

    Apache Maven Daemon

    Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 17
    openHAB Distribution

    openHAB Distribution

    The binary distribution of openHAB

    The open Home Automation Bus (openHAB) project aims to provide a universal integration platform for all things around home automation. It is a pure Java solution, fully based on OSGi. It is designed to be vendor-neutral as well as hardware/protocol-agnostic. openHAB brings together different bus systems, hardware devices, and interface protocols by dedicated bindings. These bindings send and receive commands and status updates on the openHAB event bus. This concept allows designing user interfaces with a unique look&feel, but with the possibility to operate devices based on a big number of different technologies. Besides the user interfaces, it also brings the power of automation logic across different system boundaries.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    rtmp-rtsp-stream-client-java

    rtmp-rtsp-stream-client-java

    Library to stream in rtmp and rtsp for Android. All code in Java

    Library for streaming in RTMP and RTSP. All code in Java.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    openSCADA

    openSCADA

    openSCADA® is an open source SCADA system written in JAVA

    openSCADA is an open source Supervisory Control And Data Acquisition System. It is platform independent and based on a modern system design that provides security and flexibility at the same time. openSCADA is flexible. It is not an out of the box solution, but a set of tools that can be combined in many different ways. It provides development libraries, interface applications, mass configuration tools, front-end and back-end applications. openSCADA is ready to rock. It is used 24/7 in several installations around this world. openSCADA is supported. So if you prefer a fully supported, out of the box instead of a “build it yourself” solution you can contact IBH SYSTEMS GmbH and let us do the job. If you like, you will still get the source code that was developed specially for you. openSCADA needs you. Writing source code, writing documentation, fixing bugs or providing fresh input. Anything is welcome.
    Leader badge
    Downloads: 20 This Week
    Last Update:
    See Project
  • 20
    CSSBox

    CSSBox

    Pure Java HTML / CSS rendering engine

    CSSBox is an (X)HTML/CSS rendering engine written in pure Java. Its primary purpose is to provide a complete information about the rendered page suitable for further processing. However, it also allows displaying the rendered document.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 21

    Super CSV

    A fast, programmer-friendly, free CSV library for Java

    Super CSV is a fast, programmer-friendly, open-source library for reading and writing CSV files with Java. PLEASE NOTE: As of January 2015 we have now moved to GitHub (https://github.com/super-csv/super-csv). This SourceForge page will remain, but with limited functionality (please go to GitHub to report issues and for project downloads). It is highly configurable, and supports reading and writing with POJOs, Maps and Lists. It also has support for deep-mapping and index-based mapping with POJOs, using the powerful Dozer extension. Its flexible 'Cell Processor' API automates data type conversions (parsing and formatting Dates, Integers, Booleans etc) and enforces constraints (mandatory columns, matching against regular expressions etc) - and it's easy to write your own if required. Super CSV is actively maintained, and the developers are ready and willing to help out if you get stuck :) Please check out the project website for examples and help getting started
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22

    Java-Arduino Communication Library

    Serial Communication between Java and Arduino made simple.

    Serial Communication between Arduino and Java has never been simpler. A better alternative to the RXTX library, the JavaArduinoLibrary is an easy to use library with simple methods that allow you, the JAVA programmer, to read and write from the serial port. Seamless serial communication with the port of your choice. Consists of a class that extends the JComboBox to provide a list of all available ports for selection. Overloaded functions for serialWrite() and serialRead() allow multiple methods of communication. Overloaded constructors and getter and setter methods expand the use case to any scenario. **IMPORTANT**: please download and import both JARs in the files into your project.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 23

    JEditor

    a simple Java text Editor with syntax highlighting

    JEditor is a simple Java text Editor with syntax highlighting which is designed to be used in a library in other applications. A typical use case is an application which needs to edit text files.
    Leader badge
    Downloads: 8 This Week
    Last Update:
    See Project
  • 24

    ULS

    A lexical analyzer generator that makes the class source code.

    ULS is a class library for creating lexical analyzer from language specification file. It's provided as C/C++/C# and Java (class) libraries with a few of tools on Linux/Windows platform.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 25
    Downloads: 14 This Week
    Last Update:
    See Project