awesome-cpp

C++ framework repository

A curated collection of C++ frameworks, libraries, and resources

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

GitHub

61k stars
2k watching
8k forks
last commit: almost 2 years ago
Linked from 22 awesome lists

awesomeawesome-listcc-plus-pluscppcpp-librarycppconlibrarieslistlistsprogramming-tutorialresources

Awesome C++ / Standard Libraries

C++ Standard LibraryA collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself
Standard Template LibraryThe Standard Template Library (STL)
C POSIX libraryA specification of a C standard library for POSIX systems
ISO C++ Standards CommitteeISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee
The GNU C LibraryThe purpose of this manual is to tell you how to use the facilities of the GNU C Library

Awesome C++ / Frameworks

abseil-cpp15,168almost 2 years agoAbseil C++ Common Libraries. [Apache2]
Apache C++ Standard LibrarySTDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2]
APRApache Portable Runtime. Another library of cross-platform utility functions. [Apache2]
ASLAdobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
BoostA large collection of generic C++ libraries. [Boost]
BDE1,688almost 2 years agoThe BDE Development Environment from Bloomberg Labs. [Apache2]
C++ Workflow13,291almost 2 years agoC++ Parallel Computing and Asynchronous Networking Engine. [Apache2]
CGraph1,815almost 2 years agoA cross-platform DAG framework based on C++ without any 3rd-party. [MIT]
CinderA community-developed, free and open source library for professional-quality creative coding. [BSD]
Coost4,040about 2 years agoA tiny boost library in C++11. [MIT]
CxxomfortA small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT]
Dlib13,623almost 2 years agoA toolkit for making real world machine learning and data analysis applications in C++. [Boost]
EASTL8,317about 2 years agoElectronic Arts Standard Template Library. [BSD]
ETL2,274almost 2 years agoEmbedded Template Library. [MIT]
ffead-cpp707about 2 years agoFramework for Enterprise Application Development. [Apache2]
Folly28,577almost 2 years agoAn open-source C++ library developed and used at Facebook. [Apache2]
FunctionalPlus2,141almost 2 years agoFunctional Programming Library for C++. Write concise and readable C++ code. [MIT]
GLibGLib provides the core application building blocks for libraries and applications written in C. [LGPL]
itlib158about 2 years agoA collection of std-like single-header C++ libraries [MIT]
JUCE6,731almost 2 years agoAn all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary]
Kigs framework83over 2 years agoA free and open source C++ modular multi-purpose cross platform RAD framework. [MIT]
libPhenom1,660over 7 years agolibPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2]
LibSourcey1,320over 3 years agoC++11 evented IO for real-time video streaming and high performance networking applications. [LGPL]
LibU443over 3 years agoA multiplatform utility library written in C. [BSD]
libxutils47almost 2 years agoSimple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT]
LokiA C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]
MiLi37about 12 years agoMinimal headers-only C++ Library. [Boost]
OpenFrameworks10,002almost 2 years agoA cross platform open source toolkit for creative coding in C++. [MIT]
QtA cross-platform application and UI framework. [GPL/LGPL/Proprietary]
ReasonA cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2]
ROOTA set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL]
rpp168almost 2 years agoMinimal Rust-inspired C++20 STL replacement. [MIT]
SaneCppLibraries526almost 2 years agoa set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT]
Seastar8,438almost 2 years agoAn advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License]
STLportAn exemplary version of STL. [Free]
STXXLStandard Template Library for Extra Large Data Sets. [Boost]
tbox4,906almost 2 years agoA glib-like multi-platform c library. [Apache2]
Ultimate++A C++ cross-platform rapid application development framework. [BSD]
Windows Template LibraryA C++ library for developing Windows applications and UI components. [Public]
Yomm2358almost 2 years agoFast, Orthogonal, Open multi-methods. Supersedes [Boost]

Awesome C++ / Artificial Intelligence

ANNetGPGPU107about 5 years agoA GPU (CUDA) based Artificial Neural Network library. [LGPL]
btsk457about 4 years agoGame Behavior Tree Starter Kit. [zlib]
Evolving ObjectsA template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
frugally-deep1,078about 2 years agoHeader-only library for using Keras models in C++. [MIT]
Genann2,017over 2 years agoSimple neural network library in C. [zlib]
MXNet20,791almost 3 years agoLightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, JavaScript and more
PyTorch84,978almost 2 years agoTensors and Dynamic neural networks in Python with strong GPU acceleration
flashlight5,300almost 2 years agoFlashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
Recast/Detour6,663about 2 years ago(3D) Navigation mesh generator and pathfinder, mostly for games. [zlib]
TensorFlow186,822almost 2 years agoAn open source software library for numerical computation using data flow graphs. [Apache]
oneDNN3,649almost 2 years agoAn open-source cross-platform performance library for deep learning applications. [Apache]
CNTK17,534over 3 years agoMicrosoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost]
tiny-dnn5,872over 4 years agoA header only, dependency-free deep learning framework in C++11. [BSD]
Veles905almost 3 years agoDistributed platform for rapid Deep learning application development. [Apache]
Kaldi14,362almost 2 years agoToolkit for speech recognition. [Apache]

Awesome C++ / Asynchronous Event Loop

Asio5,016almost 2 years agoA cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost]
Boost.Asio1,260almost 2 years agoA cross-platform C++ library for network and low-level I/O programming. [Boost]
C++ Actor Framework3,210almost 2 years agoAn Open Source Implementation of the Actor Model in C++. [BSD-3-Clause]
Ichor205almost 2 years agoAn event queue which focuses on thread safety and provides dependency injection. [MIT]
libevA full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL]
libeventAn event notification library. [BSD]
libhv6,880almost 2 years agoCross-platform event loop library. [BSD]
libuv24,499almost 2 years agoCross-platform asynchronous I/O. [BSD]
promise-cpp680over 2 years agoHeader only library that implements Promise/A+ standard. [Anti-996]
uvw1,880almost 2 years agoC++ wrapper for libuv. [MIT]
uv-cpp787almost 3 years agoa simple interface, high-performance network library based on C++11. [MIT]

Awesome C++ / Audio

Amplitude Audio SDK37almost 2 years agoA cross-platform audio engine designed with the needs of games in mind. [Apache-2.0]
Aubio3,336about 2 years agoA library for audio and music analysis.[GPL-3.0]
AudioFile975almost 2 years agoA simple C++ library for reading and writing audio files. [MIT]
audioFlux2,940over 2 years agoA C library for audio and music analysis, feature extraction. [MIT]
dr_libs1,285over 2 years agoSingle file audio decoding libraries for C and C++. [Unlicense]
FMODAn easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
KFRFast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Proprietary]
LAMELAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
libsndfile1,483almost 2 years agoC library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1]
libsoundio1,958over 2 years agoC library for cross-platform real-time audio input and output. [MIT]
Maximilian1,597over 2 years agoC++ Audio and Music DSP Library. [MIT]
OpenALOpen Audio Library - A crossplatform audio API. [BSD/LGPL/Proprietary]
miniaudio4,151almost 2 years agoSingle file audio playback and capture library. [Unlicense]
ni-media244about 2 years agoC++ library for reading and writing audio files. [MIT]
OpusA totally open, royalty-free, highly versatile audio codec. [BSD]
PortAudioPortAudio is a free, cross-platform, open-source, audio I/O library. [MIT]
rnnoise4,191about 2 years agoRecurrent neural network for audio noise reduction. [BSD-3-Clause]
SELA210over 6 years agoSimplE Lossless Audio. [MIT]
SoLoud1,812about 2 years agoEasy, portable audio engine for games. [zlib]
SpeexA free codec for free speech. Obsoleted by Opus. [BSD]
Tonic523over 6 years agoEasy and efficient audio synthesis in C++. [Unlicense]
VorbisOgg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
minimp31,621about 2 years agoPublic domain, header-only MP3 decoder with clean-room implementation. [CC0]
Verovio689almost 2 years agoVerovio is a fast and lightweight music notation engraving library. [LGPL]
Wav2Letter++6,398almost 2 years agoPublic domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency. [BSD]

Awesome C++ / Biology

BioC++C++ Computational Libraries for Bioinformatics. [BSD]
ChasteAn open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
libsequenceA C++ library for representing and analyzing population genetics data. [GPL]
SeqAnAlgorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
Vcflib628almost 2 years agoA C++ library for parsing and manipulating VCF files. [MIT]
Wham104over 3 years agoStructural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT]

Awesome C++ / BitTorrent

jech/dht700over 3 years agoBitTorrent DHT library in C. [MIT]
libtorrent5,303almost 2 years ago(a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD]
LibTorrent897almost 2 years ago(a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL]
libutp1,115almost 3 years agouTorrent Transport Protocol library. [MIT]

Awesome C++ / Chemistry

d-SEAMS35about 2 years agoA molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL]
gromacs720almost 2 years agoA message-passing parallel molecular dynamics implementation. [GPL]
Reaktoro169almost 2 years agoA computational framework in C++ and Python for modeling chemically reactive systems. [LGPL]
LAMMPS2,274almost 2 years agoA classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL]
MADNESS182almost 2 years agoMultiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL]
MPQC68about 3 years agoThe Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL]
ORCAAn ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic]
Psi993almost 2 years agoAn ab initio computational chemistry package. [GPL]

Awesome C++ / CLI

Argh!1,336over 2 years agoA minimalist, frustration-free, header-only argument handler. [BSD]
argparse2,769almost 2 years agoArgument Parser for Modern C++. [MIT]
args1,420almost 2 years agoA simple header-only C++ argument parser library. [MIT]
barkeep150almost 2 years agoSmall C++ header to display async animations, counters, and progress bars. [Apache-2.0]
Boost.Program_options110almost 2 years agoA library to obtain program options via conventional methods such as command line and config file. [Boost]
cli1,242almost 2 years agoA cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost]
CLI113,428almost 2 years agoHeader only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD]
clipp1,230over 2 years agoEasy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT]
cpp-terminal539almost 2 years agoSmall header only C++ library for writing multiplatform terminal applications. [MIT]
Ctrl+C24almost 2 years agoCrossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT]
cxxopts4,270almost 2 years agoLightweight C++ command line option parser. [MIT]
docopt.cpp1,047over 2 years agoA library to generate option parser from docstring. [MIT/Boost]
FINAL CUT1,014almost 2 years agoLibrary for creating terminal applications with text-based widgets. [LGPL]
FTXUI7,070almost 2 years agoC++ Functional Terminal User Interface. [MIT]
gflagsCommandline flags module for C++. [BSD]
imtui3,136over 2 years agoImmediate Mode Text-based User Interface. [MIT]
indicators3,049about 2 years agoActivity indicators for Modern C++. [MIT]
linenoise3,829about 2 years agoA small self-contained alternative to readline and libedit. [BSD-2-Clause]
linenoise-ng359over 6 years agoA small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD]
Lyra493about 2 years agoA simple to use, composable, command line parser for C++ 11 and beyond. [Boost]
NcursesA terminal user interface. [MIT]
oof833about 2 years agoConvenient, high-performance RGB color and position control for console output. [MIT]
PDCurses1,057about 2 years agoPublic domain curses library with both source code and pre-compiled library available. [PublicDomain]
popl169over 3 years agoA single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT]
replxx692over 2 years agoA readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD]
tabulate1,966about 2 years agoTable Maker for Modern C++. [MIT]
TCLAPA mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]
termbox1,974about 6 years agoA C library for writing text-based user interfaces. [MIT]
TermOx677about 2 years agoC++17 Terminal User Interface(TUI) Library. [MIT]
tuibox138almost 3 years agoA single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line. [MIT]

Awesome C++ / Compression

bit7z662almost 2 years agoA C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2]
Brotli13,639almost 2 years agoBrotli compression format. Developed by Google. [MIT]
bzip2A freely available, patent free, high-quality data compressor. [BSD]
bzip3697almost 2 years agoA better and stronger spiritual successor to BZip2. [LGPL]
FastLZ447about 2 years agoSmall & portable byte-aligned LZ77 compression. [MIT]
FiniteStateEntropy1,344over 2 years agoNew generation entropy codecs : Finite State Entropy and Huff0
heatshrink1,334over 2 years agodata compression library for embedded/real-time systems [ISC]
Kanzi140almost 2 years agoa modern, modular, portable and efficient lossless data compressor implemented in C++. [Apache-2.0]
KArchiveA library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL]
libarchive3,066almost 2 years agoMulti-format archive and compression library. [New BSD]
LZ410,506almost 2 years agoExtremely Fast Compression algorithm. [BSD]
LZFSE1,774about 4 years agoLZFSE compression library and command line tool. Developed by Apple
LZHAMLossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]
LZMAThe default and general compression method of 7z format. [PublicDomain]
LZMATAn extremely fast real-time lossless data compression library. [GPL]
miniz2,249almost 2 years agoSingle C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT]
Minizip1,249almost 2 years agoZlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib]
minizip-ng1,249almost 2 years agoFork of the popular zip manipulation library found in the zlib distribution. [zlib]
PhysicsFSA library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib]
Rapidgzip381almost 2 years agoGzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT]
smaz1,174almost 7 years agoSmall strings compression library. [BSD]
SnappyA fast compressor/decompressor. [BSD]
ZLibA very compact compression library for data streams. [zlib]
zlib-ng1,592almost 2 years agozlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib]
zstd23,936almost 2 years agoZstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD]
ZZIPlibProvides read access on ZIP-archives. [MPL/LGPL]

Awesome C++ / Concurrency

alpaka4over 6 years agoAbstraction library for parallel kernel acceleration. [LGPLv3+]
ArrayFire4,587almost 2 years agoA general purpose GPU library. [BSD]
Async++1,356almost 2 years agoA lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT]
Boost.Compute1,566almost 2 years agoA C++ GPU Computing Library for OpenCL. [Boost]
Bolt372over 10 years agoA C++ template library optimized for GPUs. [Apache2]
BS::thread_pool2,252over 2 years agoA fast, lightweight, and easy-to-use C++17 thread pool library [MIT]
Channel421about 2 years agoThread-safe container for sharing data between threads. [MIT]
ck2,409almost 2 years agoConcurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD]
concurrentqueue10,134over 3 years agoA fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]
Coros310about 2 years agoAn easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0]
CUB83over 2 years agoCUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]
cuda-api-wrappers804almost 2 years agoLightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]
cupla4over 6 years agoC++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]
C++React1,026over 5 years agoA reactive programming library for C++11. [Boost]
FiberTaskingLib939over 2 years agoTask-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]
HPX2,548almost 2 years agoA general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
Intel Games Task Scheduler449over 3 years agoA task scheduling framework designed for the needs of game developers. [MIT]
Intel Parallel STL727almost 2 years agoIntel® implementation of C++17 STL for C++11 and above. [Apache2]
Intel TBBIntel® Threading Building Blocks. [Apache2]
junction1,409almost 6 years agoA library of concurrent data structures in C++. [BSD]
Kokkos2,032almost 2 years agoA performance portable programming model for parallel execution and memory abstraction. [BSD]
libcds2,571almost 3 years agoA C++ library of Concurrent Data Structures. [BSD]
Libclsph52over 10 years agoAn OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
libdill1,692over 2 years agoIntroduces structured concurrency in C. [MIT]
libdispatch2,478almost 2 years agoGrand 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]
libfork620almost 2 years agoA bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0]
libmill2,741over 5 years agoIntroduces Go-style concurrency in C. [MIT]
marl1,889almost 2 years agoMarl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
moderngpu1,684over 4 years agomoderngpu 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]
NCCL3,306about 2 years agoOptimized primitives for collective multi-GPU communication. [BSD]
Neco1,152about 2 years agoConcurrency library for C (coroutines). [MIT]
OpenCLThe open standard for parallel programming of heterogeneous systems
OpenMPThe OpenMP API
rotor349almost 2 years agoEvent loop friendly C++ actor micro framework. [MIT]
SObjectizer497almost 2 years agoAn implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]
Quantum579about 2 years agoA powerful C++ coroutine dispatcher framework built on top of
RaftLibThe RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2]
readerwriterqueue3,800about 2 years agoA fast single-producer, single-consumer lock-free queue for C++. [BSD]
stdgpu1,177almost 2 years agoEfficient STL-like Data Structures on the GPU. [Apache2]
Taskflow10,338almost 2 years agoA General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT]
ThreadPool8,013about 2 years agoA simple C++11 Thread Pool implementation [zlib]
ThrustA parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]
transwarp623over 3 years agoA header-only C++ library for task concurrency. [MIT]
VexCL704almost 2 years agoA C++ vector expression template library for OpenCL/CUDA. [MIT]
STAPLA C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]
concurrencpp2,347about 2 years agoA general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all

Awesome C++ / Configuration

inifile-cpp374over 2 years agoA header-only and easy to use Ini file parser for C++. [MIT]
inih2,506almost 2 years agoSimple .INI file parser in C, good for embedded systems. [BSD-3-Clause]
inih440about 2 years agoSingle header only C++ version of . [BSD-3-Clause]
ini-cpp38almost 2 years agoSingle header only C++ version, with some handy read/write interface, extend from . [BSD-3-Clause]
iniparser984about 2 years agoINI file parser. [MIT]*
inipp285about 2 years agoSimple header-only C++ ini parser and generator. [MIT]
libconfig1,130almost 2 years agoC, C++ library for processing structured configuration files. [LGPL-2.1]
libconfuse482over 2 years agoSmall configuration file parser library for C. [ISC]
mINI542almost 2 years agoINI file reader and writer. [MIT]
simpleini1,137almost 2 years agoCross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]
toml++1,605almost 2 years agoHeader-only TOML parser and serializer for C++17 and later. [MIT]
toml111,054almost 2 years agoa C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT]

Awesome C++ / Containers

C++ B-tree74about 12 years agoA template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
dynamic_bitset155almost 2 years agoSimple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT]
fixed-containers395almost 2 years agoHeader-only C++20 library that provides fixed capacity constexpr containers. [MIT]
flat_hash_map1,721about 3 years agoA very fast flat hashtable with Fibonacci hashing
frozen1,342about 2 years agoa header-only, constexpr alternative to gperf for C++14 users. [Apache-2.0]
Hashmaps254over 4 years agoImplementation of open addressing hash table algorithms in C++. [MIT]
hat-trie796about 2 years agoC++ implementation of a fast and memory efficient HAT-trie. [MIT]
Hopscotch map731about 2 years agoA fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT]
LSHBOX286over 9 years agoA c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL]
parallel-hashmap2,587almost 2 years agoA family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2]
PGM-index792almost 2 years agoA 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]
plf::colony400almost 2 years agoAn 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]
plf::list150almost 2 years agoA std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib]
plf::stack64almost 2 years agoA replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib]
ring_span lite154over 2 years agoA simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT]
robin-hood-hashing1,536over 3 years agoFast & memory efficient hashtable based on robin hood hashing for C++14. [MIT]
robin-map1,294about 2 years agoFast hash map and hash set using robin hood hashing. [MIT]
sparsepp1,257over 3 years agoA fast, memory efficient hash map for C++. [BSD 3-clause]
st_tree96over 4 years agoA fast and flexible c++ template class for tree data structures. [Apache-2.0]
svector97over 2 years agoCompact SVO optimized vector for C++17 or higher. [MIT]
tree.hh135about 2 years agoAn STL-like C++ header-only tree library. [GPL2+]
unordered_dense968almost 2 years agoA fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT]

Awesome C++ / Cryptography

BcryptA cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD]
BeeCryptA portable and fast cryptography library. [LGPLv2.1+]
BotanA crypto library for C++. [BSD-2]
Crypto++4,939about 2 years agoA free C++ class library of cryptographic schemes. [Boost]
digestpp198about 2 years agoC++11 header-only message digest (hash) library. [PublicDomain]
GnuPGA complete and free implementation of the OpenPGP standard. [GPL]
GnuTLSA secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1]
LibgcryptA general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
LibreSSLA free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?]
libsodium12,372almost 2 years agoP(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
libhydrogen637almost 2 years agoA lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC]
LibTomCrypt1,587almost 2 years agoA fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
mbedTLS5,594almost 2 years agoAn open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2]
NettleA low-level cryptographic library. [LGPL]
OpenSSL26,159almost 2 years agoA robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache]
retter99over 9 years agoA collection of hash functions, ciphers, tools, libraries, and materials related to cryptography
s2n4,544almost 2 years agoAn implementation of the TLS/SSL protocols. [Apache]
sha1collisiondetection1,329about 2 years agoLibrary and command line tool to detect SHA-1 collision in a file. [MIT]
Tink13,511over 2 years agoA multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0]
Tiny AES in C4,329almost 2 years agoSmall portable AES128/192/256 in C. [PublicDomain]
Themis1,879about 2 years agocrypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
HEhub91almost 4 years agoA library for homomorphic encryption and its applications. [Apache2]

Awesome C++ / CSV

commata13almost 2 years agoJust another header-only C++17 CSV parser. [Unlicense]
csv2567almost 3 years agoFast CSV parser for modern C++. [MIT]
Csv::Parser30over 2 years agoCompile-time and runtime CSV parser written in C++17. [Zlib]
Fast C++ CSV Parser2,167about 2 years agoSmall, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause]
Glaze1,414almost 2 years agoHigh performance, header only, CSV library with reflection support. [MIT]
lazycsv80over 2 years agoA fast, lightweight and single-header csv parser for modern C++. [MIT]
ssp51over 2 years agoA header only "csv" parser which is fast and versatile with modern C++ api. [MIT]
Vince's CSV Parser926about 2 years agoA fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT]

Awesome C++ / Database

ClickHouse308almost 2 years agoC++ client for ClickHouse DBMS. [Apache2]
CrossDB193almost 2 years agoUltra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0]
DuckDBin-process SQL OLAP Database Management System. [MIT]
hiberlite714about 3 years agoC++ Object-relational mapping for sqlite3. [BSD]
Hiredis6,283almost 2 years agoA minimalistic C client library for the Redis database. [BSD]
Infinity2,780almost 2 years agoThe AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2]
Kuzu1,454almost 2 years agoEmbeddable property graph database management system built for query speed and scalability. Implements Cypher. [MIT]
Kvrocks3,612almost 2 years agoA distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2]
LevelDB36,769about 2 years agoA fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD]
libpg_query1,216almost 2 years agoC library for accessing the PostgreSQL parser outside of the server environment. [BSD-3-Clause]
libpqxx1,049almost 2 years agoThe official C++ client API for PostgreSQL. [BSD-3-Clause]
LMDBVery fast embedded key/value store with full ACID semantics. [OpenLDAP]
LMDB++273almost 6 years agoC++11 wrapper for the LMDB embedded database library. [PublicDomain]
mgclient38about 2 years agoC/C++ Memgraph Client. [Apache2]
MongoDB C Driver817almost 2 years agoMongoDB client library for C. [Apache2]
MongoDB C++ Driver1,048almost 2 years agoC++ driver for MongoDB. [Apache2]
MongoDB Libbson347almost 6 years agoA BSON utility library. [Apache2]
MySQL++A C++ wrapper for MySQL's C API. [LGPL]
nanodbc340about 2 years agoA small C++ wrapper for the native C ODBC API. [MIT]
ODBAn open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2]
redis3m190over 7 years agoWrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2]
Reindexer776almost 2 years agoEmbeddable, in-memory, document-oriented database with a high-level Query builder interface. [Apache2]
RocksDB28,801almost 2 years agoEmbedded key-value store for fast storage from facebook. [BSD]
SimDB537over 2 years agoHigh performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2]
SOCI1,430almost 2 years agoA database abstraction layer for C++. [Boost]
Speedb925over 2 years agoCommunity-led project: A RocksDB compliant high performance scalable embedded key-value store. [Apache2]
SQLiteA completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain]
SQLiteC++2,275about 2 years agoSQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT]
sqlite_modern_cpp905about 2 years agoHeader only C++14 wrapper around sqlite library. [MIT]
sqlite_orm2,330almost 2 years agoSQLite ORM light header only library for modern C++. [AGPL + paid MIT]
sqlpp112,483almost 2 years agoA type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause]
TileDB1,878almost 2 years agoFast Dense and Sparse Multidimensional Array DBMS. [MIT]
TinyORM259almost 2 years agoModern C++ ORM library. [MIT]
UnQLite2,125over 2 years agoA self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause]
upscaledbAn embedded "typed" key/value store with a built-in query interface. [GPLv3]
TigerBeetleDB C++ client (Community)10almost 2 years agoTigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0]
Trilogy715almost 2 years agoa client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding. [MIT]
UStore556about 3 years agoMulti-Modal database for BLOBs, JSON, and graphs. [Apache2]
Velox3,557almost 2 years agoA C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0]

Awesome C++ / Data visualization

matplotplusplus4,356almost 2 years agoC++ Graphics Library for Data Visualization. [MIT]

Awesome C++ / Debug

backward-cpp3,834over 2 years agoA beautiful stack trace pretty printer for C++. [MIT]
BencherA suite of continuous benchmarking tools designed to catch performance regressions in CI. [MIT]/[Apache2]
benchmark9,113almost 2 years agoGoogle provided small microbenchmark support library. [Apache2]
Boost.Test183almost 2 years agoBoost Test Library. [Boost]
check1,081about 2 years agoCheck is a unit testing framework for C. [LGPL-2.1]
doctest6,010almost 2 years agoThe lightest feature rich C++ single header testing framework. [MIT]
Catch218,841almost 2 years agoA modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost]
Celero828about 2 years agoC++ Benchmarking Framework. [Apache2]
cpp-dump308almost 2 years agoA C++ library for debugging purposes that can print any variable, even user-defined types. [MIT]
CppUTest1,380almost 2 years agoUnit testing and mocking framework for C/C++. [BSD-3-clause]
CUTEC++ Unit Testing Easier. [LGPL3]
CMockaunit testing framework for C with support for mock objects. [Apache2]
CppBenchmark285over 2 years agoPerformance benchmark framework for C++ with nanoseconds measure precision. [MIT]
Cpptrace754almost 2 years agoA simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT]
CppUnitC++ port of JUnit. [LGPL2]
CTestThe CMake test driver program. [BSD]
dbg-macro3,019almost 3 years agoA dbg(…) macro for C++. [MIT]
DebugViewPP1,043over 2 years agoDebug logging viewer. [Boost]
DeleakerA tool for resource leak detection, including memory, GDI and handle leaks
FakeIt1,267almost 2 years agoSimple mocking framework for C++. [MIT]
fff794almost 3 years agoA micro-framework for creating fake C functions. [MIT]
Google Mock35,046almost 2 years agoA library for writing and using C++ mock classes. [BSD]
Google Test35,046almost 2 years agoGoogle C++ Testing Framework. [BSD]
ig-debugheap181almost 11 years agoMultiplatform debug heap useful for tracking down memory errors. [BSD]
libassert557almost 2 years agoThe most over-engineered C++ assertion library. [MIT]
libtap252almost 3 years agoWrite tests in C. [GPL2]
microprofile1,472almost 2 years agoProfiler with web-view for multiple platforms. [Unlicense]
MinUnit578almost 3 years agoA minimal unit testing framework for C self-contained in a single header file. [MIT]
MockatorEclipse CDT plug-in for C++ Seams and Mock Objects
nanobench1,459almost 2 years agoSimple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT]
Nanotimer135over 2 years agoA simple low-overhead cross-platform timer class for benchmarking. [zLib]
Nonius361over 6 years agoA C++ micro-benchmarking framework. [CC]
Remotery3,160about 2 years agoSingle C File Profiler with Web Viewer. [Apache2]
snitch269almost 2 years agoLightweight C++20 testing framework. [Boost]
Touca498about 2 years agoOpen-source regression testing system that you can self-host. [Apache2]
UnitTest++557almost 3 years agoA lightweight unit testing framework for C++. [MIT/X Consortium license]
Unity4,162about 2 years agoSimple Unit Testing for C. [MIT]
utest.h853about 2 years agoSingle header unit testing framework for C and C++. [Unlicense]
μt1,274almost 2 years agoC++20 single header/single module, macro-free μ(micro)/Unit Testing Framework. [Boost]
VLDVisual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++

Awesome C++ / Documentation

Doxide65almost 2 years agoModern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0]
doxygen5,742almost 2 years agoThe de facto standard tool for generating documentation from annotated C++ sources. [GPL2]
doxyrest306about 2 years agoA compiler from Doxygen XML to reStructuredText for Sphinx. [MIT]
hdoc311about 2 years agoThe modern documentation tool for C++. [AGPL/Proprietary]
Natural Docs203almost 2 years agoNatural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary]
Sphinx6,658almost 2 years agoSphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause]

Awesome C++ / DSP

DSPFilters1,873about 3 years agoA collection of useful C++ classes for digital signal processing. [MIT]
FFTWA C library for computing the DFT in one or more dimensions. [GPL]
iir1653almost 2 years agoIIR Realtime C++ filter library. [MIT]
kissfft1,506about 2 years agoA Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause]
pocketfft79almost 2 years agoFFT implementation based on FFTPack, but with several improvements. [BSD-3-Clause]
wavelib385almost 2 years agoC implementation of 1D and 2D wavelet transforms. [BSD-3-Clause]

Awesome C++ / Font

FontconfigFont configuration and customization library. [MIT]
FreeTypeFreeType is a freely available software library to render fonts. [FTL & GPLv2]
otfcc428over 4 years agoA C library and utility used for parsing and writing OpenType font files. [Apache-2.0]
harfbuzz4,200almost 2 years agoA text shaping engine. [Old MIT]
libschrift479over 2 years agoA lightweight TrueType font rendering library. [ISC]

Awesome C++ / Game Engine

Acid1,780about 3 years agoA high speed C++17 Vulkan game engine. [MIT]
AllegroA cross-platform library mainly aimed for video games and multimedia programming. [zlib]
Axmol Engine946almost 2 years agoA cross-platform game engine for desktop, mobile, and XBOX (UWP), derived from Cocos2d-x-4.0. [MIT]
Cocos2d-xA multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT]
Corange1,838over 2 years agoA game engine written in pure C, SDL and OpenGL. [BSD]
crown2,164almost 2 years agoCrown 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]
delta3dA robust simulation platform. [LGPL2]
EnTT10,370almost 2 years agoGaming meets modern C++. [MIT]
GamePlay4,521over 2 years agoA cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2]
Godot91,977almost 2 years agoA fully featured, open source, MIT licensed, game engine. [MIT]
Grit114over 8 years agoCommunity project to build a free game engine for implementing open world 3D games. [MIT]
Halley3,634almost 2 years agoA lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0]
JNGL273almost 2 years ago2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib]
KlayGE2,105almost 2 years agoa cross-platform open source game engine with plugin-based architecture. [GPLv2]
nCine1,092almost 2 years agoA cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT]
o3de7,924almost 2 years agoAn open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2]
OpenXRay3,082almost 2 years agoa community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]
OxygineA cross-platform 2D C++ game engine. [MIT]
Panda3D4,573almost 2 years agoA game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD]
PixelGameEngine3,869almost 2 years agoThe official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3]
Polycode2,382over 2 years agoA cross-platform framework for creative code in C++ (with Lua bindings). [MIT]
quakeforge44almost 2 years agoActively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0]
raylib23,267almost 2 years agoA simple and easy-to-use library to enjoy videogames programming. [zlib/libpng]
Spring3,604over 2 years agoA powerful free cross-platform RTS game engine. [GPLv2/GPLv3]
Torque2D1,253almost 2 years agoAn open-source and cross-platform C++ engine built for 2D game development. [MIT]
Torque3D1,547almost 2 years agoAn open-source C++ engine built for 3D game development. [MIT]
toy engine1,567over 5 years agotoy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations
Urho3DA free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]
ezEngine1,439almost 2 years agoIs a free, open-source game engine written in C++. Its philosophy is to be modular and flexible, such that it can be adapted to many different use cases. [MIT]

Awesome C++ / Graph

CXXGraph485almost 2 years agofree C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0]
Graaf187almost 2 years agoA general-purpose lightweight C++20 graph library. [MIT]

Awesome C++ / GUI

Boden1,688almost 5 years agoNative, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary]
CEGUIFlexible, cross-platform GUI library
Elements3,219almost 2 years agoLightweight, fine-grained, resolution independent, modular GUI library. [MIT]
FLTKFast, light, cross-platform C++ GUI toolkit. [LGPL2]
FOX Toolkitan open-source, cross-platform widget toolkit. [LGPL]
GacUI2,354almost 2 years agoGPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL]
GTK+A multi-platform toolkit for creating graphical user interfaces. [LGPL]
gtkmmThe official C++ interface for the popular GUI library GTK+. [LGPL]
imgui61,793almost 2 years agoImmediate Mode Graphical User Interface with minimal dependencies. [MIT]
implot4,885almost 2 years agoImmediate Mode Plotting widgets for imgui. [MIT]
iupMulti-platform toolkit for building graphical user interfaces. [MIT]
libui10,745over 2 years agoSimple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT]
MyGUI733almost 2 years agoFast, flexible and simple GUI. [MIT]
nanaNana is a cross-platform library for GUI programming in modern C++ style. [Boost]
NanoGui1,592over 2 years agoA minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD]
nuklear9,406almost 2 years agoA single-header ANSI C gui library. [PublicDomain]
QCustomPlotQt plotting widget without further dependencies. [GPLv3]
QwtQt Widgets for Technical Applications. [Own based on LGPL]
QwtPlot3DA feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
RmlUi2,931almost 2 years agoThe HTML/CSS User Interface library evolved. Fork of libRocket. [MIT]
Saucer307almost 2 years agoA modern, cross-platform C++ webview library. [MIT]
SciterSciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial]
Slint17,859almost 2 years agoLightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary]
TGUI839almost 2 years agoCross-platform modern c++ GUI. [Zlib]
WebUI3,137almost 2 years agoUse any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT]
wxCharts133about 2 years agoA library to create charts in wxWidgets applications. [MIT]
wxWidgetsA C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL]
xtd814almost 2 years agoModern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT]
Yue3,464almost 2 years agoA library for creating native cross-platform GUI apps. [LGPLv2]

Awesome C++ / Graphics

assimp11,088almost 2 years agoOpen 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]
bgfx15,197almost 2 years agoA cross-platform rendering library. [BSD]
Blend2D1,649almost 2 years ago2D vector graphics engine powered by a JIT compiler. [Zlib]
CairoA 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL]
C-Turtle63almost 5 years agoA C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT]
Diligent Engine3,655almost 2 years agoA modern cross-platform low-level 3D graphics library. [Apache2]
DirectXTK2,599almost 2 years agoA collection of helper classes for writing DirectX 11.x code in C++. [MIT]
GLFW13,201almost 2 years agoA simple, cross-platform OpenGL wrangling library. [zlib/libpng]
GLFWPP98over 3 years agoA thin modern C++17 header-only wrapper for GLFW. [MIT]
Harfang 3D586about 3 years ago3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary]
herebedragons1,733over 2 years agoA basic 3D scene implemented with various engines, frameworks or APIs. [MIT]
Horde3D1,551about 2 years agoA small 3D rendering and animation engine. [EPL]
Ion1,427over 4 years agoA small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2]
IrrlichtA high performance realtime 3D engine written in C++. [zlib]
libigl4,617almost 2 years agoSimple C++ geometry processing library. [MPL2]
LLGL2,113almost 2 years agoLow Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause]
LunaSVG921almost 2 years agoa standalone SVG rendering library in C++. [MIT]
magnum4,831almost 2 years agoLightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT]
micro-gl280about 2 years agoRealtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM]
NanoVG5,214over 2 years agoAntialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib]
Ogre 3DA scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT]
OpenSceneGraphAn open source high performance 3D graphics toolkit. [OSGPL]
OpenSubdiv2,905almost 2 years agoPixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]
OpenVDBLibrary and tools for storing, editing, and rendering volumetric datasets. [MPL2]
Panda3DA framework for 3D rendering and game development for Python and C++. [BSD]
Partio463over 2 years agoLibrary for wrangling particle data, with support for most common file formats. [Modified BSD]
Skia9,364almost 2 years agoA complete 2D graphic library for drawing Text, Geometries, and Images. [BSD]
ThorVG792almost 2 years agoa platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT]
TinySpline1,219about 2 years agoA small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT]
urho3d4,569over 3 years agoCross-platform rendering and game engine. [Many different, mostly MIT]
Yocto/GL2,835over 2 years agoTiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT]

Awesome C++ / Image Processing

Boost.GIL178almost 2 years agoGeneric Image Library. [Boost]
BitmapPlusPLus36almost 2 years agoSimple and Fast header only Bitmap C++ library. [MIT]
CImgA small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
CxImageAn image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib]
Dlib13,623almost 2 years agoA modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]
fpng891about 2 years agoSuper fast C++ .PNG writer/reader. [Unlicense]
FreeImageAn open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3]
GD906almost 2 years agoGD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs]
DCMTKDICOM Toolkit
GDCMGrassroots DICOM library
ITKAn open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]
https://github.com/google/jpegli][Jpegli][ - an improved JPEG encoder and decoder implementation. [BSD-3-Clause]
Leptonica1,821almost 2 years agoLeptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause]
libavif1,589almost 2 years agoLibrary for encoding and decoding .avif files. [BSD-2-Clause]
libfacedetection12,351almost 2 years agoOpen source library for face detection in images. The face detection speed can reach 1500FPS. [BSD]
libjpeg-turbo3,816almost 2 years agoA JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib]
libjxl2,742almost 2 years agoJPEG XL image format reference implementation. [BSD-3-Clause]
libpng1,315almost 2 years agothe reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0]
libspng749over 2 years agoSimple, modern libpng alternative. [BSD-2]
libvips53about 5 years agoA fast image processing library with low memory needs. [LGPL]
LodePNG2,120almost 2 years agoPNG encoder and decoder in C and C++. [Zlib]
Magick++ImageMagick program interfaces for C++. [Apache2]
MagickWndImageMagick program interfaces for C. [Apache2]
MozJPEG5,484about 2 years agoImproved JPEG encoder. [BSD/BSD-3-Clause/ZLIB]
OpenCVOpen source computer vision. [Apache2]
OpenEXRCross-platform library for high dynamic range imaging. [Modified BSDF]
OpenImageIO1,992almost 2 years agoPowerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD]
OpenJPEG985almost 2 years agoan open-source JPEG 2000 codec written in C language. [BSD-2-Clause]
QOI6,994almost 2 years agoThe “Quite OK Image Format” for fast, lossless image compression. [MIT]
SAIL311almost 2 years agoEasy-to-use cross-platform image decoding library with pluggable image codecs. [MIT]
Simd2,077almost 2 years agoC++ 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]
stb-image27,210almost 2 years agoSTB single-header image loading library. [Public Domain]
tesseract-ocrAn OCR engine. [Apache2]
TinyDNG156almost 2 years agoHeader-only Tiny DNG/TIFF loader and writer in C++. [MIT]
TinyEXIF114about 3 years agoTiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT]
TinyTIFF144over 2 years agolightweight TIFF reader/writer library. [GPL-3.0]
Video++721over 7 years agoA C++14 high performance video and image processing library. [MIT]
VIGRA412about 2 years agoA generic C++ computer vision library for image analysis. [MIT X11]
VTKOpen-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD]

Awesome C++ / Internationalization

gettextGNU 'gettext'. [GPL2]
IBM ICUA set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU]
libiconvAn encoding conversion library between different character encodings. [GPL]
simdutf1,220almost 2 years agoUnicode routines (UTF8, UTF16, UTF32): billions of characters per second using SSE2, AVX2, NEON, AVX-512. [Apache-2/MIT]
uni-algo285over 2 years agoUnicode Algorithms Implementation for C/C++. [Unlicense or MIT]
utf8.h1,758almost 2 years agoSingle header utf8 string functions for C and C++. [Unlicense]
utf8proc1,069about 2 years agoA clean C library for processing UTF-8 Unicode data. [MIT]

Awesome C++ / Inter-process communication

Apache ThriftEfficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]
Boost.Interprocess139almost 2 years agoHeader-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost]
bRPC16,597almost 2 years agobRPC 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]
Cap'n Proto11,788almost 2 years agoFast data interchange format and capability-based RPC system. [MIT]
eCAL11about 4 years agoPub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2]
gRPC42,124almost 2 years agoA high performance, open source, general-purpose RPC framework. [BSD]
Ice2,060almost 2 years agoComprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]
iceoryx1,713almost 2 years agoTrue zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2]
libjson-rpc-cpp956over 2 years agoJSON-RPC framework for C++ servers and clients. [MIT]
nanomsg6,014over 2 years agoA simple high-performance implementation of several "scalability protocols". [MIT]
nng3,884almost 2 years agonanomsg-next-generation, a light-weight brokerless messaging library. [MIT]
rpclib1,728over 2 years agoA modern C++ msgpack-RPC server and client library. [MIT]
simple-rpc-cpp37about 11 years agoA simple RPC wrapper generator to C/C++ functions. [BSD]
SRPC1,969almost 2 years agoA lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2]
WAMPProvides RPC and pub/sub messaging patterns. (various implementations, various languages)
xmlrpc-cA lightweight RPC library based on XML and HTTP. [BSD]

Awesome C++ / JSON

Boost.PropertyTree55almost 2 years agoA property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]
cJSON10,938about 2 years agoUltralightweight JSON parser in ANSI C. [MIT]
DAW JSON Link479almost 2 years agoFast, convenient JSON serialization and parsing in C++. [BSL-1.0]
frozen709almost 3 years agoJSON parser and generator for C/C++. [GPL & GPL2]
Glaze1,414almost 2 years agoExtremely fast, in memory, JSON and interface library for modern C++. [MIT]
Jansson3,100about 2 years agoC library for encoding, decoding and manipulating JSON data. [MIT]
jbson38almost 11 years agojbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost]
JeayeSON132over 9 years agoA very sane (header only) C++ JSON library. [BSD]
Jsmn3,726over 2 years agoA minimalistic JSON parser in C. [MIT]
json43,665almost 2 years agoJSON for Modern C++. [MIT]
JSON++540over 5 years agoA JSON parser in C++. [MIT]
json.cpp664almost 2 years agoa baroque JSON parsing / serialization library for C++. [Apache-2.0]
json.h719about 2 years agoA simple one header/one source solution to parsing JSON in C and C++. [Unlicense]
json-build38almost 2 years agoC89 tiny zero-allocation JSON serializer. [MIT]
json-c2,997almost 2 years agoA JSON implementation in C. [MIT]
jsoncons730almost 2 years agoA C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost]
JsonCpp8,223almost 2 years agoA C++ library for interacting with JSON. [MIT]
Jsonifier60almost 2 years agoA few classes for parsing and serializing objects from/into JSON - very rapidly. [MIT]
jsonParse11about 7 years agoA simple JSON parser in ANSI C. [MIT]
json-parser1,286over 2 years agoVery low footprint JSON parser written in portable ANSI C. [BSD]
json112,555over 6 years agoA tiny JSON library for C++11. [MIT]
json-struct427about 2 years agoHigh performance, single header JSON parser parsing to and from C++ structs. [MIT]
json-voorhees129about 2 years agoJSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2]
JSON Toolkit43almost 2 years agoJSON, JSON Pointer, JSON Schema, and JSONL library for C++20. [AGPL/Commercial]
jute72over 5 years agoVery simple C++ JSON Parser. [PublicDomain]
libjson282over 2 years agoA JSON parser and printer library in C. easy to integrate with any model. [LGPL]
libjsonLightweight JSON library. [?]
LIBUCL1,635over 2 years agoUniversal configuration library parser. [BSD-2-Clause]
parson1,367over 2 years agoParson is a lighweight json library written in C. [MIT]
PicoJSON1,119about 2 years agoA header-file-only, JSON parser serializer in C++. [BSD]
qt-json330over 8 years agoA simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3]
QJson288about 3 years agoA qt-based library that maps JSON data to QVariant objects. [LGPL2]
RapidJSON14,426almost 2 years agoA fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT]
sajson568about 5 years agoLightweight, extremely high-performance JSON parser for C++11. [MIT]
simdjson19,455almost 2 years agoExtremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0]
Sonic-Cpp861almost 2 years agoA fast JSON serializing & deserializing library, accelerated by SIMD. [Apache-2.0]
taoJSON605almost 2 years agoZero-dependency C++ header-only JSON library. [MIT]
ujsonµjson is a a small, C++11, UTF-8, JSON library. [MIT]
UltraJSON4,348almost 2 years agoUltra fast JSON decoder and encoder written in C. [BSD-3-Clause]
YAJL2,156over 2 years agoA fast streaming JSON parsing library in C. [ISC]
yyjson3,164almost 2 years agoA high performance JSON library written in ANSI C. [MIT]

Awesome C++ / Logging

Blackhole201almost 8 years agoAttribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT]
Boost.Log183almost 2 years agoDesigned to be very modular and extensible. [Boost]
BqLog257almost 2 years agoA lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0]
Easylogging++3,813over 2 years agoExtremely light-weight high performance logging library for C++11 (or higher) applications. [MIT]
fmtlog814about 2 years agoA performant fmtlib-style logging library with latency in nanoseconds. [MIT]
G3log910about 2 years agoAsynchronous logger with Dynamic Sinks. [PublicDomain]
glog7,136almost 2 years agoC++ implementation of the Google logging module
haclog73about 2 years agoAn extremely fast plain C logging library. [MIT]
Log4cppA library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL]
log4cplus1,656almost 2 years agoA simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2]
loguru1,797about 2 years agoA lightweight C++ logging library. [PublicDomain]
lwlog230almost 2 years agoVery fast synchronous and asynchronous C++17 logging library. [MIT]
plog2,242almost 2 years agoPortable and simple log for C++ in less than 1000 lines of code. [MPL2]
reckless491almost 3 years agoLow-latency, high-throughput, asynchronous logging library for C++. [MIT]
spdlog24,698almost 2 years agoSuper fast, header only, C++ logging library
templogA very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
P7BaicalAn open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL]
Quill1,775almost 2 years agoAsynchronous cross platform low latency logging library. [MIT]

