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.

  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • Optimize every aspect of hiring with Greenhouse Recruiting Icon
    Optimize every aspect of hiring with Greenhouse Recruiting

    Hire for what's next.

    What’s next for many of us is changing. Your company’s ability to hire great talent is as important as ever – so you’ll be ready for whatever’s ahead. Whether you need to scale your team quickly or improve your hiring process, Greenhouse gives you the right technology, know-how and support to take on what’s next.
    Learn More
  • 1

    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
  • 2
    Open HTML to PDF

    Open HTML to PDF

    An HTML to PDF library for the JVM

    Open HTML to PDF is a pure-Java library for rendering a reasonable subset of well-formed XML/XHTML (and even some HTML5) using CSS 2.1 (and later standards) for layout and formatting, outputting to PDF or images. Use this library to generated nice looking PDF documents. But be aware that you can not throw modern HTML5+ at this engine and expect a great result. You must special craft the HTML document for this library and use it's extended CSS feature like #31 or #32 to get good results. Avoid floats near page breaks and use table layouts.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    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: 3 This Week
    Last Update:
    See Project
  • 4
    PSLab Android App

    PSLab Android App

    PSLab Android App

    Repository for the PSLab Android App for performing experiments with the Pocket Science Lab open-hardware platform. This repository holds the Android App for performing experiments with PSLab. PSLab is a tiny pocket science lab that provides an array of equipment for doing science and engineering experiments. It can function like an oscilloscope, waveform generator, frequency counter, programmable voltage and current source and also as a data logger. PSLab is a tiny pocket science lab that provides an array of equipment for doing science and engineering experiments.
    Downloads: 3 This Week
    Last Update:
    See Project
  • One Unified Time Tracking Software For Projects, Billing, Pay and Compliance Icon
    One Unified Time Tracking Software For Projects, Billing, Pay and Compliance

    For companies of all sizes looking for a Time Tracking software

    Replicon's time-tracking platform is scalable and configurable to support the diverse needs of small, mid & large businesses with a remote and globally distributed workforce. Replicon’s Time Tracking is a cloud-based, enterprise-grade solution that tracks employee time across projects, tasks, presence, and absence to facilitate client billing, project costing, and compliant payroll processing. The scalable and configurable platform offers seamless integration with common business technology stacks, such as ERP, CRM, Accounting, and payroll solutions. With AI-powered time capture, mobile apps, and labor compliance as a service, Replicon makes time tracking hassle-free.
    Learn More
  • 5
    RSocket

    RSocket

    Java implementation of RSocket

    Application protocol providing Reactive Streams semantics. RSocket provides a protocol for Reactive Streams semantics between client-server, and server-server communication. RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. RSocket is intended to be consumed via one of the various implementation libraries which implement the RSocket Protocol. By default to make RSocket easier to use it copies the incoming Payload. Copying the payload comes at cost to performance and latency. If you want to use zero copy you must disable this. To disable copying you must include a payloadDecoder argument in your RSocketFactory. This will let you manage the Payload without copying the data from the underlying transport. You must free the Payload when you are done with them or you will get a memory leak. Used correctly this will reduce latency and increase performance.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 6
    JDatePicker: Java Swing Date Picker

    JDatePicker: Java Swing Date Picker

    This project now lives at: https://github.com/JDatePicker/JDatePicker

    This project now lives at: https://github.com/JDatePicker/JDatePicker Will keep this sf.net project active to point to github. JDatePicker and JDatePanel is an set of advanced DatePicker controls for Java Swing applications. The MVC design enables us to display any date object such as Joda-Time DateMidnight. The date picker also works well with JGoodies Binding.
    Leader badge
    Downloads: 14 This Week
    Last Update:
    See Project
  • 7
    Aleph

    Aleph

    Asynchronous streaming communication for Clojure

    Aleph is an asynchronous I/O framework for Clojure built atop Netty, offering efficient, non-blocking network programming with support for HTTP, raw TCP/UDP, and streaming through Manifold streams. Aleph follows the Ring spec fully and can be a drop-in replacement for any existing Ring-compliant server. However, it also allows for the handler function to return a Manifold deferred to represent an eventual response. This feature may not play nicely with synchronous Ring middleware, which modifies the response, but this can be easily fixed by reimplementing the middleware using Manifold's let-flow operator. The aleph.http/wrap-ring-async-handler helper can be used to convert async 3-arity Ring handler to an Aleph-compliant one.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 8
    Android Layout Engine

    Android Layout Engine

    A JSON based LayoutInflater for Android

    Proteus is meant to be a drop-in replacement for Android’s LayoutInflater; but unlike the compiled XML layouts bundled in the APK, Proteus inflates layouts at runtime. With Proteus, you can control your Apps layout from the backend (no WebViews). Forget the boilerplate code to findViewById, cast it to a TextView, and then setText(). Proteus has runtime data bindings and formatters. Plugin in your own custom views and attributes and functions to flavour proteus to your requirements.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 9
    Android-GoogleDirectionLibrary

    Android-GoogleDirectionLibrary

    Library for Google Direction API for Google Maps Android API v2

    Library for Google Direction API for Google Maps Android API v2.
    Downloads: 2 This Week
    Last Update:
    See Project
  • All Things Performance and Partner Marketing, All in One Place Icon
    All Things Performance and Partner Marketing, All in One Place

    Track calls, leads, and clicks without the manual work

    Automatically tie revenue back to campaigns, channels, publishers, and networks through marketing attribution. Spend less time juggling reports, and more time optimizing for growth by using a single operating solution for partner and performance marketing.
    Learn More
  • 10
    Apache Drill

    Apache Drill

    Apache Drill is a distributed MPP query layer for self describing data

    Apache Drill is a distributed MPP query layer that supports SQL and alternative query languages against NoSQL and Hadoop data storage systems. It was inspired in part by Google's Dremel. Get faster insights without the overhead (data loading, schema creation and maintenance, transformations, etc.) Analyze the multi-structured and nested data in non-relational datastores directly without transforming or restricting the data. Leverage your existing SQL skillsets and BI tools including Tableau, Qlikview, MicroStrategy, Spotfire, Excel and more. Drill supports a variety of NoSQL databases and file systems, including HBase, MongoDB, MapR-DB, HDFS, MapR-FS, Amazon S3, Azure Blob Storage, Google Cloud Storage, Swift, NAS and local files. A single query can join data from multiple datastores. For example, you can join a user profile collection in MongoDB with a directory of event logs in Hadoop.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    Event Ruler

    Event Ruler

    Java library that allows matching many thousands of Events per second

    Event Ruler (called Ruler in the rest of the doc for brevity) is a Java library that allows matching Rules to Events. An event is a list of fields, which may be given as name/value pairs or as a JSON object. A rule associates event field names with lists of possible values. Event Ruler is a Java library that allows matching many thousands of Events per second to any number of expressive and sophisticated rules.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 12
    FFmpeg-Android-Java

    FFmpeg-Android-Java

    Android java library for FFmpeg binary

    FFmpeg Android java is a java library that simplifies your task of using ffmpeg in Android project which I've compiled using FFmpeg-Android.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    Fresco

    Fresco

    An Android library for managing images and the memory they use

    Fresco’s image pipeline will load images from the network, local storage, or local resources. To save data and CPU, it has three levels of cache; two in memory and another in internal storage. Fresco’s Drawee shows a placeholder for you until the image has loaded and then automatically shows the image when it arrives. When the image goes off-screen, it automatically releases its memory. A decompressed image - an Android Bitmap - takes up a lot of memory. This leads to more frequent runs of the Java garbage collector. This slows apps down. The problem is especially bad without the improvements to the garbage collector made in Android 5.0. On Android 4.x and lower, Fresco puts images in a special region of Android memory. It also makes sure that images are automatically released from memory when they’re no longer shown on screen. This lets your application run faster - and suffer fewer crashes.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    Helidon

    Helidon

    Java libraries for writing microservices

    Helidon is a cloud-native, open‑source set of Java libraries for writing microservices that run on a fast web core powered by Netty. Helidon Níma is the first Java microservices framework based on virtual threads. Helidon is designed to be simple to use, with tooling and examples to get you going quickly. Since Helidon is simply a collection of Java libraries running on a fast Netty core, there is no extra overhead or bloat. Helidon supports MicroProfile and provides familiar APIs like JAX-RS, CDI and JSON-P/B. Our implementation runs on our fast Helidon Reactive WebServer. Helidon Reactive WebServer provides a modern functional programming model and runs on top of Netty. Lightweight, flexible and reactive, the Helidon WebServer provides a simple-to-use and fast foundation for your microservices.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    Hyperion Android

    Hyperion Android

    App Debugging & Inspection Tool for Android

    Hyperion is a hidden plugin drawer that can easily be integrated into any app. The drawer sits discreetly under the app so that it is there when you need it and out of the way when you don't. Hyperion plugins are designed to make inspection of your app quick and simple. Be one of the first to create a third-party plugin. The plugin creation guide is a work in progress, but if you are feeling ambitious you can reference the plugins we have already created. To create your own plugin, implement the Plugin interface and expose the implementation as a service. The plugins made available in this repository leverage Google's AutoService annotation processor to generate the service metadata and simplify the process.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    LaTeX Examples

    LaTeX Examples

    Examples for the usage of LaTeX

    LaTeX-examples is a repository collecting a variety of example documents and snippets demonstrating LaTeX features, usage patterns, and common templates. It acts as a playground for learning LaTeX syntax, macros, formatting tricks, and document structuring practices. Files include sample articles, reports, book chapters, presentations (using Beamer), tables, mathematical typesetting examples (equations, aligned systems, integrals, matrices), custom macros, and styling. The project is useful both for beginners who want to see working LaTeX samples and for more advanced users seeking snippets for specific formatting needs (e.g., customizing headers, floats, customizing theorem environments). Because examples are self-contained and well-commented, users can copy, adapt, or test them without needing a large TeX toolchain.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    MPAndroidChart

    MPAndroidChart

    A powerful Android chart view / graph view library

    MPAndroidChart is a powerful chart library for Android that offers a beautiful and comprehensive range of charts and graphs. Powerful and very easy to use, it supports the creation of bar-, line-, pie-, bubble-, scatter-, radar- and candlestick charts, as well as scaling, dragging and animations. Charts are rendered cleanly and are visually engaging. Visualizing your data exactly how you want is so much easier with MPAndroidChart. To see more great examples of MPAndroidChart, download the MPAndroidChart Example App on Google Play.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    MyBatis Spring Adapter

    MyBatis Spring Adapter

    Spring integration for MyBatis 3

    MyBatis-Spring adapter is an easy-to-use Spring Framework bridge for MyBatis sql mapping framework. MyBatis-Spring integrates MyBatis seamlessly with Spring. This library allows MyBatis to participate in Spring transactions, takes care of building MyBatis mappers and SqlSessions and inject them into other beans, translates MyBatis exceptions into Spring DataAccessExceptions, and finally, it lets you build your application code free of dependencies on MyBatis, Spring or MyBatis-Spring. Spring version 2 only supports iBATIS version 2. An attempt was made to add MyBatis 3 support into Spring 3 (see the Spring Jira issue. Unfortunately, Spring 3 development ended before MyBatis 3 was officially released. Because the Spring team did not want to release with code based on a non-released version of MyBatis, official Spring support would have to wait.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    Retrofit

    Retrofit

    Type-safe HTTP client for Android and Java by Square

    Retrofit is a type-safe HTTP client for Android and Java developed by Square. It allows developers to define REST API calls using simple interface annotations, automatically converting responses into Java objects using converters like Gson or Moshi. Retrofit greatly simplifies network requests by abstracting away boilerplate code, making API integration in mobile and Java apps seamless and maintainable.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    S3Mock

    S3Mock

    A simple mock implementation of the AWS S3 API startable as Docker

    S3Mock is a lightweight server that implements parts of the Amazon S3 API. It has been created to support local integration testing by reducing infrastructure dependencies. The S3Mock server can be started as a standalone Docker container, using Test containers, JUnit4, JUnit5 and TestNG support, or programmatically.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    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: 2 This Week
    Last Update:
    See Project
  • 22
    Siddhi Core Libraries

    Siddhi Core Libraries

    Stream Processing and Complex Event Processing Engine

    Fully open source, cloud-native, scalable, micro streaming, and complex event processing system capable of building event-driven applications for use cases such as real-time analytics, data integration, notification management, and adaptive decision-making. Event processing logic can be written using Streaming SQL queries via graphical and source editors, to capture events from diverse data sources, process and analyze them, integrate with multiple services and data stores, and publish output to various endpoints in real time. Agile development experience with SQL-like query language and graphical drag-and-drop editor supporting event simulation. Lightweight runtime that can natively run on Kubernetes, Docker, VM, or bare metal, and embedded in any Java or Python application. Scalable, and highly available distributed event processing on Kubernetes, with NATS Streaming and Siddhi Kubernetes Operator.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    Socket.IO-client Java

    Socket.IO-client Java

    A Socket.IO client library for Java

    This is the Socket.IO Client Library for Java, which is simply ported from the JavaScript client. The latest artifact is available on Maven Central. There are several ways to handle events that are transmitted between the server and the client. Add the listener function to the end of the listeners array for the event named eventName. Add a one-time listener function for the event named eventName. Remove the specified listener from the listener array for the event named eventName. Remove all listeners for the specific eventName. Remove all listeners (for any event). Besides emitting and listening to events, the Socket instance has a few attributes that may be of use in your application. Each new connection is assigned a random 20-characters identifier.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24

    Tinker

    Android hot-fix solution library

    Tinker is a hot-fix solution library for Android, and the official one for WeChat. It supports dex, So library, and resources, allowing application updates without needing reinstallation. Tinker consists mainly of 3 parts: a gradle compile plugin, a core SDK library, and a command-line version of non-gradle compiled users. There are many other hot-fix solutions just like Tinker, but Tinker overcomes many of the problems that other solutions have. For starters, Tinker offers class, So and resource replacement, something that most other solutions do not. It offers full platform support and gradle support, while being smaller and simpler.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    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: 2 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB