C/C++
General-purpose language with a bias toward system programming and embedded, resource-constrained software.
Contents
Frameworks
- C++ Parallel Computing and Asynchronous Networking Engine. [Apache2]
A cross-platform DAG framework based on C++ without any 3rd-party. [MIT]
Functional Programming Library for C++. Write concise and readable C++ code. [MIT]
An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] website
A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] website
libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2]
C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL]
Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT]
A cross platform open source toolkit for creative coding in C++. [MIT] website
A comprehensive C++ framework featuring efficient user-space threading (coroutine with work-stealing), I/O, networking, RPC, HTTP, etc., and used extensively in Alibaba. It is compatible with C++ 14/17/20/23, Linux, MacOS, x86-64, gcc and clang. [Apache2] website
a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] website
An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] seastar.io
a header-only C++11 library that provides several new or lesser-known containers, some of which can be used in C++20 constant expressions. [zlib]
Siv3D (OpenSiv3D) is a C++20 framework for creative coding (2D/3D games, media art, visualizers, and simulators). [MIT] website
WUI (Window User Interface Library) is a cross-platform library for creating graphical user interfaces in C++17+ [Boost]website
Math
- A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] website
A modern, fast and expressive C++ library for automatic differentiation. [MIT] website
provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] website
Collection of efficient and reliable geometric algorithms. [LGPL&GPL] website
An all inline SIMD C++ linear algebra library for use in games and graphics apps.
A lightweight high performance tensor algebra framework for modern C++. [MIT]
Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] website
A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] website
Single header, public domain, short vector math library for C++. [Unlicense]
A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause]
A single-header, dependency-free JIT compiler for scalar mathematical expressions that generates optimized x87 FPU machine code. [BSD]
A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
A templatized header only C++ implementation of the Python Numpy library. [MIT]
Cross-platform modern general purpose math library written in C++23 that suitable for cheat/game development. [ZLIB]
A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] website
An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] website
A free/open-source library for quantitative finance. [Modified BSD] website
A templated C++20 math library which emphasizes convenience and pleasure for the client programmer (used in mathplot). [Apache2] website
Vector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2]
A C++ header-only library of statistical distribution functions. [Apache2] website
Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT]
A C library for parsing and evaluating math expressions from strings. [zlib]
A general library for geometry operations of union, intersections, difference, and xor. [mapbox-wagyu original]
A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] website
A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license]
Header-only fast C/C++ library for computing remainders and modular reductions. [Apache-2.0]
Artificial Intelligence
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, JavaScript and more. website
Tensors and Dynamic neural networks in Python with strong GPU acceleration. website
Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
(3D) Navigation mesh generator and pathfinder, mostly for games. [zlib]
An open source software library for numerical computation using data flow graphs. [Apache]
An open-source cross-platform performance library for deep learning applications. [Apache] website
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost]
Serial Port
Asynchronous Event Loop
Audio
A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0] website
C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] website
C library for cross-platform real-time audio input and output. [MIT] website
Public domain, header-only MP3 decoder with clean-room implementation. [CC0]
Verovio is a fast and lightweight music notation engraving library. [LGPL] website
Biology
BitTorrent
Chemistry
A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] website
A message-passing parallel molecular dynamics implementation. [GPL] website
A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] website
A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] website
Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] website
CLI
Command-Line Argument Parsing Library for Modern C++ — Simple, Intuitive, and Header-only with Zero Dependencies [MIT]
Small C++ header to display async animations, counters, and progress bars. [Apache-2.0] website
A library to obtain program options via conventional methods such as command line and config file. [Boost] website
A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost]
Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD]
Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT]
Small header only C++ library for writing multiplatform terminal applications. [MIT]
Crossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT]
Library for creating terminal applications with text-based widgets. [LGPL]
A small self-contained alternative to readline and libedit. [BSD-2-Clause]
A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD]
A simple to use, composable, command line parser for C++ 11 and beyond. [Boost]
Convenient, high-performance RGB color and position control for console output. [MIT]
Public domain curses library with both source code and pre-compiled library available. [PublicDomain]
A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT]
A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD]
Compression
A C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2]
New generation entropy codecs : Finite State Entropy and Huff0.
a modern, modular, portable and efficient lossless data compressor implemented in C++. [Apache-2.0]
Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT]
Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib]
Fork of the popular zip manipulation library found in the zlib distribution. [zlib]
Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT]
zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib]
Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD]
A lossless data compression program that aims for the highest compression ratios at the cost of speed. [GPL-3.0]
Concurrency
A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT]
A fast, lightweight, and easy-to-use C++17 thread pool library [MIT]
Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD]
A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]
An easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0]
CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]
Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]
C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]
A high-performance C++ library for parallel programming with thread pools, parallel for loops, futures, task graphs, and concurrent containers. [MIT]
Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]
A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
A task scheduling framework designed for the needs of game developers. [MIT]
Intel implementation of C++17 STL for C++11 and above. [Apache2]
A performance portable programming model for parallel execution and memory abstraction. [BSD]
Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] website
A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0] website
Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter]
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]
A powerful C++ coroutine dispatcher framework built on top of Boost.Coroutine2.
A fast single-producer, single-consumer lock-free queue for C++. [BSD]
A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT]
High-performance C++20 coroutine framework with advanced hardware detection features. [BSL-1.0]
A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all.
The NVIDIA C++ Standard Library, providing heterogeneous implementation of C++ Standard Library facilities. [Apache-2.0]
Configuration
Single header only C++ version, with some handy read/write interface, extend from inih. [BSD-3-Clause] website
C, C++ library for processing structured configuration files. [LGPL-2.1] website
Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]
Containers
A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
Simple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT] website
Header-only C++20 library that provides fixed capacity constexpr containers. [MIT]
a header-only, constexpr alternative to gperf for C++14 users. [Apache-2.0]
A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT]
C implementation of ring (circular) buffer, with full thread awareness that allows for concurrent read/write and can automatically grow in size when needed. [BSD] website
A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL]
A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] website
A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] website
An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] website
A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] website
A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] website
A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT]
Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT]
A fast and flexible c++ template class for tree data structures. [Apache-2.0]
A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT]
Cryptography
P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC]
A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] website
A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] website
A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography.
Library and command line tool to detect SHA-1 collision in a file. [MIT]
A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0]
Small and portable implementation of the ECDH key agreement protocol in C. [PublicDomain]
crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors. [BSD-2-Clause]
CSV
Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause]
A header only "csv" parser which is fast and versatile with modern C++ api. [MIT]
JSON
Extremely fast, in memory, JSON and interface library for modern C++. [MIT]
jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost]
A simple one header/one source solution to parsing JSON in C and C++. [Unlicense]
A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost]
A few classes for parsing and serializing objects from/into JSON - very rapidly. [MIT]
High performance, single header JSON parser parsing to and from C++ structs. [MIT]
JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2]
JSON, JSON Pointer, JSON Schema, and JSONL library for C++20. [AGPL/Commercial]
A JSON parser and printer library in C. easy to integrate with any model. [LGPL]
Next-gen C++ JSON/JSON5 Serialization Engine | Zero Dependency | Header-Only | Unleash JSON Potential. [MIT]
A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3]
- A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] website
Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0]
Database
Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0] website
Embeddable property graph database management system built for query speed and scalability. Implements Cypher. [MIT] website
A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2]
an embedded graph database built for query speed and scalability. [MIT] website
A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD]
C library for accessing the PostgreSQL parser outside of the server environment. [BSD-3-Clause]
Embeddable, in-memory, document-oriented database with a high-level Query builder interface. [Apache2] website
High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2]
Community-led project: A RocksDB compliant high performance scalable embedded key-value store. [Apache2]
A reflection-based ORM and SQL query generator for C++-20, similar to Python's SQLAlchemy/SQLModel or Rust's Diesel. [MIT]
SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT]
SQLite ORM light header only library for modern C++. [AGPL + paid MIT]
A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause]
High-performance, durable, transactional embedded storage engine designed for flash and RAM optimization. [MPL-2.0] website
A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] website
TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0]
a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding. [MIT]
A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] website
The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2]
Scientific Computing
a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT]
A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience. [Apache 2.0] website
Data visualization
Cross-platform header-only C++ plotting library that interfaces with Gnuplot. [MIT]
C++ header-only graphing and data visualization with modern OpenGL. [Apache-2.0] website
Debug
Cross-platform, heap-free C test framework with parameterized and lifecycle-aware tests and assertions with ad-hoc formatted messages. [MIT]
A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost]
A C++ library for debugging purposes that can print any variable, even user-defined types. [MIT]
A minimal unit testing framework for C self-contained in a single header file. [MIT]
Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] website
A simple low-overhead cross-platform timer class for benchmarking. [zLib] website
Open-source regression testing system that you can self-host. [Apache2] website
A lightweight unit testing framework for C++. [MIT/X Consortium license]
C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework. [Boost]
Performance benchmark framework for C++ with nanoseconds measure precision. [MIT]
A simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT]
Single-header crash reporting for C++ that logs stack traces and creates .dmp and .txt crash dumps. [MIT] website
Documentation
Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] website
- The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] website
DSP
A collection of useful C++ classes for digital signal processing. [MIT]
The fast Continuous Wavelet Transform (fCWT) is a library for fast calculation of CWT. [Apache-2.0]
A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause]
Font
Game Engine
A cross-platform game engine for desktop, mobile, and XBOX (UWP), derived from Cocos2d-x-4.0. [MIT] website
Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT]
A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2]
Community project to build a free game engine for implementing open world 3D games. [MIT]
A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0]
Hazel is primarily an early-stage interactive application and rendering engine for Windows. [Apache-2.0 license]
Fork of X-Ray 1.6 engine that aims to improve gaming experience and simplify development of modifications. [Modified MIT/non-commercial only]
2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib] website
a cross-platform open source game engine with plugin-based architecture. [GPLv2] website
A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] website
An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] website
a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]
A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] website
The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3]
A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] website
Actively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0]
A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] website
An open-source and cross-platform C++ engine built for 2D game development. [MIT] website
An open-source C++ engine built for 3D game development. [MIT] website
Graph
GUI
Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary] website
Cross-platform C++20 GUI framework. MVVM, reactive capabilities. Scalable, accelerated GPU rendering [GPL/Proprietary] website
Lightweight, fine-grained, resolution independent, modular GUI library. [MIT]
GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL]
Immediate Mode Graphical User Interface with minimal dependencies. [MIT]
Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT]
Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD]
Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] website
Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT] website
Graphics
Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] website
A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT]
A modern cross-platform low-level 3D graphics library. [Apache2]
A collection of helper classes for writing DirectX 11.x code in C++. [MIT]
3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary] website
A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] website
A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] website
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause]
Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] website
Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] website
Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib]
A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] website
Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]
Library for wrangling particle data, with support for most common file formats. [Modified BSD]
A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] website
a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT] website
Image Processing
GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] website
Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] website
Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD]
A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] website
the reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0] website
Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD]
Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT]
C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT]
Miscellaneous
A tool to count accesses to member variables in c++ programs. [GPL3]
An implementation of a managed signals and slots system. [Boost] website
a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0]
Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]
A date and time library based on the C++11/14/17 <chrono> header. [MIT] website
A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] website
Reference implementation of a new float-to-string conversion algorithm in C++. [Apache2/BSL-1.0]
A library which allows you to compose and modify objects at run time. [MIT]
A safe and fast high-level and low-level character input/output library. [MIT]
C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT]
Fast, Exact C++ from_chars, 4x to 10x faster than strtod, part of GCC 12, Chromium, Redis, Webkit/Safari. [Apache2/BSL-1.0/MIT]
A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT]
Small, safe and fast formatting library for C++. [Simplified BSD] website
A simple header file for developers to ban unsafe C/C++ functions from applications.
A collection of basic libraries in POSIX C for embedded and network service development. [MIT]
A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT]
A C/C++ header file designed to smooth over some platform-specific annoyances. website
Header-only, lightweight C++ library for binary streaming & serialization. [Apache-2.0/MIT]
A header only library for creating and validating JSON web tokens in C++. [MIT]
Small and lightweight implementations of common algorithms and data structures. [MIT]
Very fast, high-quality hash function, discrete-incremental and streamed hashing-capable. [MIT]
A modern C++ library for type-safe environment variable parsing. [Apache-2.0]
A minimalistic C++ Jinja templating engine for LLM chat templates. [MIT]
This Qt lib is based off of the C++ VerbalExpressions library. [MIT]
The fastest 128-bit and 256-bit non-crypto hash, passes all tests, and under 140 source lines of code. [Apache-2.0]
Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] website
Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause]
A lightweight, header-only reactive programming framework leveraging modern C++20 features for building efficient dataflow applications. [MIT]
C/C++ open-source libraries with minimal dependencies. [Various]
A tool that parses archived HTML files from cppreference and generates groff-formatted manual pages for Unix-based systems. [MIT]
the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0]
Replacement for std::optional that does not waste memory unnecessarily. [BSL-1.0]
A collection of C/C++ programs that try to get compilers to exploit undefined behavior.
A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
A simple C++ header-only template library implementing matching using wildcards. [BSL-1.0]
Extremely fast non-cryptographic hash algorithm. [BSD-2-Clause] website
An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache]
A C++17 constexpr library for detecting OS, compiler, architecture, and SIMD at compile time. [MIT]
A lightweight, portable, and easy to integrate C directory and file reader. [BSD-2-Clause]
Higher level programming in C, including generic data structures and polymorphism. [BSD-2-Clause] website
A header-only library that allows using Qt without the need for moc. [MIT]
A unit of time defined by Facebook/Oculus for exact representation of common frame rates. [BSD]
A C library for convolutional codes and Reed-Solomon error correction. [BSD-3-Clause]
A library for building and executing finite state machines, including regex and glob. [BSD-2-Clause]
A C++ library for concepts, diagnostics, and other foundational utilities.
Internationalization
Inter-process communication
Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] website
bRPC is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. [Apache2] website
Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] website
A high performance, open source, general-purpose RPC framework. [BSD] website
Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]
True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] website
A simple high-performance implementation of several "scalability protocols". [MIT] website
Serialization
Fast data interchange format and capability-based RPC system. [MIT] website
Multi-format serialization library (JSON, XML, YAML, CSV, MsgPack) [MIT]
An open source, cross-platform framework for working with schematized data. [MIT]
Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT]
Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT]
a modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2]
Efficient binary serialization format "like JSON" for C and C++. [Apache2] website
Versioned serialization to binary or text formats. [BSD] website
A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20. [Apache-2.0]
encoding and decoding application messages in binary format for low-latency applications. [Apache2]
Very fast Yet Another Serialization library supports the binary/text/json formats. [Boost]
XML
A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] website
A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]
Logging
Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT]
A lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0]
Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT]
A performant fmtlib-style logging library with latency in nanoseconds. [MIT]
A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2]
Machine Learning
A fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2]
C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD]
Open source neural network framework written in C and CUDA. [PublicDomain] website
A library for efficient similarity search and clustering of dense vectors. [MIT]
A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] website
A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] website
Tensor library for machine learning with 16-bit and 4-bit quantization support. [MIT]
A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] website
A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT]
A high-performance neural network inference computing framework optimized for mobile platforms. [BSD]
A powerful machine learning library that helps speed up big data analysis. [Apache]
C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] website
C library for product recommendations/suggestions using collaborative filtering (CF). [BSD]
RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3]
The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] website
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2]
Memory Allocation
Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0] website
General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] website
Custom memory allocators to improve the performance of dynamic memory allocation. [MIT]
Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain]
Google's fast, multi-threaded malloc implementation. [Apache-2.0] website
A single header buddy memory allocator for C with bounded allocation costs. [0BSD]
A memory allocator that automatically reduces the memory footprint of C/C++ applications. [Apache-2.0]
Multimedia
A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] website
Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD]
A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] website
Networking
WHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT]
Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)]
A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD]
URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost]
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT]
A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] website
Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] website
An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT]
A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD]
A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] website
Build high performance C++ HTTP servers without being a C++ expert. [MIT]
mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. [BSD]
A portable MQTT C client for embedded systems and PCs alike. [MIT] website
A C++ non-blocking network library for multi-threaded server in Linux. [BSD]
HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]
An open source C++ implementation of the Object Management Group (OMG) Data Distribution Service (DDS). [Apache2]
Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]
Streaming data platform for developers. Kafka API compatible. 10x faster. [BSL]
A cross platform, open source, C++ networking engine for game programmers. [BSD]
Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT]
Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
A high-performance, lightweight, and cross-platform QUIC library, exposed to C and C++. [Apache2]
Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause]
µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib]
A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2]
A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0]
An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause]
a zero-dependency single-header, modern WebSocket client & server, ws/wss library. [MIT]
a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense]
High-speed, modular asynchronous communication library. [LGPL3/MPL2] website
A cross-platform HTTP client library providing a caching facility from Sony. [MIT]
Web Application Framework
Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT]
High-performance, modular C++ HTTP/1.1, HTTP/2 and WebSocket microservices framework focused on performance and scalability. [MIT]
Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] website
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause] website
Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] website
Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] website
A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL]
High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] website
Office Open XML
Physics
A multi core friendly rigid body physics and collision detection library. [MIT]
framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] website
An integrated solution for real time simulation of physics environments. [zlib]
An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
An open source multi-physics simulation engine. [BSD-3-Clause] website
High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
Reflection
A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
Reflective enums (to string, iteration). Single header. [BSD] website
Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache]
Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT]
std::tuple like methods for user defined types without any macro or boilerplate code. [Boost]
Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT]
Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT]
Serialization through reflection, including automatic field name retrieval from structs. [MIT]
An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0] website
Regular Expression
Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD]
A modern and flexible regular expressions library that supports a variety of character encodings. [BSD]
Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0]
A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause]
A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD]
The approximate regex matching library and agrep command line tool. [BSD-2-Clause]
Robotics
Scripting
A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] website
Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] website
Ultra-lightweight JavaScript engine for the Internet of Things. [Apache-2.0] website
A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT]
A fast, small, safe, gradually typed embeddable scripting language derived from Lua. [MIT] website
MicroQuickJS (aka. MQuickJS) is a JavaScript engine targeted at embedded systems. [MIT]
Magical headers that make your C++ library accessible from JavaScript. [MIT]
C++17 header-only Python interpreter for game scripting. [MIT] website
A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT]
A wrapper/interface Generator that let you link your c++ code to JavaScript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] website
Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST] website
Sorting
A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT]
Video
Virtual Machines
Yaml
Compiler
Integrated Development Environment
A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] website
- An open-source IDE from Microsoft. [MIT] website
- A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions] website
A c/c++ client/server indexer with for integration with emacs based on clang.
Build Systems
A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache]
A fast compiler cache for C/C++, with cross-platform support and cloud backed storage options.
High-performance code build system designed to give the best possible incremental build times even for very large software projects.
Static Code Analysis
Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache]
A tool for use with clang to analyze includes in C and C++ source files. website
A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - source
Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]
Coding Style Tools
Articles
Books
Coding Style
Talks
Websites
Other Awesome Projects
Other Awesome Lists
Papers from the computer science community to read and discuss.
A lot of screencasts, recordings of user group gatherings and conference talks.