Awesome C++ / Machine Learning

Caffe34,149about 2 years agoA fast framework for neural networks. [BSD]
catboost8,139almost 2 years agoA fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2]
CCV7,102almost 2 years agoC-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD]
darknet25,894over 2 years agoOpen source neural network framework written in C and CUDA. [PublicDomain]
Dlib13,623almost 2 years agoA modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]
FAISS31,920almost 2 years agoA library for efficient similarity search and clustering of dense vectors. [MIT]
Fido442over 6 years agoA highly-modular C++ machine learning library for embedded electronics and robotics. [MIT]
flashlight5,300almost 2 years agoA fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause]
ggml11,362almost 2 years agoTensor library for machine learning with 16-bit and 4-bit quantization support. [MIT]
libsvm4,586about 2 years agoA simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause]
m2cgen2,826about 2 years agoA CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT]
MeTA698over 3 years agoA modern C++ data sciences toolkit. [MIT]
Minerva701almost 8 years agoA fast and flexible system for deep learning. [Apache2]
mlpack5,151almost 2 years agoA scalable c++ machine learning library. [LGPLv3]
ncnn20,655almost 2 years agoA high-performance neural network inference computing framework optimized for mobile platforms. [BSD]
OpenCV79,662almost 2 years agoOpen Source Computer Vision Library. [BSD]
oneDAL619almost 2 years agoA powerful machine learning library that helps speed up big data analysis. [Apache]
ONNX runtime14,990almost 2 years agoC 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]
Recommender266about 4 years agoC library for product recommendations/suggestions using collaborative filtering (CF). [BSD]
RNNLIB900over 6 years agoRNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3]
SHOGUN3,032almost 3 years agoThe Shogun Machine Learning Toolbox. [GPLv3]
sofia-mlThe suite of fast incremental algorithms for machine learning. [Apache2]
USearch2,311almost 2 years agoFast search and clustering library for vectors and strings. [Apache2]
VLFeat1,605about 4 years agoThe VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause]
xgboost26,396almost 2 years agoScalable, 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]

Awesome C++ / Math

Apophenia200almost 7 years agoA C library for statistical and scientific computing. [GPL2]
ArmadilloFast C++ library for linear algebra & scientific computing. [Apache2]
autodiff1,682almost 2 years agoA modern, fast and expressive C++ library for automatic differentiation. [MIT]
blazehigh-performance C++ math library for dense and sparse arithmetic. [BSD]
Boost.Multiprecision202almost 2 years agoprovides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost]
ceres-solverC++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
CGAL5,058almost 2 years agoCollection of efficient and reliable geometric algorithms. [LGPL&GPL]
cmlfree C++ math library for games and graphics. [Boost]
CNL645over 2 years agoA Compositional Numeric Library for C++. [Boost]
DirectXMath1,564almost 2 years agoAn all inline SIMD C++ linear algebra library for use in games and graphics apps
Dlib13,623almost 2 years agoA modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]
EigenA high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
ExprTkThe C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT]
Geometric ToolsC++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost]
GLM9,418about 2 years agoHeader-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT]
GMTLGraphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
GMPA C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
Klein763about 2 years agoA fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT]
linalg.h875about 3 years agoSingle header, public domain, short vector math library for C++. [Unlicense]
MatX1,229almost 2 years agoA GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause]
MIRACL655over 5 years agoA Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
NumCpp3,608about 2 years agoA templatized header only C++ implementation of the Python Numpy library. [MIT]
muparsermuParser is an extensible high performance math expression parser library written in C++. [MIT]
LibTomMath659almost 2 years agoA free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL]
linmath.h932over 3 years agoA lean linear math library, aimed at graphics programming. [WTFPL]
lp_solveA library used to formulate and solve linear programming problems. [LGPL]
OpenBLAS6,453almost 2 years agoAn optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause]
PCG-randPCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache]
QuantLib5,480almost 2 years agoA free/open-source library for quantitative finance. [Modified BSD]
SimSIMD1,141almost 2 years agoVector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2]
StatsLib533over 3 years agoA C++ header-only library of statistical distribution functions. [Apache2]
SymEngine1,184almost 2 years agoFast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT]
TinyExpr1,619about 2 years agoA C library for parsing and evaluating math expressions from strings. [zlib]
Vc1,461over 2 years agoSIMD Vector Classes for C++. [BSD]
VersorA (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc)
Wagyu166over 2 years agoA general library for geometry operations of union, intersections, difference, and xor. [mapbox-wagyu original]
WykobiA C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
xtensor3,388almost 2 years agoA C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause]
universal424almost 2 years agoA 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]
XAD337almost 2 years agoPowerful Automatic Differentiation for C++. [AGPL]

Awesome C++ / Memory Allocation

Boehm GC3,024almost 2 years agoConservative garbage collector for C and C++. [similar to X11]
C Smart Pointers1,608almost 4 years agoSmart pointers for the (GNU) C programming language. [MIT]
Hoard1,115about 2 years agoFast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0]
jemalloc9,628almost 2 years agoGeneral purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD]
memory1,499about 2 years agoSTL compatible C++ memory allocator library. [ZLib]
memory-allocators1,769over 2 years agoCustom memory allocators to improve the performance of dynamic memory allocation. [MIT]
mimalloc10,694almost 2 years agoA compact general purpose allocator with excellent performance. [MIT]
rpmalloc2,186over 2 years agoCross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain]
snmalloc1,585almost 2 years agoMessage passing based high-performance allocator. [MIT]
TCMalloc4,450almost 2 years agoGoogle's fast, multi-threaded malloc implementation. [Apache-2.0]
buddy_alloc155almost 2 years agoA single header buddy memory allocator for C with bounded allocation costs. [0BSD]
tgc972over 3 years agoA tiny garbage collector for C written in ~500 LOC. [BSD]

Awesome C++ / Multimedia

GStreamerA library for constructing graphs of media-handling components. [LGPL]
libass951almost 2 years agoPortable subtitle renderer for the ASS/SSA subtitle format. [ISC]
libav1,086over 5 years agoA collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others]
LIVE555 Streaming MediaMultimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
libVLClibVLC (VLC SDK) media framework. [GPL]
MediaInfoLib642almost 2 years agoConvenient unified display of the most relevant technical and tag data for video and audio files. [BSD]
QtAv4,001over 3 years agoA multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL]
SDL10,516almost 2 years agoSimple DirectMedia Layer. [zlib]
SFML10,340almost 2 years agoSimple and Fast Multimedia Library. [zlib]
TagLib1,196almost 2 years agoA library for reading and editing the metadata of several popular audio formats. [LGPL/MPL]

Awesome C++ / Networking

ada1,396almost 2 years agoWHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT]
ACEAn OO Network Programming Toolkit in C++. [?MIT?]
Boost.Asio1,260almost 2 years agoA cross-platform C++ library for network and low-level I/O programming. [Boost]
Boost.Beast4,392almost 2 years agoHTTP and WebSocket built on Boost.Asio in C++11. [Boost]
Breep141almost 8 years agoEvent based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)]
C++ REST SDK8,041almost 2 years agoC++ REST SDK (previously named Casablanca). [Apache2]
Restbed1,932about 2 years agoC++11 Asynchronous RESTful framework. [AGPL]
Restinio1,169almost 2 years agoA header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD]
c-ares1,886almost 2 years agoA C library for asynchronous DNS requests. [MIT]
cpp-httplib13,307almost 2 years agoA single file C++11 header-only HTTP/HTTPS server library. [MIT]
cpp-netlibA collection of open-source libraries for high level network programming. [Boost]
cpp-netlib/uri140over 6 years agoURI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost]
CppServer1,446over 2 years agoUltra 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]
cpr6,633almost 2 years agoA modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT]
curlcpp634about 3 years agoAn object oriented C++ wrapper for CURL(libcurl). [MIT]
curlpp1,689over 2 years ago-C++ wrapper around libcURL. [MIT]
DPDK3,439almost 2 years agoData Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0]
Dyad.c1,442almost 6 years agoAsynchronous networking for C. [MIT]
ENet2,788almost 2 years agoReliable UDP networking library. [MIT]
evpp3,616over 2 years agoC++ high performance networking with TCP/UDP/HTTP protocols. [BSD]
FTP client for C++215over 3 years agoC++ client for making FTP requests. [MIT]
H2O10,940almost 2 years agoAn optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT]
HTTP Parser6,361over 4 years agoA http request/response parser for C. [MIT]
KCP15,484almost 2 years agoA fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
libcurlMultiprotocol file transfer library. [MIT/X derivate license]
libhttpserver899about 2 years agoC++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
LibmicrohttpdGNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+]
libpcap2,733almost 2 years agoA portable C/C++ library for network traffic capture. [BSD]
libquic1,786almost 4 years agoA QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD]
librdkafka332almost 2 years agoApache Kafka client library for C and C++. [BSD-2-Clause]
libwebsockets4,820almost 2 years agoA lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception]
LithiumBuild high performance C++ HTTP servers without being a C++ expert. [MIT]
lwIPA lightweight TCP/IP stack. [Modified BSD]
mailio392almost 2 years agomailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. [BSD]
Mongoose11,234almost 2 years agoExtremely lightweight webserver. [GPL2]
MQTT-C789over 2 years agoA portable MQTT C client for embedded systems and PCs alike. [MIT]
mTCP2,015about 2 years agoHighly scalable user-level TCP stack for multicore systems. [Modified BSD]
Muduo14,935about 2 years agoA C++ non-blocking network library for multi-threaded server in Linux. [BSD]
nghttp24,663almost 2 years agoHTTP/2 C Library. [MIT]
nghttp3873almost 2 years agoHTTP/3 library written in C. [MIT]
Onion2,028almost 4 years agoHTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]
PF_RING™2,718almost 2 years agoHigh-speed packet processing framework. [LGPL-2.1]
PicoHTTPParser1,859over 2 years agoA tiny, primitive, fast HTTP request/response parser. [MIT]
POCOC++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost]
Proxygen8,168almost 2 years agoFacebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]
RedPanda9,780almost 2 years agoStreaming data platform for developers. Kafka API compatible. 10x faster. [BSL]
RakNet3,323almost 5 years agoA cross platform, open source, C++ networking engine for game programmers. [BSD]
restclient-cpp1,576over 2 years agoSimple REST client for C++. It wraps libcurl for HTTP requests. [MIT]
Seasocks740almost 2 years agoSimple, small, C++ embeddable webserver with WebSockets support. [BSD]
tlse578almost 2 years agoSingle C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
TQUIC1,148almost 2 years agoA high-performance, lightweight, and cross-platform QUIC library, exposed to C and C++. [Apache2]
Tufão591over 4 years agoAn asynchronous web framework for C++ built on top of Qt. [LGPL2]
uriparser339almost 2 years agoStrictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause]
uWebSockets17,520almost 2 years agoµWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib]
UCall1,154almost 2 years agoA high-performance SIMD-accelerated RPC library on io_uring. [Apache2]
WAFer694almost 9 years agoA C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2]
Wangle3,059almost 2 years agoA client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0]
wdt2,877almost 2 years agoAn embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause]
WebSocket++7,127about 2 years agoC++/Boost Asio based websocket client/server library. [BSD]
PcapPlusPlus2,761almost 2 years agoa multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense]
ZeroMQ9,817almost 2 years agoHigh-speed, modular asynchronous communication library. [LGPL3/MPL2]

Awesome C++ / Office Open XML

DuckX430over 2 years agoC++ library for creating and modifying Microsoft Word (.docx) files. [MIT]
FreeXLan open source library to extract valid data from within Spreadsheets. [MPL/GPL-2/LGPL-2]
libxls444almost 2 years agoRead binary Excel files from C/C++ [BSD-2-Clause]
libxlsxwriter1,538almost 2 years agoA C library for creating Excel XLSX files. [BSD-2-Clause]
OpenXLSX1,405almost 2 years agoA C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files. [BSD-3-Clause]
SimpleXlsxWriterXLSX files writer for Microsoft Excel 2007 and above. [zlib]
XLSX I/O438about 2 years agoC library for reading and writing .xlsx files. [MIT]

Awesome C++ / PDF

libharu1,788about 2 years agoA free, cross platform, open-sourced software library for generating PDF. [zlib]
litePDFLibrary to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib]
MuPDFA lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary]
PDF-Writer909almost 2 years agoHigh performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0]
pdfio204almost 2 years agoA simple C library for reading and writing PDF files. [Apache-2]
PDFiumPDF generation and rendering library. [BSD-3-Clause]
PoDoFoA library to work with the PDF file format. [LGPL]
PopplerOpen-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3]
XpdfXpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3]
DynaPDFAn easy-to-use PDF generation library. [Commercial]

Awesome C++ / Physics

Box2D8,402almost 2 years agoA 2D physics engine for games. [BSD-like]
Bullet12,777about 2 years agoA 3D physics engine for games. [zlib]
Chipmunk2,227over 2 years agoA fast and lightweight 2D game physics library. [MIT]
Jolt Physics6,950almost 2 years agoA multi core friendly rigid body physics and collision detection library. [MIT]
Kratos1,054almost 2 years agoframework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD]
LiquidFun4,739over 3 years agoA 2D physics engine for games. [BSD-like]
Newton Dynamics954almost 2 years agoAn integrated solution for real time simulation of physics environments. [zlib]
ODEOpen Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
ofxBox2d321almost 3 years agoopenFrameworks wrapper for Box2D. [BSD-like]
PhysX2,353almost 4 years agoAn open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
PlayRho133over 2 years agoAn interactive physics engine & library. [Zlib]
Project Chrono2,266almost 2 years agoAn open source multi-physics simulation engine. [BSD-3-Clause]
Quantum++549almost 2 years agoA modern C++11 quantum computing library. [MIT]
QuarkPhysics198almost 2 years agoA 2D Soft Body and Rigid Body Physics Engine. [MIT]
Simbody2,344almost 2 years agoHigh-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
SOFA941almost 2 years agoSOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL]

Awesome C++ / Reflection

config-loader222about 3 years agoA C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
Better Enums1,687over 2 years agoReflective enums (to string, iteration). Single header. [BSD]
clReflect276over 3 years agoC++ Reflection using clang. [MIT]
CPFG220over 4 years agoA C++03 library for reflection, callback and script binding. [Apache2]
CPP-Reflection671almost 7 years agoC++ Reflection using clang. [MIT]
Easy Reflection99almost 3 years agoEasy and fast reflection + serialization solution like in Rust, Java or Go. [Apache]
Magic Enum5,042almost 2 years agoHeader-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]
magic_get207almost 3 years agostd::tuple like methods for user defined types without any macro or boilerplate code. [Boost]
meta599over 6 years agoHeader-only, non-intrusive and macro-free runtime reflection system in C++. [MIT]
Nameof2,106almost 2 years agoHeader-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT]
Ponder649almost 4 years agoA C++11 library for reflection. [MIT]
REFLECT330almost 2 years agoC++20 Static Reflection library. [MIT]
reflect-cpp1,165almost 2 years agoSerialization through reflection, including automatic field name retrieval from structs. [MIT]
RTTR3,208over 2 years agoA C++11 library for reflection. [MIT]
simple_enum22almost 2 years agoAn Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0]
TSMP97over 2 years agoAn intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT]
visit_struct506over 3 years agoA miniature library for struct-field reflection in C++. [Boost]
Refureku227about 2 years agoA C++17 runtime reflection and code generation library. [MIT]

Awesome C++ / Regular Expression

CppVerbalExpressions382almost 7 years agoC++ regular expressions made easy. [MIT]
CTRE3,404about 2 years agoA Compile time PCRE (almost) compatible regular expression matcher. [MIT]
Hyperscan4,857over 2 years agoHyperscan 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]
Oniguruma2,331almost 2 years agoA modern and flexible regular expressions library that supports a variety of character encodings. [BSD]
PCREA regular expression C library inspired by the regular expression capabilities in Perl. [BSD]
PIRE332about 6 years agoPerl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0]
RE29,023almost 2 years agoA software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause]
SLRE535almost 6 years agoSuper Light Regexp engine for C/C++. [GPLv2/Proprietary]
sregex617almost 5 years agoA non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD]
SRELLUnicode-aware regular expression template library for C++. [BSD]
Vectorscan515almost 2 years agoA portable fork of the high-performance regular expression matching library. [BSD-3-Clause]

Awesome C++ / Robotics

MOOS-IvPA set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles
MRPTMobile Robot Programming Toolkit. [BSD]
PCL10,071almost 2 years agoPoint Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing. [BSD]
Robotics Library (RL)A self-contained C++ library for robot kinematics, motion planning and control. [BSD]
RobWorkA collection of C++ libraries for simulation and control of robot systems. [Apache2]
ROSRobot Operating System provides libraries and tools to help software developers create robot applications. [BSD]
Ruckig747almost 2 years agoReal-time motion generation for robots and machines. [MIT]
YARP (Yet Another Robot Platform)530almost 2 years agoLibrary and toolkit for communication and device interfaces. [BSD-3-Clause]
SPICE Toolkit20over 4 years agoLibrary and toolkit for computing geometric information used in planning and analyzing science observations obtained from robotic spacecraft. [MIT]

Awesome C++ / Scientific Computing

AMGCL751over 2 years agoa header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT]
Au331almost 2 years agoA 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]
FFTWA C library for computing the DFT in one or more dimensions. [GPL]
GSLGNU scientific library. [GPL]
preCICE765almost 2 years agoCoupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL]
TileDB1,878almost 2 years agoFast Dense and Sparse Multidimensional Array DBMS. [MIT]
Trilinos1,225almost 2 years agoHigh performance PDE solvers. [BSD]
Torch9,001almost 4 years agoA scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause]

Awesome C++ / Scripting

AngelScriptAngelScript is a game-oriented interpreted/compiled scripting language. [zlib]
Boost.Python476almost 2 years agoA C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost]
cppimport1,195over 2 years agoImport C++ files directly from Python! [MIT]
CppSharp3,153almost 2 years agoTools and libraries to glue C/C++ APIs to high-level languages. [MIT]
ChaiScript2,961over 2 years agoAn easy to use embedded scripting language for C++. [BSD]
ctypes.sh2,109over 2 years agoA foreign function interface for bash. [MIT]
Cython9,606almost 2 years agoCython 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]
djinniA tool for generating cross-language type declarations and interface bindings. [Apache2]
Duktape5,971over 2 years agoAn embeddable JavaScript engine with compact footprint. [MIT]
JavaCpp4,519almost 2 years agoThe missing bridge between Java and native C++. [Apache2]
libffi3,240almost 2 years agoA portable foreign-function interface library. [MIT]
LuaA minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
LuaBridge1,656almost 2 years agoA lightweight, dependency-free library for binding Lua to C++. [MIT]
LuaBridge3257about 2 years agoA lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT]
luacxx157over 8 years agoC++11 API for creating Lua bindings. [MIT]
MiniScriptscripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT]
nbind1,980over 7 years agoMagical headers that make your C++ library accessible from JavaScript. [MIT]
PHP-CPP1,430almost 2 years agoA library to build PHP extensions with C++. [Apache2]
pocketpy1,656almost 2 years agoC++17 header-only Python interpreter for game scripting. [MIT]
pybind1115,935almost 2 years agoSeamless operability between C++11 and Python. [BSD]
QuickJSa small and embeddable JavaScript engine. [MIT]
SIPC or C++ Bindings Generator for Python v2 and v3. [GPL]
sol24,282almost 2 years agoA C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT]
SWIG5,828almost 2 years agoA wrapper/interface Generator that let you link your c++ code to JavaScript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed]
txiki.js2,590almost 2 years agoA tiny JavaScript runtime. [MIT]
V71,429almost 6 years agoAn embedded JavaScript engine. [GPL2]
V8A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
v8pp913about 2 years agoHeader-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST]
ChakraCore9,136about 2 years ago-A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT]

Awesome C++ / Serialization

Bitsery1,090about 2 years agoHeader only C++ binary serialization library. [MIT]
Bond2,615almost 2 years agoAn open source, cross-platform framework for working with schematized data. [MIT]
Boost.Serialization122almost 2 years agoBoost Serialization Library. [Boost]
Cap'n Proto11,788almost 2 years agoFast data interchange format and capability-based RPC system. [MIT]
cereal4,257about 2 years agoA C++11 library for serialization. [BSD]
cista1,852almost 2 years agoA C++17 library for zero-copy high-performance (de-)serialization. [MIT]
cppcodec624about 4 years agoHeader-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT]
FastBinaryEncoding889over 2 years agoFast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT]
FlatBuffers23,472almost 2 years agoA Memory efficient serialization library. [Apache2]
Kaitai StructA declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][Apache2]
iguana1,130almost 2 years agoa modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2]
MessagePack3,041almost 2 years agoEfficient binary serialization format "like JSON" for C and C++. [Apache2]
mrpt-serialization1,972almost 2 years agoVersioned serialization to binary or text formats. [BSD]
nanopb4,415almost 2 years agoSmall code-size Protocol Buffers implementation in ANSI C. [Zlib]
protobuf65,999almost 2 years agoProtocol Buffers - Google's data interchange format. [BSD]
protobuf-c2,709about 2 years agoProtocol Buffers implementation in C. [BSD]
Protocol Puffers157almost 2 years agoA little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20. [Apache-2.0]
SimpleBinaryEncoding3,136almost 2 years agoencoding and decoding application messages in binary format for low-latency applications. [Apache2]
upb1,504almost 2 years agoA small protobuf implementation in C. [BSD]
Wirehair272almost 3 years agoO(N) Fountain Code for Large Data. [BSD-3-Clause]
YAS734over 2 years agoVery fast et nother erialization library supports the binary/text/json formats. [Boost]
zpp_bits755almost 2 years agoActually, the fastest modern erialization library. Just check

Awesome C++ / Serial Port

Asio5,016almost 2 years agoAsio includes classes for creating and manipulating serial ports in a portable manner. [Boost]
Boost.Asio1,260almost 2 years agoBoost.Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost]
CSerialPort745almost 2 years agolightweight cross-platform serial port library. [LGPL3]
Libserial427about 2 years agoSerial Port Programming in C++. [BSD-3-Clause]
Serial Communication Library2,172about 2 years agoCross-platform, Serial Port library written in C++. [MIT]

Awesome C++ / Sorting

