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.

  • Skillfully - The future of skills based hiring Icon
    Skillfully - The future of skills based hiring

    Realistic Workplace Simulations that Show Applicant Skills in Action

    Skillfully transforms hiring through AI-powered skill simulations that show you how candidates actually perform before you hire them. Our platform helps companies cut through AI-generated resumes and rehearsed interviews by validating real capabilities in action. Through dynamic job specific simulations and skill-based assessments, companies like Bloomberg and McKinsey have cut screening time by 50% while dramatically improving hire quality.
    Learn More
  • Rezku Point of Sale Icon
    Rezku Point of Sale

    Designed for Real-World Restaurant Operations

    Rezku is an all-inclusive ordering platform and management solution for all types of restaurant and bar concepts. You can now get a fully custom branded downloadable smartphone ordering app for your restaurant exclusively from Rezku.
    Learn More
  • 1
    cpp-httplib

    cpp-httplib

    A C++ header-only HTTP/HTTPS server and client library

    A C++11 single-file header-only cross-platform HTTP/HTTPS library. It's extremely easy to setup. Just include the httplib.h file in your code! This is a multi-threaded 'blocking' HTTP library. If you are looking for a 'non-blocking' library, this is not the one that you want. SSL support is available with CPPHTTPLIB_OPENSSL_SUPPORT. libssl and libcrypto should be linked. When using SSL, it seems impossible to avoid SIGPIPE in all cases, since on some operating systems, SIGPIPE can only be suppressed on a per-message basis, but there is no way to make the OpenSSL library do so for its internal communications. If your program needs to avoid being terminated on SIGPIPE, the only fully general way might be to set up a signal handler for SIGPIPE to handle or ignore it yourself. cpp-httplib officially supports only the latest Visual Studio. It might work with former versions of Visual Studio, but I can no longer verify it.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 2
    FlatBuffers

    FlatBuffers

    Memory Efficient Serialization Library

    FlatBuffers is an open source, cross-platform serialization library designed for maximum memory efficiency. Originally created at Google for game development and other performance-critical apps, FlatBuffers has the unique ability of allowing you to directly access serialized data without having to parse or unpack beforehand. Since the only memory needed to access your data is that of the buffer, it is also very memory efficient and fast. FlatBuffers supports Windows, MacOS, Linux and Android, as well as any other operating systems with a recent C++ compiler. It supports a great number of programming languages, including C++, C#, C, Go, Java, Kotlin, JavaScript, Lobster, Lua, TypeScript, PHP and many others in progress.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 3
    subconverter

    subconverter

    Utility to convert between various subscription format

    Utility to convert between various subscription format. Shadowrocket users should use ss, ssr or v2ray as target. You can add &remark= to Telegram-liked HTTP/Socks 5 links to set a remark for this node. Add a Personal Access Token into gistconf.ini in the root directory, then add &upload=true to the local subscription link, then when you access this link, the program will automatically update the content to Gist repository.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 4
    FastLED

    FastLED

    The FastLED library for colored LED animation on Arduino

    FastLED is a fast, efficient, easy-to-use Arduino library for programming addressable LED strips and pixels such as WS2810, WS2811, LPD8806, Neopixel and more. FastLED is used by thousands of developers, in countless art and hobby projects, and in numerous commercial products. We build FastLED to help you get started faster, develop your code faster, and make your code run faster. FastLED supports popular LEDs including Neopixel, WS2801, WS2811, WS2812B, LPD8806, TM1809, and more. The library runs on a wide range of Arduino and compatible boards, including both AVR- and ARM- based microcontrollers. In addition to fast, efficient, compatible LED driver code, FastLED also provides features that get your animations up and running fast.
    Downloads: 14 This Week
    Last Update:
    See Project
  • Loan management software that makes it easy. Icon
    Loan management software that makes it easy.

    Ideal for lending professionals who are looking for a feature rich loan management system

    Bryt Software is ideal for lending professionals who are looking for a feature rich loan management system that is intuitive and easy to use. We are 100% cloud-based, software as a service. We believe in providing our customers with fair and honest pricing. Our monthly fees are based on your number of users and we have a minimal implementation charge.
    Learn More
  • 5
    JsonCpp

    JsonCpp

    A C++ library for interacting with JSON

    JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files. The branch 00.11.zis a new branch, its major version number 00 is to show that it is different from 0.y.z and 1.y.z, the main purpose of this branch is to make a balance between the other two branches. Thus, users can use some new features in this new branch that introduced in 1.y.z, but can hardly applied into 0.y.z. You can download and install JsonCpp using the vcpkg dependency manager. The JsonCpp port in vcpkg is kept up to date by Microsoft team members and community contributors.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 6
    Point Cloud Library

    Point Cloud Library

    A standalone, large scale, open project for 2D/3D image processing

    The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. PCL is released under the terms of the BSD license, and thus free for commercial and research use. Whether you’ve just discovered PCL or you’re a long time veteran, this page contains links to a set of resources that will help consolidate your knowledge on PCL and 3D processing. An additional Wiki resource for developers is available too. To simplify both usage and development, we split PCL into a series of modular libraries. PCL is cross-platform, and has been successfully compiled and deployed on Linux, MacOS, Windows, and Android. To simplify development, PCL is split into a series of smaller code libraries, that can be compiled separately. This modularity is important for distributing PCL on platforms with reduced computational or size constraints.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 7
    IRremote Arduino Library

    IRremote Arduino Library

    Infrared remote library for Arduino, send and receive infrared signals

    This library enables you to send and receive using infra-red signals on an Arduino. You can use any pin for sending now like you are used to receiving. Simultaneous sending and receiving. See the SendAndReceive example. No more need to use 32-bit hex values in your code. Instead, a (8 bit) command value is provided for decoding (as well as a 16-bit address and a protocol number). Protocol values comply to protocol standards, i.e. NEC, Panasonic, Sony, Samsung, and JVC decode and send LSB first. Supports more protocols, since adding a protocol is quite easy now. Better documentation and more examples. Compatible with tone() library, see ReceiveDemo. Supports more platforms, since the new structure allows to easily add a new platform. Feedback LED also for sending. Ability to generate a non-PWM signal to just simulate an active low receiver signal for direct connection to existent receiving devices without using IR.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 8
    CUDA Core Compute Libraries (CCCL)

    CUDA Core Compute Libraries (CCCL)

    CUDA Core Compute Libraries

    CCCL, or CUDA Core Compute Libraries, is a unified repository that consolidates several foundational CUDA C++ libraries into a single, cohesive development platform. It brings together Thrust, CUB, and libcudacxx, which collectively provide high-level abstractions, low-level performance primitives, and a CUDA-compatible standard library for GPU programming. The goal of CCCL is to simplify CUDA development by offering reusable building blocks that enable developers to write efficient and scalable parallel code without starting from scratch. Thrust provides a high-level interface for parallel algorithms, while CUB delivers highly optimized primitives for device-level operations, and libcudacxx ensures compatibility with modern C++ standards. By unifying these components, CCCL reduces duplication and improves developer productivity while maintaining performance across different GPU architectures.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 9
    linuxdeployqt

    linuxdeployqt

    Makes Linux applications self-contained by copying in the libraries

    Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications. This Linux Deployment Tool, linuxdeployqt, takes an application as input and makes it self-contained by copying in the resources that the application uses (like libraries, graphics, and plugins) into a bundle. The resulting bundle can be distributed as an AppDir or as an AppImage to users, or can be put into cross-distribution packages. It can be used as part of the build process to deploy applications written in C, C++, and other compiled languages with systems like CMake, qmake, and make. When used on Qt-based applications, it can bundle a specific minimal subset of Qt required to run the application. This tool is conceptually based on the Mac Deployment Tool, macdeployqt in the tools applications of the Qt Toolkit, but has been changed to a slightly different logic.
    Downloads: 11 This Week
    Last Update:
    See Project
  • Failed Payment Recovery for Subscription Businesses Icon
    Failed Payment Recovery for Subscription Businesses

    For subscription companies searching for a failed payment recovery solution to grow revenue, and retain customers.

    FlexPay’s innovative platform uses multiple technologies to achieve the highest number of retained customers, resulting in reduced involuntary churn, longer life span after recovery, and higher revenue. Leading brands like LegalZoom, Hooked on Phonics, and ClinicSense trust FlexPay to recover failed payments, reduce churn, and increase customer lifetime value.
    Learn More
  • 10
    wxWidgets

    wxWidgets

    Cross-Platform C++ GUI Library

    wxWidgets is a C++ library that lets developers create applications for Windows, macOS, Linux, and other platforms with a single code base. It has popular language bindings for Python, Ruby, Lua, Perl, and several other languages, and unlike other cross-platform toolkits, wxWidgets gives applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source, and mature.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 11
    QtAV

    QtAV

    A multimedia framework based on Qt and FFmpeg

    QtAV is a cross-platform and high performance multimedia playback framework based on Qt and FFmpeg. Features: timeline preview, gpu decoding etc
    Leader badge
    Downloads: 67 This Week
    Last Update:
    See Project
  • 12
    Arduino libraries

    Arduino libraries

    Arduino libraries and code

    This repository contains several Arduino libraries I have written to be used in applications. Most of them include example code on how the libraries can be used. Furthermore, this repository contains a few stand-alone applications. For bugs in the libraries, please fill in an issue in Github as that makes it far easier to track them. If possible provide a minimal code snippet that exposes the bug. Add information about the platform used and version etc. Also, proposals for solutions are welcome. For improvements and changes, please provide a pull request. I will try to follow up on them asap but it can take quite some time. Please try to be generic in your improvements and try to see "over the needs of your own application".
    Downloads: 10 This Week
    Last Update:
    See Project
  • 13
    IRremoteESP8266

    IRremoteESP8266

    Infrared remote library for ESP8266/ESP32

    Infrared remote library for ESP8266/ESP32. Send and receive infrared signals with multiple protocols. This library enables you to send and receive infra-red signals on an ESP8266 or an ESP32 using the Arduino framework using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48} demodulators etc. Usage of the library has been slightly changed in v2.0. You will need to change your usage to work with v2.0 and beyond. You can read more about the changes required on our Upgrade to v2.0 page. The library has changed from using constants declared as #define to const with the appropriate naming per the C++ style guide. This may potentially cause old programs to not compile. The most likely externally used #defines have been aliased for limited backward compatibility for projects using the old style. Going forward, only the new constant name style will be supported for new protocol additions.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 14
    Perfetto

    Perfetto

    Production-grade client-side tracing, profiling, and analysis

    Perfetto is a production-grade tracing platform for Android, Linux, and Chrome that captures extremely detailed information about what a system is doing over time. It’s designed around a low-overhead producer/consumer model: instrumented components (“producers”) write binary events into shared memory buffers and a collector (“service”) reliably streams them to storage. The data model spans kernel and userspace, so you can stitch together CPU scheduling, app lifecycles, binder/IPC hops, GPU work, power and thermal signals, file I/O, heap samples, and more into a single coherent timeline. Perfetto’s ecosystem includes a web-based UI that can load multi-GB traces directly in the browser and an offline “trace processor” that exposes the trace as a queryable SQL-like table schema for deep analysis and automation. It integrates natively with Android (replacing older atrace/Systrace paths) and can sit alongside custom instrumentation in apps or services through its SDKs.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 15
    TensorRT

    TensorRT

    C++ library for high performance inference on NVIDIA GPUs

    NVIDIA® TensorRT™ is an SDK for high-performance deep learning inference. It includes a deep learning inference optimizer and runtime that delivers low latency and high throughput for deep learning inference applications. TensorRT-based applications perform up to 40X faster than CPU-only platforms during inference. With TensorRT, you can optimize neural network models trained in all major frameworks, calibrate for lower precision with high accuracy, and deploy to hyperscale data centers, embedded, or automotive product platforms. TensorRT is built on CUDA®, NVIDIA’s parallel programming model, and enables you to optimize inference leveraging libraries, development tools, and technologies in CUDA-X™ for artificial intelligence, autonomous machines, high-performance computing, and graphics. With new NVIDIA Ampere Architecture GPUs, TensorRT also leverages sparse tensor cores providing an additional performance boost.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 16
    Shaderc

    Shaderc

    A collection of tools, libraries, and tests for Vulkan shader

    Shaderc is a collection of tools and libraries for compiling shaders—small programs that run on GPUs—into SPIR-V, the intermediate representation used by the Vulkan graphics API. It provides both a command-line tool (glslc) and a C/C++ library (libshaderc) that wrap the functionality of glslang (the Khronos reference compiler for GLSL) and SPIRV-Tools to deliver a modern, scriptable, and efficient shader compilation workflow. The glslc compiler offers a GCC/Clang-like interface for building GLSL and HLSL shaders, making it easy to integrate into existing build systems. Meanwhile, libshaderc exposes a stable API that allows developers to programmatically compile shader strings into SPIR-V modules within graphics engines and tools. Shaderc supports advanced features such as file inclusion (#include), concurrency, and cross-platform builds, and it maintains backward compatibility for long-term projects.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 17
    Blynk C++ Library

    Blynk C++ Library

    Blynk library for embedded hardware

    Blynk is the most popular Internet of Things platform for connecting any hardware to the cloud, designing apps to control them, and managing your deployed products at scale. With Blynk Library you can connect over 400 hardware models (including ESP8266, ESP32, NodeMCU, all Arduinos, Raspberry Pi, Particle, Texas Instruments, etc.)to the Blynk Cloud. With Blynk apps for iOS and Android apps you can easily drag-n-drop graphic interfaces for any DIY or commercial project. It's a pure WYSIWG experience, no coding on iOS or Android required. Hardware can connect to Blynk Cloud (open-source server) over the Internet using hardware connectivity available on your board (like ESP32), or with the use of various shields (Ethernet, WiFi, GSM, LTE, etc). Blynk Cloud is available for every user of Blynk for free. Direct connection over Bluetooth is also possible. Check the included examples on how to use different types of connections (transports) and explore Blynk features.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 18
    ESP32 BLE Keyboard library

    ESP32 BLE Keyboard library

    Bluetooth LE Keyboard library for the ESP32

    This library allows you to make the ESP32 act as a Bluetooth Keyboard and control what it does. Compatible with Android. Compatible with Windows. Compatible with Linux. Compatible with MacOS X (not stable, some people have issues, doesn't work with old devices). Compatible with iOS (not stable, some people have issues, doesn't work with old devices). There is also Bluetooth-specific information that you can set (optional): Instead of BleKeyboard bleKeyboard; you can do BleKeyboard bleKeyboard("Bluetooth Device Name", "Bluetooth Device Manufacturer", 100);. (Max length is 15 characters, anything beyond that will be truncated.) By default the battery level will be set to 100%, the device name will be ESP32 Bluetooth Keyboard and the manufacturer will be Espressif. This feature is meant to compensate for some applications and devices that can't handle fast input and will skip letters if too many keys are sent in a small time frame.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 19
    Open3D

    Open3D

    A modern library for 3D data processing

    Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. Open3D was developed from a clean slate with a small and carefully considered set of dependencies. It can be set up on different platforms and compiled from source with minimal effort. The code is clean, consistently styled, and maintained via a clear code review mechanism. Open3D has been used in a number of published research projects and is actively deployed in the cloud. We welcome contributions from the open-source community. GCC 5.X and later on Linux. XCode 10+ and later on OS X 10.14+. Visual Studio 2019 and later on Windows.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 20
    Tracy Profiler

    Tracy Profiler

    Frame profiler

    A real-time, nanosecond resolution, remote telemetry, hybrid frame, and sampling profiler for games and other applications. Tracy supports profiling CPU (Direct support is provided for C, C++, Lua and Python integration. At the same time, third-party bindings to many other languages exist on the internet, such as Rust, Zig, C#, OCaml, Odin, etc.), GPU (All major graphic APIs: OpenGL, Vulkan, Direct3D 11/12, OpenCL.), memory allocations, locks, context switches, automatically attribute screenshots to captured frames, and much more.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 21
    spdlog

    spdlog

    Fast C++ logging library

    spdlog is a header only library. Just copy the files under include to your build tree and use a C++11 compiler. It provides a python like formatting API using the bundled fmt lib. spdlog takes the "include what you need" approach, your code should include the features that actually needed. For example, if you only need rotating logger, you need to include "spdlog/sinks/rotating_file_sink.h". spdlog provides various log targets, which are, rotating log files, daily log files, console logging (colors supported), syslog, Windows event log, and Windows debugger (OutputDebugString(..)). Easily extendable with custom log targets. Log filtering, log levels can be modified in runtime as well as in compile time. Support for loading log levels from argv or from environment var. Backtrace support, store debug messages in a ring buffer and display later on demand.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 22
    7-Zip-JBinding

    7-Zip-JBinding

    Java wrapper for 7z archiver engine

    Native (JNI) cross-platform library to extract (password protected, multi-part) 7z Zip Rar Tar Split Lzma Iso HFS GZip Cpio BZip2 Z Arj Chm Lhz Cab Nsis Deb Rpm Wim Udf archives and create 7z, Zip, Tar, GZip & BZip2 from Java.
    Leader badge
    Downloads: 53 This Week
    Last Update:
    See Project
  • 23
    PcapPlusPlus

    PcapPlusPlus

    Multiplatform C++ library for parsing and crafting of network packets

    A multi-platform C++ library for capturing, parsing, and crafting of network packets. It is designed to be efficient, powerful, and easy to use. PcapPlusPlus enables capturing and sending network packets through easy-to-use C++ wrappers for the most popular packet processing engines such as libpcap, WinPcap, NPcap, DPDK and PF_RING. PcapPlusPlus enables decoding and forging capabilities for a large variety of network protocols. PcapPlusPlus is designed to be efficient and lightweight. It enables amazingly fast packet processing with minimum overhead. PcapPlusPlus is fully supported on Windows, MacOS, Linux, Android and FreeBSD. You can download pre-built binaries for each platform or build it from source. PcapPlusPlus is available in popular package managers such as Homebrew and Conan. PcapPlusPlus provides an easy-to-use interface for reading and writing network packets into files.It supports the most popular file formats which are PCAP and PCAPNG.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 24
    Replica Dataset

    Replica Dataset

    High-fidelity indoor 3D dataset for AI simulation and robotics

    Replica Dataset is a high-quality 3D dataset of realistic indoor environments designed to advance research in computer vision, robotics, and embodied AI. Developed by Facebook Research (now Meta AI), it features accurate geometric reconstructions, high-resolution and high dynamic range textures, and comprehensive semantic annotations. Each environment contains detailed models of real-world spaces, including rooms, furniture, glass, and mirror surfaces. The dataset also provides semantic and instance segmentations, planar decomposition, and navigation meshes, making it highly suitable for simulation, visual perception, and autonomous navigation tasks. Replica integrates seamlessly with AI Habitat, Meta’s framework for embodied AI training, enabling large-scale agent simulation and photorealistic rendering for reinforcement learning and robotics. Researchers can use Replica’s ReplicaViewer to interactively explore the 3D scenes.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 25
    TensorFlow

    TensorFlow

    TensorFlow is an open source library for machine learning

    Originally developed by Google for internal use, TensorFlow is an open source platform for machine learning. Available across all common operating systems (desktop, server and mobile), TensorFlow provides stable APIs for Python and C as well as APIs that are not guaranteed to be backwards compatible or are 3rd party for a variety of other languages. The platform can be easily deployed on multiple CPUs, GPUs and Google's proprietary chip, the tensor processing unit (TPU). TensorFlow expresses its computations as dataflow graphs, with each node in the graph representing an operation. Nodes take tensors—multidimensional arrays—as input and produce tensors as output. The framework allows for these algorithms to be run in C++ for better performance, while the multiple levels of APIs let the user determine how high or low they wish the level of abstraction to be in the models produced. Tensorflow can also be used for research and production with TensorFlow Extended.
    Downloads: 7 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB