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.

  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    The database for AI-powered applications.

    MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
    Start Free
  • Simple, Secure Domain Registration Icon
    Simple, Secure Domain Registration

    Get your domain at wholesale price. Cloudflare offers simple, secure registration with no markups, plus free DNS, CDN, and SSL integration.

    Register or renew your domain and pay only what we pay. No markups, hidden fees, or surprise add-ons. Choose from over 400 TLDs (.com, .ai, .dev). Every domain is integrated with Cloudflare's industry-leading DNS, CDN, and free SSL to make your site faster and more secure. Simple, secure, at-cost domain registration.
    Sign up for free
  • 1
    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: 73 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: 4 This Week
    Last Update:
    See Project
  • 3
    GUI-lite

    GUI-lite

    The smallest header-only GUI library(4 KLOC) for all platforms

    The smallest header-only GUI library (4 KLOC) for all platforms. Cloud + IoT Solution: master your IoT business all over the world. Multi-language supports UTF-8; Playback Video. Toolkit for building font/image resources. Code Telemetry and Analysis in real-time (remove .sh/.bat files if dislike sharing). Even a C beginner could master GUI-lite quickly. The source code only uses basic C++ features (class, virtual function). We chose C++ as it could make the code size significantly smaller and easier to read. Work smoothly with 3rd party frameworks(Qt/MFC/Winform/Cocoa/Web). Zero dependency, 100% build pass & runnable. Click the demo you like, and run it on your hardware.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 4
    HARFANG 3D engine

    HARFANG 3D engine

    HARFANG 3D source code public repository

    HARFANG 3D builds real-time 3D tools for industry professionals. Its software suite is tailored to developers, designers and engineers aiming to efficiently and seamlessly develop, implement & deploy 3D solutions (HMI, VR/AR, simulation, interactive 3D), regardless of development language or platform constraints. HARFANG Studio is the ideal 3D editor for creating real-time scenes & animations that match your design vision. It can manage the entire 3D graphics production workflow in a simple and optimized manner, without compromising the integration in other development environments. HARFANG Studio’s philosophy is in line with that of HARFANG 3D engine, a compliant, straightforward, fast & lightweight. Everything that runs in HARFANG Studio is compatible with our Framework and its supported coding languages. HARFANG Framework is an easy-to-adapt, cross-platform, multi-language, powerful and optimized 3D visualization engine written in C++ and accessible via an open API in C++.
    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
    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: 4 This Week
    Last Update:
    See Project
  • 6
    lockfree

    lockfree

    A collection of lock-free data structures written in standard C++11

    lockfree is a collection of lock-free data structures written in standard C++11 and suitable for all platforms - from deeply embedded to HPC. Lock-free data structures are data structures that are thread and interrupt-safe for concurrent use without having to use mutual exclusion mechanisms. They are most useful for inter-process communication and often scale much better than lock-based structures with the number of operations and threads.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    QtRPT

    QtRPT

    Easy-to-use print report library and designer

    QtRPT is the easy-to-use report engine written in C++ QtToolkit. It allows combining several reports in one XML file. For separately taken field, you can specify some condition depending on which this field will display in different font and background color, etc. The project consists of two parts: report library QtRPT and report designer application QtRptDesigner. Report file is a file in XML format. The report designer makes easy to create report XML file.
    Leader badge
    Downloads: 18 This Week
    Last Update:
    See Project
  • 8
    Nana C++ Library

    Nana C++ Library

    A modern C++ GUI library

    Nana C++ Library takes aim at easy-to-use and portable library, it provides a GUI framework and threads for easy programming with modern C++ methods, such as traits, metaprogramming and other template technologies. Documentation http://nanapro.org/en-us/documentation Feel free to report a bug at https://github.com/cnjinhao/nana/issues
    Downloads: 16 This Week
    Last Update:
    See Project
  • 9
    GTK+ for Windows (MinGW)

    GTK+ for Windows (MinGW)

    Gtk 2&3 for Windows (MinGW)

    Leader badge
    Downloads: 24 This Week
    Last Update:
    See Project
  • Connect every part of your business to one bank account Icon
    Connect every part of your business to one bank account

    North One is a business banking app that integrates cash flow, payments, and budgeting to turn your North One Account into one Connected Bank Account

    North One is proudly built for small businesses, startups and freelancers across America. Make payments easily, keep tabs on your money and put your finances on autopilot through smart integrations with the tools you’re already using. North One was built to make managing money easy so you can focus on running your business. No more branches. No more lines. No more paperwork. Get complete access to your North One Account from your phone or computer, wherever your business takes you. Create Envelopes for taxes, payroll, rent, and anything else automatically.
    Get started for free.
  • 10
    Contour

    Contour

    Modern C++ Terminal Emulator

    contour is a modern and actually fast, modal, virtual terminal emulator, for everyday use. It is aimed at power users with a modern feature mindset. Available on all 4 major platforms, Linux, OS/X, FreeBSD, Windows. GPU-accelerated rendering. Font ligatures support (such as in Fira Code). Unicode: Emoji support (-: 🌈 💝 😛 👪 - including ZWJ, VS15, VS16 emoji :-) Unicode: Grapheme cluster support. Bold and italic fonts. High-DPI support. Vertical Line Markers (quickly jump to markers in your history!) Vi-like input modes for improved selection and copy'n'paste experience and Vi-like scrolloff feature. Blurred behind transparent background when using Windows 10 or KDE window manager on Linux. Blurrable Background image support. Runtime configuration reload. 256-color and Truecolor support. Key binding customization.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    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: 3 This Week
    Last Update:
    See Project
  • 12
    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: 3 This Week
    Last Update:
    See Project
  • 13
    RF24

    RF24

    OSI Layer 2 driver for nRF24L01 on Arduino & Raspberry Pi/Linux

    Optimized high-speed driver for nRF24L01(+) 2.4GHz wireless transceiver. More compliant with the manufacturer specified operation of the chip, while allowing advanced users to work outside the recommended operation. Utilize the capabilities of the radio to their full potential via Arduino. More reliable, responsive, bug-free and feature-rich. Easy for beginners to use, with well-documented examples and features. Consumed with a public interface that's similar to other Arduino standard libraries. OSI Network Layer for multi-device communication. Create a home sensor network.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    Rapidcsv

    Rapidcsv

    C++ CSV parser library

    Rapidcsv is an easy-to-use C++ CSV parser library. It supports C++11 (and later), is header-only and comes with a basic test suite.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    Shumai

    Shumai

    Fast Differentiable Tensor Library in JavaScript & TypeScript with Bun

    Shumai is an experimental differentiable tensor library for TypeScript and JavaScript, developed by Facebook Research. It provides a high-performance framework for numerical computing and machine learning within modern JavaScript runtimes. Built on Bun and Flashlight, with ArrayFire as its numerical backend, Shumai brings GPU-accelerated tensor operations, automatic differentiation, and scientific computing tools directly to JavaScript developers. It allows seamless integration of machine learning, deep learning, and custom differentiable programs into web-based or server-side environments without relying on Python frameworks. The library supports matrix operations, gradient computation, and tensor conversions with intuitive APIs and near-native speed, thanks to Bun’s low-overhead FFI bindings. It can automatically leverage GPU acceleration on Linux (via CUDA) and CPU computation on macOS.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    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: 3 This Week
    Last Update:
    See Project
  • 17
    apitrace

    apitrace

    Tools for tracing OpenGL, Direct3D, and other graphics APIs

    apitrace is a suite of tools designed for tracing and debugging graphics APIs such as OpenGL, Direct3D, and DirectDraw. It enables developers to record all the API calls made by an application, replay them, and inspect the graphics state at any point during execution. This functionality is invaluable for diagnosing rendering issues, optimizing performance, and ensuring compatibility across different platforms.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    glbinding

    glbinding

    A C++ binding for the OpenGL API, generated using the gl.xml specifica

    A C++ binding for the OpenGL API, generated using the gl.xml specification. glbinding leverages C++11 features like enum classes, lambdas, and variadic templates, instead of relying on macros; all OpenGL symbols are real functions and variables. It provides type-safe parameters, per-feature API headers, lazy function resolution, multi-context and multi-thread support, global and local function callbacks, meta information about the generated OpenGL binding and the OpenGL runtime, as well as tools and examples for quick-starting your projects. Based on the OpenGL API specification (gl.xml) glbinding is generated using Python scripts and templates that can be easily adapted to fit custom needs.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19

    SimpleXlsxWriter

    C++ library for creating XLSX files for MS Excel 2007 and above.

    This library represents XLSX files writer for Microsoft Excel 2007 and above. The main feature of this library is that it uses C++ standard file streams. On the one hand it results in almost unnoticeable memory and CPU resources consumption while processing (that may be very useful at saving a large data arrays), but on the other hand it makes unfeasible to edit data that were written. Hence, if using this library the structure of the future report should be known enough. The library is written in C++ with using STL functionality and based on the ZIP library (included), which has a free license: http://www.codeproject.com/Articles/7530/Zip-Utils-clean-elegant-simple-C-Win32 This library is distributed under the terms of the zlib license: http://www.zlib.net/zlib_license.html
    Leader badge
    Downloads: 15 This Week
    Last Update:
    See Project
  • 20
    Pluma
    A minimal C++ framework for plug-in management. Small, cross-platform and simple to use.
    Leader badge
    Downloads: 16 This Week
    Last Update:
    See Project
  • 21
    QtContribs - Harbour Qt Projects

    QtContribs - Harbour Qt Projects

    New home to HbQt, HbIDE & HbDBU once Harbour SVN hosted contribs.

    This is the repository to host all those Harbour's contrib libraries and applications which could not comply with strict Harbour project goals but had the potentiality to march into the future. The goal is to keep this repository parallel with Harbours contrib and use the same build system which Harbour uses. This way it will be possible easily to shift any library/application from here to Harbour or vice-verse. As I am totally ignorant of Harbour's build system, it will be appreciated if someone knowledgeable take over this responsibility, which might be one-time task. Welcome to new chapter in Harbour history! Pritpal Bedi a student of software analysis & concepts
    Downloads: 16 This Week
    Last Update:
    See Project
  • 22
    LimeReport

    LimeReport

    Report generator for Qt Framework

    LimeReport - multi-platform C++ | Qt report generator library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates. Report designer included in the library allows to create fast and intuitive print form templates which can be saved in XML format and used to generate report pages. So formed pages could be send to preview, PDF file or printer. As a data source developer can use SQL database or data passed from application using QAbstractTableModel interface. Besides one can initialize variables which available as database request parameters. LimeReport goal is to provide your application with functionaly abundant and at the same time simple to use tool for a report generation to be used even by inexperienced in IT users.
    Leader badge
    Downloads: 14 This Week
    Last Update:
    See Project
  • 23
    Simd

    Simd

    High performance image processing library in C++

    The Simd Library is a free open source image processing library, designed for C and C++ programmers. It provides many useful high performance algorithms for image processing such as: pixel format conversion, image scaling and filtration, extraction of statistic information from images, motion detection, object detection (HAAR and LBP classifier cascades) and classification, neural network. The algorithms are optimized with using of different SIMD CPU extensions. In particular the library supports following CPU extensions: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX-512 for x86/x64, VMX(Altivec) and VSX(Power7) for PowerPC, NEON for ARM. The Simd Library has C API and also contains useful C++ classes and functions to facilitate access to C API. The library supports dynamic and static linking, 32-bit and 64-bit Windows, Android and Linux, MSVS, G++ and Clang compilers, MSVS project and CMake build systems.
    Leader badge
    Downloads: 17 This Week
    Last Update:
    See Project
  • 24

    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: 33 This Week
    Last Update:
    See Project
  • 25
    ArrayFire

    ArrayFire

    ArrayFire, a general purpose GPU library

    ArrayFire is a general-purpose tensor library that simplifies the process of software development for the parallel architectures found in CPUs, GPUs, and other hardware acceleration devices. The library serves users in every technical computing market. Data structures in ArrayFire are smartly managed to avoid costly memory transfers and to take advantage of each performance feature provided by the underlying hardware. The community of ArrayFire developers invites you to build with us if you're interested and able to write top performing tensor functions. Together we can fulfill The ArrayFire Mission under an excellent Code of Conduct that promotes a respectful and friendly building experience. Rigorous benchmarks and tests ensuring top performance and numerical accuracy. Cross-platform compatibility with support for CUDA, OpenCL, and native CPU on Windows, Mac, and Linux. Built-in visualization functions through Forge.
    Downloads: 2 This Week
    Last Update:
    See Project