cpp-sort629almost 2 years agoSorting algorithms & related tools for C++14. [MIT]
pdqsort2,381almost 3 years agoPattern-defeating quicksort. [zlib]
Timsort303almost 2 years agoA templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT]
Indiesort19over 2 years agoA sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib]

Awesome C++ / Video

libvpxVP8/VP9 Codec SDK. [BSD]
FFmpegA complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]
avcpp461almost 2 years agoModern C++ wrapper around FFmpeg. [MIT]
libde2651,727almost 2 years agoOpen h.265 video codec implementation. [LGPL]
x265Open h.265 video codec implementation. [GPL2]
OpenH2645,597almost 2 years agoOpen Source H.264 Codec. [BSD]
TheoraA free and open video compression format. [BSD]
Vireo936almost 5 years agoA lightweight and versatile video processing library by Twitter. [MIT]

Awesome C++ / Virtual Machines

CarpVM981over 5 years ago"interesting" VM in C. Let's see how this goes. [GPLv3]
MicroPython19,551almost 2 years agoAims to put an implementation of Python 3.x on a microcontroller. [MIT]
TinyVM3,207over 7 years agoA small, fast, lightweight virtual machine written in pure ANSI C. [MIT]

Awesome C++ / Web Application Framework

Civetweb2,929almost 2 years agoProvides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
C++ REST SDK8,041almost 2 years agoMicrosoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT]
CppCMSA Free High Performance Web Development Framework (not a CMS). [LGPLv3]
Crow3,379almost 2 years agoCrow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD]
Cutelyst921almost 2 years agoA C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause]
Drogon11,701almost 2 years agoA C++14/17 based, high-performance HTTP application framework. [MIT]
C++ wfrest896almost 2 years agoC++ Web Framework REST API. [Apache2]
facil.io2,178almost 2 years agoEvented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT]
Koreultra fast and flexible web server / framework for web applications developed in C. [ISC]
libOnionlightweight library to help you create webservers in C programming language. [LGPLv3]
lwan5,946almost 2 years agoExperimental, scalable, high performance HTTP server. [GPL2]
oat++7,958almost 2 years agoLight, zero-dependency framework to create high-performance web-services. [Apache-2.0]
PistachePistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
QDjango269about 8 years agoA 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]
TreeFrog Framework1,297almost 2 years agoHigh-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD]
userver2,479almost 2 years agoAsynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0]
WtA C++ library for developing web applications. [GPL/Proprietary]

Awesome C++ / XML

Boost.PropertyTree55almost 2 years agoA property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]
ExpatAn XML parser library written in C. [MIT]
Libxml2The XML C parser and toolkit of Gnome. [MIT]
libxml++An XML Parser for C++. [LGPL2]
Mini-XML454almost 2 years agoA small XML parsing library written in ANSI C. [LGPL2 with exceptions]
PugiXMLA light-weight, simple and fast XML parser for C++ with XPath support. [MIT]
RapidXmlAn attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
TinyXMLA simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]
TinyXML25,139almost 2 years agoA simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]
TinyXML++92over 4 years agoA completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]
Xalan C29over 2 years agoA library and a command line program to transform XML documents using a stylesheet that conforms to XSLT 1.0 standards. [Apache-2.0]
Xerces-C++A validating XML parser written in a portable subset of C++. [Apache2]

Awesome C++ / Yaml

mini-yaml222over 3 years agoSingle header YAML 1.0 C++11 serializer/deserializer. [MIT]
yaml-cpp5,212almost 2 years agoA YAML parser and emitter in C++. [MIT]
rapidyaml592almost 2 years agoRapid YAML is a C++ library to parse and emit YAML. [MIT]

Awesome C++ / Miscellaneous

access_profiler74almost 13 years agoA tool to count accesses to member variables in c++ programs. [GPL3]
American fuzzy lopa.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2]
Argon24,837about 2 years agoThe password hash Argon2, winner of PHC. [CC0/Apache2]
Better StringAn alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2]
Boost.Signals277almost 2 years agoAn implementation of a managed signals and slots system. [Boost]
casacoreA set of c++ core libraries derived from aips++. [LGPL]
CCTZ597almost 2 years agoa C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0]
Cheat Sheets of HackingCPPCool cheat sheets and infographics for algorithms, views, containers, randomness, etc
Concord528almost 2 years agoA Discord API wrapper library written in C. [MIT]
CPPItertools1,372almost 2 years agoRange-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]
cpp-lazy340almost 2 years agoa fast and easy lazy evaluation library for C++11/14/17/20. [MIT]
CRCpp343over 2 years agoEasy to use and fast C++ CRC library. [BSD-3-Clause]
cxx-prettyprint561over 3 years agoA pretty printing library for C++ containers. [Boost]
date3,190almost 2 years agoA date and time library based on the C++11/14/17
D++ (DPP)1,092almost 2 years agoA lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2]
DynaMix673almost 2 years agoA library which allows you to compose and modify objects at run time. [MIT]
emio133almost 2 years agoA safe and fast high-level and low-level character input/output library. [MIT]
faker-cxx325almost 2 years agoC++20 Faker library for generating fake (but realistic) data for testing and development. [MIT]
fast_float1,643almost 2 years agoFast, Exact C++ from_chars, 4x to 10x faster than strtod, part of GCC 12, Chromium, Redis, Webkit/Safari. [Apache2/BSL-1.0/MIT]
FastFormatFast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD]
fast_io689almost 2 years agoSignificantly faster input/output for C++20. [MIT]
fccf362almost 2 years agoA command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT]
{fmt}20,980almost 2 years agoSmall, safe and fast formatting library for C++. [Simplified BSD]
gcc-poison189almost 13 years agoA simple header file for developers to ban unsafe C/C++ functions from applications
happly325over 2 years agoA C++ header-only parser for the PLY file format. Parse .ply happily! [MIT]
hedley794about 2 years agoA C/C++ header file designed to smooth over some platform-specific annoyances
HighwayHash1,549over 2 years agoFast strong hash functions: SipHash/HighwayHash. [Apache-2.0]
icecream-cpp585almost 2 years agoA small printing library for debugging purposes. [MIT]
inja1,689almost 2 years agoA Template Engine for Modern C++. [MIT]
Jinja2С++505almost 2 years agoalmost full-conformance template engine implementation
jwt-cpp928almost 2 years agoA header only library for creating and validating JSON web tokens in C++. [MIT]
Kangaru504almost 2 years agoA dependency injection container for C++11 and C++14. [MIT]
Klib4,227over 2 years agoSmall and lightweight implementations of common algorithms and data structures. [MIT]
libcpuid461almost 2 years agoA small C library for x86 CPU detection and feature extraction. [BSD]
libenvpp130almost 2 years agoA modern C++ library for type-safe environment variable parsing. [Apache-2.0]
libevil29over 14 years agoThe Evil License Manager. [GPLv3]
libnih89almost 5 years agoA lightweight library of C functions and structures. [GPL2.1]
libsigc++390almost 2 years agoA typesafe callback system for standard C++. [LGPL]
libusbA universal USB library which allows for portable access to USB devices. [LGPL2]
Mach71,286almost 5 years agoA Pattern-matching library for C++. [BSD]
mio1,729over 2 years agoCross-platform C++11 header-only library for memory mapped file IO. [MIT]
MPH181almost 2 years agoC++20 [Minimal] Static Perfect Hash library. [MIT]
PEGTL1,957almost 2 years agoThe Parsing Expression Grammar Template Library. [MIT]
Pipes808almost 2 years agoPipelines for expressive code on collections in C++. [MIT]
pprint912over 6 years agoPretty Printer for Modern C++. [MIT]
pspsdk887almost 2 years agoAn open-source SDK for PSP homebrew development. [BSD/GNU GPL3]
QtVerbalExpressions64over 11 years agoThis Qt lib is based off of the C++ VerbalExpressions library. [MIT]
RapidFuzz250almost 2 years agoRapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT]
rapidhash234almost 2 years agoVery fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause]
Remote Call FrameworkInter-process communication framework for C++. [GPL2/Proprietary]
reproc562over 2 years agoA cross-platform (C99/C++11) process library. [MIT]
scnlib1,098almost 2 years agoscanf for modern C++. [Apache-2.0]
ScintillaA free source code editing component. [MIT]
SDS4,955over 2 years agoSimple Dynamic Strings library for C. [BSD]
semver.c185over 6 years agoA semver parser and render in ANSI C. [MIT]
sigslotC++ Signal/Slot Library. [PublicDomain]
SimpleSignal165about 7 years agoHigh performance C++11 signals. [PublicDomain]
Stage404over 5 years agoMobile robot simulator. [GPL2]
stb27,210almost 2 years agoA range of single-file libraries for C/C++. [PublicDomain]
stdman939about 2 years agoA tool that parses archived HTML files from and generates groff-formatted manual pages for Unix-based systems. [MIT]
StringZilla2,290almost 2 years agothe Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0]
StrTkA C++ library consisting of high performance string processing routines. [MIT]
tgbotxx11almost 2 years agoTelegram Bot C++ Library. [MIT]
tiny::optional107almost 2 years agoReplacement for std::optional that does not waste memory unnecessarily. [BSL-1.0]
Tulip IndicatorsA C library of over 100 financial technical analysis indicators. [LGPL]
ub-canaries176over 7 years agoA collection of C/C++ programs that try to get compilers to exploit undefined behavior
value-category-cheatsheet406over 3 years agoA PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft]
VarTypes16over 8 years agoA feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
Wildcards80over 2 years agoA simple C++ header-only template library implementing matching using wildcards. [BSL-1.0]
ZBarA barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2]
ZXing32,916almost 2 years agoAn open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache]

Software / Compiler

8cc6,166over 2 years agoA Small C Compiler
c2,107almost 3 years agoCompile and execute C "scripts" in one go! [MIT]
ClangA C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA]
GCCGNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]
PCCA very old C compiler. Supports C99
Intel C++ CompilerDeveloped by Intel
LLVMCollection of modular and reusable compiler and toolchain technologies
Microsoft Visual C++MSVC, developed by Microsoft
Open WatComWatcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
Oracle Solaris StudioC, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License]
TCCTiny C Compiler. [LGPL]

Software / Online Compiler

codechefA simple online compiler CodeChef
codepadAn online compiler/interpreter, and a simple collaboration tool
coliruOnline compiler/shell with support for various C++ compilers
Compiler ExplorerAn interactive compiler with assembly output available
CompileOnlineCompile and Execute C++ online on Linux
IdeoneAn online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages
ProgramizAn online compiler for learners and developers
repl.itA powerful yet simple tools and platforms for educators, learners, and developers
RextesterOnline compiler which provides several compilers(Clang, GCC, MSVC) and several editors
Try It OnlineTIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages
WandboxAn online Clang/GCC compiler with Boost available
paiza.ioAn online C/C++ compiler with multiple files supporting feature, GitHub(gist) integration and collaborative editing
InterviewBitA simple and easy to use online C++ compiler

Software / Debugger

Comparison of debuggersA list of Debuggers from Wikipedia
GDBGNU Debugger
LLDBThe LLDB Debugger
MetashellAn interactive template metaprogramming shell which includes the MDB metadebugger
ValgrindA tool for memory debugging, memory leak detection, and profiling
x64dbgAn open-source x64/x32 debugger for windows

Software / Integrated Development Environment

