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

  • Go From AI Idea to AI App Fast Icon
    Go From AI Idea to AI App Fast

    One platform to build, fine-tune, and deploy ML models. No MLOps team required.

    Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
    Try Free
  • AI-powered service management for IT and enterprise teams Icon
    AI-powered service management for IT and enterprise teams

    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity. Maximize operational efficiency with refreshingly simple, AI-powered Freshservice.
    Try it Free
  • 1
    TinyGSM

    TinyGSM

    A small Arduino library for GSM modules, that just works

    A small Arduino library for GSM modules that just works. This library is easy to integrate with lots of sketches that use Ethernet or WiFi. PubSubClient (MQTT), Blynk, HTTP Client, and File Download examples are provided. Arduino GSM library uses 15868 bytes (49%) of Flash and 1113 bytes (54%) of RAM in a similar scenario. TinyGSM also pulls data gently from the modem (whenever possible), so it can operate on very little RAM. Now, you have more space for your experiments. TCP (HTTP, MQTT, Blynk, ...) All modules support TCP connections. Most modules support multiple simultaneous connections. TCP and SSL connections can usually be mixed up to the total number of possible connections. Many GSM modems, WiFi, and radio modules can be controlled by sending AT commands over Serial. TinyGSM knows which commands to send, and how to handle AT responses, and wraps that into the standard Arduino Client interface.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 2
    VulkanSceneGraph

    VulkanSceneGraph

    Vulkan & C++17 based Scene Graph Project

    VulkanSceneGraph (VSG), is a modern, cross-platform, high-performance scene graph library built upon Vulkan graphics/compute API. The software is written in C++17 and follows the CppCoreGuidelines and FOSS Best Practices. The source code is published under the MIT License, with the exception of vulkan.h, used for Vulkan extensions, which is under Apache License 2.0. This repository contains C++ headers and source and CMake build scripts to build the libvsg library. Additional support libraries and examples are provided in separate repositories, links to these are provided below. The software currently builds under Linux (desktops variants through to Jetson & Raspberry Pi), Windows (VisualStudio, MinGW & Cygwin), Android, and macOS & iOS (using MoltenVk).
    Downloads: 4 This Week
    Last Update:
    See Project
  • 3
    libdatachannel

    libdatachannel

    C/C++ WebRTC network library featuring Data Channels, Media Transport

    libdatachannel is a C++ library that implements WebRTC DataChannels and ICE transports, enabling peer-to-peer communication without relying on media components. It is ideal for developers who want efficient, low-latency P2P communication for data transmission in IoT, multiplayer games, decentralized apps, or custom signaling architectures. Built for performance and minimalism, it allows fine-grained control over STUN, TURN, DTLS, and SCTP layers, with a clean and modern C++ interface.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 4
    GTK+ for Windows (MinGW)

    GTK+ for Windows (MinGW)

    Gtk 2&3 for Windows (MinGW)

    Leader badge
    Downloads: 26 This Week
    Last Update:
    See Project
  • 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
  • 5
    CityHash

    CityHash

    Automatically exported from Google code CityHash

    CityHash is a family of non-cryptographic hash functions optimized for extremely fast and high-quality hashing of strings on modern CPUs. Developed by Google, it is implemented in C++ and designed to efficiently handle both short and long inputs using techniques such as mixing operations and CPU-specific optimizations. CityHash offers multiple hash sizes—32-bit, 64-bit, 128-bit, and 256-bit variants—with the CRC-based versions leveraging hardware acceleration on CPUs that support SSE4.2 CRC32 instructions. The library emphasizes hashing performance and uniformity rather than cryptographic security, making it ideal for use in data structures like hash tables and distributed systems requiring rapid key lookups. CityHash has been rigorously tested using tools like SMHasher to ensure high-quality mixing and collision resistance across a wide range of inputs. Its speed and portability have made it a popular choice for developers needing dependable, lightweight hash functions.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 6
    Clipboard

    Clipboard

    Your new smart clipboard manager

    Your second brain that remembers anything, anytime, anywhere. The Clipboard Project (CB for short) is the oh-so-awesome clipboard manager that's just like a second brain. It's fast and lightweight, feature-packed, and super user-friendly. Anyone can use CB - no matter who you are or what you're working on, from web developers to your Average Joe and even to your grandma. Nothing dares lay more than a few button presses away. We've packed, crammed, and jammed CB full of useful features to increase your productivity in the most effective way possible. Make infinitely different clipboards, manipulate them with full-fat regex, instantly script them all, and way more.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    GSL

    GSL

    Guidelines support library

    The Guidelines Support Library (GSL) contains functions and types that are suggested for use by the C++ Core Guidelines maintained by the Standard C++ Foundation. This repo contains Microsoft's implementation of GSL. The entire implementation is provided inline in the headers under the gsl directory. The implementation generally assumes a platform that implements C++14 support. While some types have been broken out into their own headers (e.g. gsl/span), it is simplest to just include gsl/gsl and gain access to the entire library. This project makes use of the Google Test testing library. Please see the ThirdPartyNotices.txt file for details regarding the licensing of Google Test.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    Loguru

    Loguru

    A lightweight C++ logging library

    Loguru is a lightweight logging library designed to simplify logging in applications by providing a clean and easy-to-use interface. It focuses on reducing boilerplate code, allowing developers to add logging functionality quickly without complex configuration. The library supports multiple output formats and destinations, making it flexible for different use cases. It also includes features such as structured logging and filtering, which help organize and analyze log data effectively. Loguru is designed to be efficient and easy to integrate into existing projects. It emphasizes developer experience, making logging more intuitive and less error-prone. Overall, Loguru provides a streamlined approach to logging that improves both usability and functionality.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    RocksDB

    RocksDB

    A library with an embeddable, persistent key-value store for storage

    RocksDB uses a log structured database engine, written entirely in C++, for maximum performance. Keys and values are just arbitrarily-sized byte streams. RocksDB is optimized for fast, low latency storage such as flash drives and high-speed disk drives. RocksDB exploits the full potential of high read/write rates offered by flash or RAM. RocksDB is adaptable to different workloads. From database storage engines such as MyRocks to application data caching to embedded workloads, RocksDB can be used for a variety of data needs. RocksDB provides basic operations such as opening and closing a database, reading and writing to more advanced operations such as merging and compaction filters.
    Downloads: 3 This Week
    Last Update:
    See Project
  • $300 in Free Credit Towards Top Cloud Services Icon
    $300 in Free Credit Towards Top Cloud Services

    Build VMs, containers, AI, databases, storage—all in one place.

    Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
    Get Started
  • 10
    Simple-WebSocket-Server

    Simple-WebSocket-Server

    WebSocket (WS) and WebSocket Secure (WSS) server and client library

    A very simple, fast, multithreaded, platform-independent WebSocket (WS) and WebSocket Secure (WSS) server and client library implemented using C++11, Asio (both Boost.Asio and standalone Asio can be used) and OpenSSL. Created to be an easy way to make WebSocket endpoints in C++.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    XGBoost

    XGBoost

    Scalable and Flexible Gradient Boosting

    XGBoost is an optimized distributed gradient boosting library, designed to be scalable, flexible, portable and highly efficient. It supports regression, classification, ranking and user defined objectives, and runs on all major operating systems and cloud platforms. XGBoost works by implementing machine learning algorithms under the Gradient Boosting framework. It also offers parallel tree boosting (GBDT, GBRT or GBM) that can quickly and accurately solve many data science problems. XGBoost can be used for Python, Java, Scala, R, C++ and more. It can run on a single machine, Hadoop, Spark, Dask, Flink and most other distributed environments, and is capable of solving problems beyond billions of examples.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    oneDNN

    oneDNN

    oneAPI Deep Neural Network Library (oneDNN)

    This software was previously known as Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN) and Deep Neural Network Library (DNNL). oneAPI Deep Neural Network Library (oneDNN) is an open-source cross-platform performance library of basic building blocks for deep learning applications. oneDNN is part of oneAPI. The library is optimized for Intel(R) Architecture Processors, Intel Processor Graphics and Xe Architecture graphics. oneDNN has experimental support for the following architectures: Arm* 64-bit Architecture (AArch64), NVIDIA* GPU, OpenPOWER* Power ISA (PPC64), IBMz* (s390x), and RISC-V. oneDNN is intended for deep learning applications and framework developers interested in improving application performance on Intel CPUs and GPUs. Deep learning practitioners should use one of the applications enabled with oneDNN.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13

    WinPcap v4.1.3 (libpcap v1.7.4)

    Parse pcapng and nanoseconds pcaps

    This is libpcap v1.7.4 library ported to Windows and deployed as WinPcap v4.1.3. It supports pcapng files and pcap files with nanoseconds timestamps. Instruction: 1. Install standard WinPcap 4.1.3 package from http://www.winpcap.org/ 2. On Windows 64-bit * Copy bin\x64\wpcap.dll from archive to \Windows\System32 * Copy bin\wpcap.dll from archive to \Windows\SysWOW64 3. On Windows 32-bit * Copy bin\wpcap.dll from archive to \Windows\System32
    Leader badge
    Downloads: 73 This Week
    Last Update:
    See Project
  • 14
    The database access library for C++ programmers that provides the illusion of embedding SQL in regular C++ code, staying entirely within the C++ standard.
    Leader badge
    Downloads: 39 This Week
    Last Update:
    See Project
  • 15
    This is a lightweight library containing a number of classes and functions to ease the task of programming GTK+ programs with C++ in POSIX (unix-like) environments, including classes to make GTK+ exception safe and for writing threaded programs.
    Leader badge
    Downloads: 38 This Week
    Last Update:
    See Project
  • 16

    Poppler Win32

    Poppler/PopplerQt5 pre-built binaries for Win32 GCC

    Poppler Win32 are pre-built binaries of the Poppler library, it includes libpoppler.dll.a and libpoppler-qt5.dll.a. We made these pre-built binaries since building Poppler (Especially with Qt5 support) is hard and not fully supported on Microsoft Windows. Poppler Win32 was tested using Qt 5.2.1 and Mingw32. "Poppler is a PDF rendering library based on the xpdf-3.0 code base."
    Leader badge
    Downloads: 31 This Week
    Last Update:
    See Project
  • 17

    raspicam

    C++ library for controlling Raspberry Pi Camera (with/without OpenCV)

    This library allows to use the Raspberry Pi Camera. Main features: - Provides class RaspiCam for easy and full control of the camera - Provides class RaspiCam_Cv for easy control of the camera with OpenCV. - Easy compilation/installation using cmake. - No need to install development file of userland. Implementation is hidden. - Many examples
    Downloads: 14 This Week
    Last Update:
    See Project
  • 18
    Bloaty

    Bloaty

    Bloaty: a size profiler for binaries

    Bloaty is a deep, accurate size profiler for native binaries that tells you where every byte comes from so you can shrink executables and libraries intelligently. It parses binary formats like ELF, Mach-O, and DWARF symbol/debug data without relying solely on toolchain heuristics, letting you attribute size to files, sections, symbols, templates, and even compilation units. Reports can be produced at multiple granularities and diffed across builds to identify regressions introduced by compiler flags, dependencies, or new code paths. The tool is designed to be fast enough for iterative use in developer workflows and CI, making size budgets enforceable rather than aspirational. It also supports data sources such as symbol tables and map files, combining them into coherent, readable breakdowns. Teams use Bloaty to drive systematic size-reduction efforts in embedded, desktop, and mobile software where startup time, memory footprint, or download size matter.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    CGAL

    CGAL

    The Computational Geometry Algorithms Library

    CGAL or the Computational Geometry Algorithms Library is a C++ library that gives you easy access to a myriad of efficient and reliable geometric algorithms. These algorithms are useful in a wide range of applications, including computer aided design, robotics, molecular biology, medical imaging, geographic information systems and more. CGAL features a great range of data structures and algorithms, including Voronoi diagrams, cell complexes and polyhedra, triangulations, arrangements of curves, surface and volume mesh generation, spatial searching, alpha shapes, geometry processing, and many more. The use of these result in beautiful, visually complex and accurate representations.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    Effil

    Effil

    Multithreading support for Lua

    Effil is a multithreading library for Lua. It allows the spawn of native threads and safe data exchange. Effil has been designed to provide a clear and simple API for Lua developers. Effil supports Lua 5.1, 5.2, 5.3, and LuaJIT. Requires C++14 compiler compliance. Tested with GCC 4.9+, clang 3.8, and Visual Studio 2015.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    Hello ImGui

    Hello ImGui

    Hello, Dear ImGui: unleash your creativity in app development

    hello_imgui is a cross-platform framework that simplifies the development of graphical applications using Dear ImGui. It abstracts away boilerplate code for window creation, input handling, and platform integration, allowing developers to focus on building user interfaces and interactive content quickly. Targeted at prototyping, tools, and GUI apps, hello_imgui works on Windows, macOS, Linux, iOS, and WebAssembly with minimal setup. Its plug-and-play nature makes it ideal for teaching, demos, and productivity tools.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 22
    Lullaby

    Lullaby

    A collection of C++ libraries designed to help teams

    Lullaby is a modular collection of high-performance C++ libraries developed by Google for creating immersive virtual and augmented reality (VR/AR) experiences. It provides a flexible framework built around an Entity-Component-System (ECS) architecture, enabling developers to design efficient, scalable, and data-driven 3D applications. The framework includes tools and APIs for rendering full 3D environments, managing spatial audio, handling animations, and constructing interactive UI elements optimized for VR interfaces. Lullaby’s design promotes rapid iteration and cross-platform deployment, offering support for Android, iOS, Linux, and Windows. It integrates seamlessly with existing Android applications through a Java-based API and supports popular VR platforms such as Google Cardboard and Daydream. Originally used across multiple Google VR products, Lullaby serves as a foundation for building interactive worlds, responsive UIs, and dynamic simulations within immersive environments.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    NSync

    NSync

    nsync is a C library that exports various synchronization primitives

    nsync is a portable C library that provides a collection of advanced synchronization primitives designed to facilitate safe and efficient multithreaded programming. It offers reader-writer locks, condition variables, run-once initialization, waitable counters, and waitable bits for coordination and cancellation between threads. Unlike traditional pthreads-based synchronization, nsync introduces conditional critical sections, allowing developers to wait for arbitrary conditions without explicit signaling or complex loop-based logic. This approach simplifies concurrency management and often improves readability and maintainability of multithreaded code. The library emphasizes efficiency, with locks and condition variables occupying minimal memory and supporting cancellation mechanisms through nsync_note objects rather than thread-level cancellation. Designed with portability and performance in mind, nsync can be compiled on Unix-like systems and Windows using a C90 compiler.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Plog

    Plog

    Portable, simple and extensible C++ logging library

    Portable, simple and extensible C++ logging library. Plog is a C++ logging library that is designed to be as simple, small and flexible as possible. It is created as an alternative to existing large libraries and provides some unique features as CSV log format and wide string support.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    fast_float

    fast_float

    Implementation of the C++ from_chars functions for number types

    The fast_float library provides fast header-only implementations for the C++ from_chars functions for float and double types as well as integer types. These functions convert ASCII strings representing decimal values (e.g., 1.3e10) into binary types. We provide exact rounding (including round to even). In our experience, these fast_float functions many times faster than comparable number-parsing functions from existing C++ standard libraries. It parses the character sequence [first,last) for a number. It parses floating-point numbers expecting a locale-independent format equivalent to the C++17 from_chars function. The resulting floating-point value is the closest floating-point value (using either float or double), using the "round to even" convention for values that would otherwise fall right in between two values. That is, we provide exact parsing according to the IEEE standard.
    Downloads: 2 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB