Top 50 Awesome List

fffaraz/awesome-cpp

Programming Languages  11 days ago  40.6k
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
View byDAY/WEEK/README
View on Github

Sep 19th

Sep 16th

Inter-process communication

  • Boost.Interprocess - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] website
  • Sep 12th

    Debug

  • nanobenchstars835 - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] website
  • Sep 9th

    Compression

  • bzip3stars426 - A better and stronger spiritual successor to BZip2. [LGPL]
  • Sep 2nd

    Frameworks

  • Cooststars3k - A tiny boost library in C++11. [MIT]
  • Aug 17th

    Static Code Analysis

  • Trunk - Toolkit to check, test, merge, and monitor code.
  • Aug 1st

    Miscellaneous

  • D++ (DPP)stars500 - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] website
  • Jul 22nd

    Websites

  • C++ Tutorial for Beginners - A comprenhensive tutorial on C++ curated by trained experts.
  • Jun 13th

    Debug

  • Toucastars106 - Open-source regression testing system that you can self-host. [Apache2] website
  • Jun 6th

    Graphics

  • Harfang 3Dstars192 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] website
  • May 25th

    Machine Learning

  • ONNX runtimestars7.5k - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] website
  • May 21st

    Debug

  • FakeItstars1k - Simple mocking framework for C++. [MIT]
  • Audio

  • rnnoisestars2.7k - Recurrent neural network for audio noise reduction. [BSD-3-Clause]
  • May 10th

    Static Code Analysis

  • OptView2stars55 - Inspect missed Clang optimizations
  • Apr 29th

    Miscellaneous

  • fccfstars311 - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT]
  • Apr 25th

    Inter-process communication

  • iceoryxstars931 - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] website
  • Apr 18th

    CSV

  • lazycsvstars50 - A fast, lightweight and single-header csv parser for modern C++. [MIT]
  • Apr 8th

    Miscellaneous

  • Concordstars322 - A Discord API wrapper library written in C. [MIT] website
  • JSON

  • json-buildstars28 - C89 tiny zero-allocation JSON serializer. [MIT]
  • Mar 2nd

    GUI

  • Slintstars4.9k - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] website
  • Feb 14th

    Graphics

  • Skiastars6.8k - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] website
  • Jan 7th

    Debug

  • VLD - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++.
  • Jan 5th

    Chemistry

  • MADNESSstars137 - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] websitestars137
  • MPQCstars50 - The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL] website
  • ORCA - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] website
  • Psistars739 - An ab initio computational chemistry package. [GPL] website
  • Dec 31st, 2021

    Concurrency

  • rotorstars230 - Event loop friendly C++ actor micro framework. [MIT]
  • Nov 23rd, 2021

    Books

  • Free C Books - vhf/free-programming-books/C.
  • Free C++ Books - vhf/free-programming-books/C++.
  • CLI

  • oofstars756 - Convenient, high-performance RGB color and position control for console output. [MIT]
  • Memory Allocation

  • rpmallocstars1.6k - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain]
  • snmallocstars1k - Message passing based high-performance allocator. [MIT]
  • TCMallocstars3.1k - Google's fast, multi-threaded malloc implementation. [Apache-2.0] website
  • Nov 9th, 2021

    Database

  • ClickHousestars193 - C++ client for ClickHouse DBMS. [Apache2]
  • Oct 30th, 2021

    Database

  • sqlite_ormstars1.6k - SQLite ORM light header only library for modern C++. [AGPL + paid MIT]
  • Oct 9th, 2021

    Serialization

  • cistastars1k - A C++17 library for zero-copy high-performance (de-)serialization. [MIT]
  • Oct 4th, 2021

    CLI

  • FINAL CUTstars674 - Library for creating terminal applications with text-based widgets. [LGPL]
  • Scientific Computing

  • preCICEstars456 - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] website
  • Sep 30th, 2021

    Configuration

  • inifile-cppstars165 - A header-only and easy to use Ini file parser for C++. [MIT]
  • Online Compiler

  • InterviewBit - A simple and easy to use online C++ compiler.
  • Sep 24th, 2021

    GUI

  • xtdstars381 - Modern 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]
  • Sep 16th, 2021

    Scripting

  • djinni - A tool for generating cross-language type declarations and interface bindings. [Apache2]
  • Sep 10th, 2021

    Web Application Framework

  • Crowstars1.2k - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] website
  • Sep 3rd, 2021

    Audio

  • dr_libsstars860 - Single file audio decoding libraries for C and C++. [Unlicense]
  • miniaudiostars2.4k - Single file audio playback and capture library. [Unlicense] website
  • Aug 3rd, 2021

    Frameworks

  • Seastarstars6.9k - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] seastar.io
  • Aug 2nd, 2021

    Machine Learning

  • m2cgenstars2.2k - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT]
  • CLI

  • poplstars112 - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT]
  • Data visualization

  • matplotplusplusstars2.9k - C++ Graphics Library for Data Visualization. [MIT] website
  • Physics

  • Kratosstars728 - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] website
  • Aug 1st, 2021

    Debug

  • DebugViewPPstars752 - Debug logging viewer. [BSL]
  • Jul 28th, 2021

    Online Compiler

  • codechef - A simple online compiler CodeChef.
  • Jul 23rd, 2021

    Build Systems

  • build2 - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
  • Jul 17th, 2021

    Reflection

  • config-loaderstars104 - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
  • Jul 14th, 2021

    Game Engine

  • o3destars5.4k - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] website
  • Jun 28th, 2021

    Frameworks

  • MiListars17 - Minimal headers-only C++ Library. [Boost]
  • Chemistry

  • gromacsstars460 - A message-passing parallel molecular dynamics implementation. [GPL] website
  • Image Processing

  • Magick++ - ImageMagick program interfaces for C++. [Apache2]
  • MagickWnd - ImageMagick program interfaces for C. [Apache2]
  • Logging

  • Easylogging++stars3.3k - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT]
  • Math

  • xtensorstars2.7k - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] website
  • Reflection

  • clReflectstars225 - C++ Reflection using clang. [MIT]
  • Miscellaneous

  • libsigc++stars243 - A typesafe callback system for standard C++. [LGPL] website
  • Compiler

  • Microsoft Visual C++ - MSVC, developed by Microsoft.
  • Jun 26th, 2021

    Math

  • NumCppstars2.5k - A templatized header only C++ implementation of the Python Numpy library. [MIT]
  • Jun 24th, 2021

    Math

  • CXXGraphstars165 - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0]
  • May 25th, 2021

    Video

  • x265 - Open h.265 video codec implementation. [GPL2] website
  • May 16th, 2021

    Logging

  • fmtlogstars404 - A performant fmtlib-style logging library with latency in nanoseconds. [MIT]
  • May 8th, 2021

    Containers

  • C++ B-treestars61 - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
  • May 6th, 2021

    Machine Learning

  • ncnnstars15.6k - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD]
  • May 5th, 2021

    Artificial Intelligence

  • flashlightstars4.5k - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
  • May 2nd, 2021

    Asynchronous Event Loop

  • Ichorstars70 - An event queue which focuses on thread safety and provides dependency injection. [MIT]
  • Apr 20th, 2021

    Image Processing

  • SAILstars195 - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT]
  • Apr 10th, 2021

    Audio

  • ni-mediastars195 - C++ library for reading and writing audio files. [MIT]
  • JSON

  • yyjsonstars2.2k - A high performance JSON library written in ANSI C. [MIT]
  • Networking

  • cpp-httplibstars7.8k - A single file C++11 header-only HTTP/HTTPS server library. [MIT]
  • Mar 16th, 2021

    JSON

  • json-structstars246 - High performance, single header JSON parser parsing to and from C++ structs. [MIT]
  • Feb 28th, 2021

    Yaml

  • yaml-cppstars3.6k - A YAML parser and emitter in C++ [MIT]
  • mini-yamlstars149 - Single header YAML 1.0 C++11 serializer/deserializer. [MIT]
  • Feb 20th, 2021

    Frameworks

  • Dlibstars11.4k ⚡ - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] website
  • Feb 18th, 2021

    CSV

  • Csv::Parserstars15 - Compile-time and runtime CSV parser written in C++17. [Zlib]
  • Feb 17th, 2021

    Reflection

  • Refurekustars173 - A C++17 runtime reflection and code generation library. [MIT]
  • Feb 10th, 2021

    Frameworks

  • C++ Workflowstars9.3k - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2]
  • Feb 1st, 2021

    Websites

  • C++ by Example - Learn C++ by Example.
  • Jan 29th, 2021

    Machine Learning

  • oneDALstars521 - A powerful machine learning library that helps speed up big data analysis. [Apache]
  • Artificial Intelligence

  • oneDNNstars3k - An open-source cross-platform performance library for deep learning applications. [Apache] website
  • Jan 12th, 2021

    Math

  • PCG-rand - PCG 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]
  • Sorting

  • Indiesortstars13 - A 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] website
  • Dec 29th, 2020

    Concurrency

  • concurrencppstars1.1k - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all.
  • Dec 24th, 2020

    CLI

  • cpp-terminalstars238 - Small header only C++ library for writing multiplatform terminal applications. [MIT]
  • FTXUIstars3.6k - C++ Functional Terminal User Interface. [MIT]
  • imtuistars2k - Immediate Mode Text-based User Interface [MIT]
  • Dec 23rd, 2020

    Networking

  • CppServerstars891 - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT]
  • Graphics

  • C-Turtlestars40 - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT]
  • Multimedia

  • libassstars696 - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC]
  • Physics

  • PhysXstars2.3k - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
  • Serialization

  • Bitserystars741 - Header only C++ binary serialization library. [MIT]
  • FastBinaryEncodingstars617 - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT]
  • Web Application Framework

  • oat++stars5.7k - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] website
  • Online Compiler

  • paiza.io - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing.
  • Weblogs

  • Fluent C++
  • Dec 3rd, 2020

    Concurrency

  • STAPL - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]
  • Dec 2nd, 2020

    Concurrency

  • cuda-api-wrappersstars519 - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]
  • Nov 17th, 2020

    Articles

  • CppCon 2020 Presentation Materialsstars1.6k - CppCon 2020 Presentation Materials.
  • Oct 17th, 2020

    Compression

  • KArchive - A 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]
  • Oct 15th, 2020

    Serialization

  • mrpt-serializationstars1.5k - Versioned serialization to binary or text formats. [BSD] website
  • Oct 10th, 2020

    GUI

  • NanoGuistars1.1k - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD]
  • Oct 3rd, 2020

    Game Engine

  • nCinestars747 - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] website
  • Oct 1st, 2020

    Robotics

  • YARP (Yet Another Robot Platform)stars439 - Library and toolkit for communication and device interfaces. [BSD-3-Clause] website
  • Sep 25th, 2020

    Networking

  • Boost.Beaststars3.5k ⚡ - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] website
  • Sep 15th, 2020

    Database

  • UnQLitestars1.8k - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] website
  • Aug 23rd, 2020

    JSON

  • jsonconsstars525 - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost]
  • Aug 11th, 2020

    Containers

  • PGM-indexstars630 - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] website
  • Jul 18th, 2020

    CSV

  • csv2stars304 - Fast CSV parser for modern C++. [MIT]
  • GUI

  • Elementsstars2.4k - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT]
  • Audio

  • AudioFilestars650 - A simple C++ library for reading and writing audio files. [GPL3]
  • Jul 7th, 2020

    Frameworks

  • Kigs frameworkstars69 - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] website
  • Jun 17th, 2020

    Debug

  • microprofilestars1.2k - Profiler with web-view for multiple platforms. [Unlicense]
  • Jun 4th, 2020

    Concurrency

  • stdgpustars749 - Efficient STL-like Data Structures on the GPU. [Apache2]
  • Jun 1st, 2020

    GUI

  • implotstars2.7k - Immediate Mode Plotting widgets for imgui. [MIT]
  • May 15th, 2020

    GUI

  • nuklearstars6.1k - A single-header ANSI C gui library. [PublicDomain]
  • Build Systems

  • SW - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3]
  • Apr 3rd, 2020

    Inter-process communication

  • eCALstars2 - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] website
  • Mar 9th, 2020

    Miscellaneous

  • VarTypesstars14 - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
  • Concurrency

  • SObjectizerstars300 - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]
  • Mar 8th, 2020

    Networking

  • tlsestars467 - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
  • Concurrency

  • marlstars1.4k - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
  • Game Engine

  • crownstars1.7k - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT]
  • Mar 6th, 2020

    Concurrency

  • HPXstars1.9k - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
  • Kokkosstars1.1k - A performance portable programming model for parallel execution and memory abstraction. [BSD]
  • Quantumstars469 - A powerful C++ coroutine dispatcher framework built on top of boost::coroutines2.
  • Mar 5th, 2020

    Math

  • Kleinstars621 - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] website
  • Mar 4th, 2020

    Asynchronous Event Loop

  • libhvstars4.7k - Cross-platform event loop library. [BSD]
  • Logging

  • Quillstars656 - Asynchronous cross platform low latency logging library. [MIT]
  • Feb 25th, 2020

    Configuration

  • toml++stars891 - Header-only TOML parser and serializer for C++17 and later. [MIT] website
  • Feb 5th, 2020

    Game Engine

  • Gritstars104 - Community project to build a free game engine for implementing open world 3D games. [MIT]
  • Chemistry

  • d-SEAMSstars25 - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] website
  • LAMMPSstars1.5k - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] website
  • Jan 30th, 2020

    Miscellaneous

  • pprintstars877 - Pretty Printer for Modern C++. [MIT]
  • Jan 19th, 2020

    GUI

  • RmlUistars1.5k - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT]
  • Physics

  • Simbodystars1.9k - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
  • SOFAstars643 - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] website
  • Jan 6th, 2020

    Audio

  • LAME - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
  • Jan 1st, 2020

    CLI

  • tabulatestars1.4k - Table Maker for Modern C++ [MIT]
  • Integrated Development Environment

  • Microsoft Visual Studio Code ⚡ - An open-source IDE from Microsoft. [MIT]
  • Dec 28th, 2019

    Talks

  • Meeting Cpp - Meeting C++ Youtube Channel
  • Dec 14th, 2019

    CLI

  • indicatorsstars2.2k - Activity indicators for Modern C++. [MIT]
  • Dec 11th, 2019

    Chemistry

  • Reaktorostars103 - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] website
  • Math

  • autodiffstars1.1k - A modern, fast and expressive C++ library for automatic differentiation. [MIT] website
  • Nov 30th, 2019

    CLI

  • Ncurses - A terminal user interface. [MIT]
  • Nov 16th, 2019

    Debug

  • μtstars917 - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost]
  • Nov 8th, 2019

    Math

  • CNLstars540 - A Compositional Numeric Library for C++. [Boost]
  • Oct 20th, 2019

    Web Application Framework

  • C++ REST SDKstars7k - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT]
  • Oct 18th, 2019

    Static Code Analysis

  • IKOSstars1.7k - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]
  • Oct 15th, 2019

    CLI

  • Lyrastars361 - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost]
  • Oct 13th, 2019

    PDF

  • litePDF - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib]
  • Oct 5th, 2019

    Articles

  • CppCon 2019 Presentation Materialsstars1.1k - CppCon 2019 Presentation Materials.
  • Sep 25th, 2019

    Serialization

  • Boost.Serialization - Boost Serialization Library. [Boost]
  • Sep 21st, 2019

    Audio

  • libsoundiostars1.6k - C library for cross-platform real-time audio input and output. [MIT] website
  • Coding Style Tools

  • EditorConfig - EditorConfig helps maintain consistent coding styles across different editors and IDEs.
  • Sep 17th, 2019

    Networking

  • KCP - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
  • Sep 10th, 2019

    Reflection

  • magic_get