Anjuta DevStudioThe GNOME IDE. [GPL3]
AppCodean IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform
CevelopCross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins
CLionCross-platform C and C++ IDE from JetBrains
Code::BlocksA free C, C++ and Fortran IDE
CodeLiteAnother cross-platform, free C and C++ IDE. [GPL2 with an exception for plugins]
color_coded870over 2 years agoA vim plugin for libclang-based highlighting. [MIT]
Dev-C++A portable C/C++/C++11 IDE
Eclipse CDTA fully functional C and C++ IDE based on the Eclipse platform
Embarcadero Dev-CPP2,631over 2 years agoA fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2]
GeanySmall, fast, cross-platform IDE. [GPL]
IBM VisualAgeA family of computer integrated development environments from IBM
Irony-mode912almost 3 years agoA C/C++ minor mode for Emacs powered by libclang
juCi++Cross-platform, lightweight C++ IDE with libclang integration. [MIT]
KDevelopA free, open source IDE
Microsoft Visual StudioAn IDE from Microsoft
Microsoft Visual Studio Code165,346almost 2 years agoAn open-source IDE from Microsoft. [MIT]
NetBeansAn IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5
Qt Creator2,652almost 2 years agoA cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions]
rtags1,830about 2 years agoA c/c++ client/server indexer with for integration with emacs based on clang
XcodeDeveloped by Apple
YouCompleteMe25,503almost 2 years agoYouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim
cquery2,349about 6 years agoA C++ code completion engine for vscode, emacs, vim, etc
C Playground - Online C Programming IDEAn online IDE to practice C Programming where you can write, edit, and run code online

Software / Build Systems

BazelA multi-language, fast and scalable build system from Google. [Apache]
Bear5,081almost 2 years agoA tool to generate compilation database for clang tooling. [GPLv3]
Buck8,559almost 3 years agoA 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]
build2cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
CcacheA fast C/C++ compiler cache. [GPLv3]
clib4,885about 2 years agoPackage manager for the C programming language. [MIT]
CMakeCross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
Cget454over 2 years agoCmake package retrieval. [Boost]
ConanC/C++ Package Manager, open sourced. [MIT]
CPM747about 5 years agoA C++ Package Manager based on CMake and Git
FASTBuildHigh performance, open-source build system supporting highly scalable compilation, caching and network distribution
HunterCMake driven cross-platform package manager for C++. [BSD-2]
MesonBuildAn open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible
NinjaA small build system with a focus on speed
Sccache5,902almost 2 years agoA fast compiler cache for C/C++, with cross-platform support and cloud backed storage options
SconsA software construction tool configured with a Python script
SconsolidatorScons build system integration for Eclipse CDT
SpackA flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT]
SWCross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3]
tundra438about 2 years agoHigh-performance code build system designed to give the best possible incremental build times even for very large software projects
tupFile-based build system that monitors in the background for changed files
PremakeA tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux
Vcpkg23,503almost 2 years agoC++ library manager for Windows, Linux, and MacOS. [MIT]
wafPython-based framework for configuring, compiling and installing applications. [BSD]
XMakeA C/C++ cross-platform build utility based on Lua. [Apache]

Software / Static Code Analysis

CppcheckA tool for static C/C++ code analysis. -
CppDependSimplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code
cpplint1,601almost 2 years agoA C++ style checker following Google's C++ style guide
PVS-StudioA tool for bug detection in the source code of programs, written in C, C++ and C#
cpp-dependencies747almost 3 years agoTool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache]
include-what-you-use4,142almost 2 years agoA tool for use with clang to analyze includes in C and C++ source files
Infer15,024almost 2 years agoA static analyzer for Java, C and Objective-C. [BSD]
OCLintA static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. -
Clang Static AnalyzerA source code analysis tool that finds bugs in C, C++, and Objective-C programs
LinticatorEclipse CDT integration of Pc-/FlexeLint
IKOS2,746almost 2 years agoStatic analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]
List of tools for static code analysisA list of tools for static code analysis from Wikipedia
OptView2136about 2 years agoInspect missed Clang optimizations
TrunkToolkit to check, test, merge, and monitor code

Software / Coding Style Tools

Artistic StyleA tool to format C/C++/C#/Obj-C/Java code. Also known as astyle
ClangFormatA tool to format C/C++/Obj-C code
Clang-TidyClang-based C++ linter tool
EditorConfigEditorConfig helps maintain consistent coding styles across different editors and IDEs
Uncrustify2,878almost 2 years agoCode beautifier

Resources / API Design

Beautiful Native Libraries
Designing Qt-Style C++ APIs

Resources / Articles

CppCon 2023 Presentation Materials290over 2 years agoCppCon 2023 Presentation Materials
CppCon 2022 Presentation Materials529over 3 years agoCppCon 2022 Presentation Materials
CppCon 2021 Presentation Materials98almost 3 years agoCppCon 2021 Presentation Materials
CppCon 2020 Presentation Materials1,628almost 6 years agoCppCon 2020 Presentation Materials
CppCon 2019 Presentation Materials1,241almost 4 years agoCppCon 2019 Presentation Materials
CppCon 2018 Presentation Materials1,427over 7 years agoCppCon 2018 Presentation Materials
CppCon 2017 Presentation Materials1,790almost 6 years agoCppCon 2017 Presentation Materials
CppCon 2016 Presentation Materials1,806over 8 years agoCppCon 2016 Presentation Materials
CppCon 2015 Presentation Materials1,782over 9 years agoCppCon 2015 Presentation Materials
CppCon 2014 Presentation Materials2,274over 10 years agoCppCon 2014 Presentation Materials
C++Now 2023 Presentations83over 3 years agoPresentation materials presented at C++Now 2023
C++Now 2022 Presentations1over 4 years agoPresentation materials presented at C++Now 2022
C++Now 2021 Presentations4over 3 years agoPresentation materials presented at C++Now 2021
C++Now 2019 Presentations90over 6 years agoPresentation materials presented at C++Now 2019
C++Now 2018 Presentations126over 7 years agoPresentation materials presented at C++Now 2018
C++Now 2017 Presentations490over 7 years agoPresentation materials presented at C++Now 2017
C++Now 2016 Presentations83over 9 years agoPresentation materials presented at C++Now 2016
C++Now 2015 Presentations202about 11 years agoPresentation materials presented at C++Now 2015
C++Now 2014 Presentations433over 12 years agoPresentation materials presented at C++Now 2014
C++Now 2013 Presentations190over 7 years agoPresentation materials presented at C++Now 2013
C++Now 2012 Presentations172over 7 years agoPresentation materials presented at C++Now 2012

Resources / Books

List of Free C or C++ Books60,620almost 2 years ago
Free C Books341,306almost 2 years agovhf/free-programming-books/C
Free C++ Books341,306almost 2 years agovhf/free-programming-books/C++
cppbestpractices8,205about 2 years agoCollaborative Collection of C++ Best Practices

Resources / Coding Standards

Cert C++
Misra C++ 2008
Autosar C++ 2014

Resources / Coding Style

C++ Core Guidelines43,002almost 2 years ago"Official" set of C++ guidelines, reviewed by the author of C++
C++ Dos and Don'tsThe Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts
google-styleguide37,618almost 2 years agoStyle guides for Google-originated open-source projects
Google C++ Style Guide
GNU Coding Standard
Linux kernel coding style
LLVM Coding Standards

Resources / Podcasts

CppCastThe first podcast by C++ developers for C++ developers
CppChatA (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community

Resources / Talks

C++ Conferences9about 2 years agoCatalog of C++ conferences
CppCon TalksThe C++ conference
Quick game development with C++11/C++1487almost 9 years agoCppCon 2014 talk by Vittorio Romeo
Presentation on Hana for C++Now 201510about 8 years ago
Meeting CppMeeting C++ YouTube Channel

Resources / Videos

List of C or C++ YouTube Videos60,620almost 2 years ago
Awesome C Programming Tutorials in Hi Def [HD]A collection of detailed C Programming Language Tutorials for Beginners and New Programmers
C++by VoidRealms
C++ Qt Programmingby VoidRealms
C++ Programming Tutorials PlaylistTheNewBoston Official Buckys C++ Programming Tutorials Playlist
C++ Programming Tutorials from thenewbostonThese are all of thenewboston's C++ programming tutorials
C++ GUI with Qt PlaylistOfficial Playlist for thenewboston C++ GUI with Qt tutorials
Caleb Curry's C Programming TutorialsAn all-in-one playlist of tutorials for C programming
C Programming TutorialsAll of TheNewBoston's C programming tutorials are right here
Bo Qian's playlistBoost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL,
The Cherno's C++ PlaylistExtensive C++ tutorial series by The Cherno
Code for Yourself C++ PlaylistA complete C++ course covering everything from fundamentals to software design

Resources / Websites

Standard C++News, Status & Discussion about Standard C++
Build BenchCompare C++ Builds
Quick BenchQuick C++ Benchmarks
CppConThe C++ Conference
C++ referenceA complete online reference for the C and C++ languages and standard libraries
C++ by ExampleLearn C++ by Example
cplusplus.comThe C++ Resources Network
C FAQC frequently asked questions
C++ FAQC++ frequently asked questions
C++ FQA LiteC++ frequently questioned answers
C++ QuizA simple online quiz that you can use to test your knowledge of the C++ programming language
Guru of the WeekA regular series of C++ programming problems created and written by Herb Sutter
Meeting C++
PVS-Studio’s challengePVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects
Udemy C++ Courses and Tutorials
C++ HintsEvery business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team
C++ tutorialA user ranked online tutorial bank site displaying multiple courses to learn C++ from
C++ Tutorial for BeginnersA comprenhensive tutorial on C++ curated by trained experts
cppexpert.onlineLearn the best C++ practices by improving code snippets with some problems or with bad practices
C++ for yourselfA comprehensive tutorial on modern C++ covering everything from fundamentals to software design

Resources / Weblogs

Coding For SpeedCoding For Speed DOT COM, Less Execution Time
Eric Niebler
Sticky Bits
Paul Fultz II's Blog
ridiculousfishWill It Optimize?
Embedded in Academia
Simplify C++
Fluent C++
Bartek's Coding Blog
Kenny Kerr
Sutter’s Mill
Vorbrodt's C++ Blog
foonathan::blog()
C++ Team BlogDev blog from the Microsoft Visual C++ team

Resources / Other Awesome Projects

algorithms5,291about 2 years agoAlgorithms & Data Structures in C++
c-algorithms3,368almost 2 years agoC algorithms library
30 Seconds of C++1,449almost 3 years ago

Other Awesome Lists

lists10,067about 2 years agoList of (awesome) lists curated on GitHub
awesome-awesomeness32,173over 2 years agoA curated list of awesome awesomeness
awesome337,709almost 2 years agoA curated list of awesome lists
C++ links4,598almost 2 years agoA categorized list of C++ resources
Awesome C++LibHunt's mirror
Awesome C1
Awesome C3,505about 4 years ago2
Awesome Modern C++12,012about 2 years agoA collection of resources on modern C++
AwesomePerfCpp2,385about 4 years agoA curated list of awesome C/C++ performance optimization resources
free-programming-books341,306almost 2 years agoList of Freely Available Programming Books
InqludeThe Qt library archive
papers-we-love88,844almost 2 years agoPapers from the computer science community to read and discuss
awesome-algorithms21,138almost 2 years agoA curated list of awesome places to learn and/or practice algorithms
awesome-hpp3,553about 2 years agoA curated list of awesome header-only C++ libraries
awesome-talks6,102about 2 years agoA lot of screencasts, recordings of user group gatherings and conference talks
Projects45,469about 2 years agoA list of practical projects that anyone can solve in any programming language
Awesome interview questions71,974about 2 years agoA list of lists of interview questions for the most popular technologies, including C and C++
nothings/single_file_libs9,035over 2 years agoList of single-file C/C++ libraries

Backlinks from these awesome lists:

More related projects: