Browse free open source C++ Algorithms and projects below. Use the toggles on the left to filter open source C++ Algorithms by OS, license, language, programming language, and project status.

  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Start Free
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • 1
    Clipper

    Clipper

    Polygon and line clipping and offsetting library (C++, C#, Delphi)

    This library is now obsolete and no longer being maintained. It has been superceded by my Clipper2 library - https://github.com/AngusJohnson/Clipper2.
    Leader badge
    Downloads: 6,021 This Week
    Last Update:
    See Project
  • 2
    Technical analysis library with indicators like ADX, MACD, RSI, Stochastic, TRIX... includes also candlestick pattern recognition. Useful for trading application developpers using either Excel, .NET, Mono, Java, Perl or C/C++.
    Leader badge
    Downloads: 6,813 This Week
    Last Update:
    See Project
  • 3
    GNSS-SDR

    GNSS-SDR

    An open source software-defined GNSS receiver

    An open source software-defined Global Navigation Satellite Systems (GNSS) receiver written in C++ and based on the GNU Radio framework.
    Leader badge
    Downloads: 2,762 This Week
    Last Update:
    See Project
  • 4
    Armadillo

    Armadillo

    fast C++ library for linear algebra & scientific computing

    * Fast C++ library for linear algebra (matrix maths) and scientific computing * Easy to use functions and syntax, deliberately similar to Matlab / Octave * Uses template meta-programming techniques to increase efficiency * Provides user-friendly wrappers for OpenBLAS, Intel MKL, LAPACK, ATLAS, ARPACK, SuperLU and FFTW libraries * Useful for machine learning, pattern recognition, signal processing, bioinformatics, statistics, finance, etc. * Downloads: https://arma.sourceforge.net/download.html * Documentation: https://arma.sourceforge.net/docs.html * Bug reports: https://arma.sourceforge.net/faq.html * Git repo: https://gitlab.com/armadillo-lib/armadillo-code
    Leader badge
    Downloads: 3,504 This Week
    Last Update:
    See Project
  • 99.99% Uptime for MySQL and PostgreSQL Databases Icon
    99.99% Uptime for MySQL and PostgreSQL Databases

    Sub-second maintenance. 2x read/write performance. Built-in vector search for AI apps.

    Cloud SQL Enterprise Plus delivers near-zero downtime with 35 days of point-in-time recovery. Supports MySQL, PostgreSQL, and SQL Server.
    Start Free
  • 5
    threadpool is a cross-platform C++ thread pool library. It provides a convenient way for dispatching asynchronous tasks and can be easily customized. threadpool is based on the high-quality Boost source libraries.
    Leader badge
    Downloads: 313 This Week
    Last Update:
    See Project
  • 6
    WOFF2

    WOFF2

    This document documents how to run the compression reference code

    woff2 is Google’s reference implementation of the WOFF2 webfont format, the modern, highly compressed container used by browsers to ship OpenType/TrueType fonts efficiently over the network. It integrates specialized transforms for font tables (like glyf/loca and variations data) with Brotli compression to squeeze out as many bytes as possible while preserving exact font fidelity on decode. The repository includes a compact C/C++ library and small command-line tools so you can convert existing TTF/OTF files to WOFF2 and back for testing or build pipelines. Its encoder applies deterministic, spec-compliant transformations that maximize compressibility without altering rendering results, making it safe for production web delivery. The decoder is just as strict, validating headers and table checksums to guard against malformed inputs. Because WOFF2 is now ubiquitous across browsers and CDNs, this repo often serves as the canonical baseline for tooling.
    Downloads: 18 This Week
    Last Update:
    See Project
  • 7
    Arduino FOC

    Arduino FOC

    Arduino FOC for BLDC and Stepper motors

    We live in very exciting times 😃! BLDC motors are entering the hobby community more and more and many great projects have already emerged leveraging their far superior dynamics and power capabilities. BLDC motors have numerous advantages over regular DC motors but they have one big disadvantage, the complexity of control. Even though it has become relatively easy to design and manufacture PCBs and create our own hardware solutions for driving BLDC motors the proper low-cost solutions are yet to come. One of the reasons for this is the apparent complexity of writing the BLDC driving algorithms, Field oriented control (FOC) being an example of one of the most efficient ones. The solutions that can be found online are almost exclusively very specific for certain hardware configurations and the microcontroller architecture used. Additionally, most of the efforts at this moment are still channeled towards the high-power applications of the BLDC motors and proper low-cost FOC.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 8
    dlib C++ Library
    Dlib is a C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.
    Leader badge
    Downloads: 33 This Week
    Last Update:
    See Project
  • 9
    TARQUIN

    TARQUIN

    MRS/NMR analysis software

    Analysis software for MRS/NMR data. Allows processing and fitting to be performed in a fully automatic workflow.
    Leader badge
    Downloads: 57 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • 10
    FileVerifier++
    FileVerifier++ is a Windows utility for calculating hashes using a number of algorithms including CRC32, MD5, SHA-1, SHA-256/224/384/512, WHIRLPOOL, and RIPEMD-128/160/256/320. Supported hash file formats include MD5SUM .MD5, SFV, BSD CKSUM, and others.
    Downloads: 35 This Week
    Last Update:
    See Project
  • 11
    MyTinySTL

    MyTinySTL

    Achieve a tiny STL in C++11

    This is a tinySTL based on C++11, which is my first project for practice. I use the Chinese documents and annotations for convenience, maybe there will be an English version later, but now I have no time to do that yet. Now I have released version 2.0.0. I have achieved the vast majority of the containers and functions of STL, and there may be some deficiencies and bugs. From version 2.x.x, the project will enter the stage of long-term maintenance, i.e., I probably will not add new content but only fix bugs found. If you find any bugs, please point out them in Issues, or make a Pull request to improve them, thanks!
    Downloads: 4 This Week
    Last Update:
    See Project
  • 12
    libPGF

    libPGF

    libPGF is an implementation of the Progressive Graphics File (PGF)

    The Progressive Graphics File (PGF) is an efficient image file format, that is based on a fast, discrete wavelet transform with progressive coding features. PGF can be used for lossless and lossy compression. It's most suitable for natural images. PGF can be used as a very efficient and fast replacement of JPEG 2000.
    Leader badge
    Downloads: 54 This Week
    Last Update:
    See Project
  • 13
    LinAsm

    LinAsm

    Collection of fast and optimized assembly libraries for x86-64 Linux

    LinAsm is collection of very fast and SIMD optimized assembly written libraries for x86-64 Linux. It implements many common and widely used algorithms for array manipulations: searching, sorting, arithmetic and vector operations, unit conversions; fast mathematical and statistic functions; numbers and time converting algorithms; finite impulse response (FIR) digital filters; spectrum analysis algorithms, Fast Hartley transformation; CPU cache friendly functions and extremely fast abstract data types (ADT) such as hash tables b-trees, and much more. LinAsm libraries are written on FASM assembly language. They are stable and have appropriate benchmarks for many units. All libraries are well documented and grouped by their functionality. To get more information about this library, please visit the official web site: http://linasm.sourceforge.net
    Leader badge
    Downloads: 48 This Week
    Last Update:
    See Project
  • 14
    EASTL

    EASTL

    EASTL, Electronic Arts Standard Template Library

    EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations. If you are familiar with the C++ STL or have worked with other templated container/algorithm libraries, you probably don't need to read this. If you have no familiarity with C++ templates at all, then you probably will need more than this document to get you up to speed. In this case, you need to understand that templates, when used properly, are powerful vehicles for the ease of creation of optimized C++ code. A description of C++ templates is outside the scope of this documentation, but there is plenty of such documentation on the Internet.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    Linear Program Solver

    Linear Program Solver

    Solve linear programming problems

    Linear Program Solver (LiPS) is an optimization package oriented on solving linear, integer and goal programming problems. The main features of LiPS are: ● LiPS is based on the efficient implementation of the modified simplex method that solves large scale problems. ● LiPS provides not just an answer, but a detailed solution process as a sequence of simplex tables, so you can use it for studying/teaching linear programming. ● LiPS gives sensitivity analysis procedures, which allow us to study the behaviour of the model when you change its parameters, including: analysis of changes in the right sides of constraints, analysis of changes in the coefficients of the objective function, analysis of changes in the column/row of the technology matrix. Such information may be extremely useful for the practical application of LP Models. ● LiPS provides methods of goal programming, including lexicographic and weighted GP methods, which are oriented on multi-objective optimisation.
    Downloads: 18 This Week
    Last Update:
    See Project
  • 16
    TTMath - a bignum library for C++
    A bignum library written in the C++ programming language as templates. It provides standard mathematical operations like add, sub, mul, div, pow etc. with the big integer and big floating point numbers.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 17

    COPEread

    Connecting Overlapped Pair-End Reads

    COPE (Connecting Overlapped Pair-End reads) is a method to align and connect the illumina sequenced Pair-End reads of which the insert size is smaller than the sum of the two read length.The connected reads can be used in genome assembly, resequencing and transcriptome research. The full citation: COPE: An accurate k-mer based pair-end reads connection tool to facilitate genome assembly Binghang Liu; Jianying Yuan; Siu-Ming Yiu; Zhenyu Li; Yinlong Xie; Yanxiang Chen; Yujian Shi; Hao Zhang; Yingrui Li; Tak-Wah Lam; Ruibang Luo Bioinformatics (2012) 28(22): 2870-2874; doi: 10.1093/bioinformatics/bts563
    Downloads: 29 This Week
    Last Update:
    See Project
  • 18
    STXXL is an implementation of the C++ standard template library STL for external memory (out-of-core) computations, containers, and algorithms that can process huge volumes of data that only fit on disks.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 19
    The Adobe Source Libraries (ASL) are a collection of C++ libraries building foundation technology to allow the construction of commercial applications by assembling generic algorithms through declarative descriptions.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 20

    DRAMMS

    A Deformable Medical Image Registration Toolbox

    DRAMMS is a software package designed for 2D-to-2D and 3D-to-3D deformable medical image registration tasks. Released by Section of Biomedical Image Analysis (SBIA) at the University of Pennsylvania. Some typical applications of DRAMMS include, -- Cross-subject registration of the same organ (can be brain, breast, cardiac, etc); -- Mono- and Multi-modality registration (MRI, CT, histology); -- Longitudinal registration (pediatric brain growth, cancer development, mouse brain development, etc); -- Registration under missing correspondences (e.g., vascular lesions, tumors, histological cuts). DRAMMS runs in command line in UNIX/Mac OS, It accepts Nifti/ANALYZE/MetaImage image formats. It is fully-automatic --- takes two input images, and generates a registered image and (optionally) the deformation field. More information (installation, tutorial, manual, demonstration, FAQ, etc) can be found at http://www.rad.upenn.edu/sbia/software/dramms/ .
    Leader badge
    Downloads: 27 This Week
    Last Update:
    See Project
  • 21
    McuOnEclipse

    McuOnEclipse

    Releases of McuOnEclipse projects

    Processor Expert components and Eclipse examples and plugins.
    Downloads: 27 This Week
    Last Update:
    See Project
  • 22
    OpenSpiel

    OpenSpiel

    Environments and algorithms for research in general reinforcement

    OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games. OpenSpiel supports n-player (single- and multi- agent) zero-sum, cooperative and general-sum, one-shot and sequential, strictly turn-taking and simultaneous-move, perfect and imperfect information games, as well as traditional multiagent environments such as (partially- and fully- observable) grid worlds and social dilemmas. OpenSpiel also includes tools to analyze learning dynamics and other common evaluation metrics. Games are represented as procedural extensive-form games, with some natural extensions. The core API and games are implemented in C++ and exposed to Python. Algorithms and tools are written both in C++ and Python. To try OpenSpiel in Google Colaboratory, please refer to open_spiel/colabs subdirectory.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    The Edge Machine Learning library

    The Edge Machine Learning library

    Machine learning algorithms for edge devices

    Machine learning models for edge devices need to have a small footprint in terms of storage, prediction latency, and energy. One instance of where such models are desirable is resource-scarce devices and sensors in the Internet of Things (IoT) setting. Making real-time predictions locally on IoT devices without connecting to the cloud requires models that fit in a few kilobytes.These algorithms can train models for classical supervised learning problems with memory requirements that are orders of magnitude lower than other modern ML algorithms. The trained models can be loaded onto edge devices such as IoT devices/sensors, and used to make fast and accurate predictions completely offline. A tool that adapts models trained by above algorithms to be inferred by fixed point arithmetic.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    X's Recommendation Algorithm

    X's Recommendation Algorithm

    Source code for the X Recommendation Algorithm

    The Algorithm is Twitter’s open source release of the core ranking system that powers the platform’s home timeline. It provides transparency into how tweets are selected, prioritized, and surfaced to users, reflecting Twitter’s move toward openness in recommendation algorithms. The repository contains the recommendation pipeline, which incorporates signals such as engagement, relevance, and content features, and demonstrates how they combine to form ranked outputs. Written primarily in Scala, it shows the architecture of large-scale recommendation systems, including candidate sourcing, ranking, and heuristics. While certain components (such as safety layers, spam detection, or private data) are excluded, the release provides valuable insights into the design of real-world machine learning–driven ranking systems. The project is intended as a reference for researchers, developers, and the public to study, experiment with, and better understand the mechanisms behind social media content.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25

    ViennaCL

    Linear algebra and solver library using CUDA, OpenCL, and OpenMP

    ViennaCL provides high level C++ interfaces for linear algebra routines on CPUs and GPUs using CUDA, OpenCL, and OpenMP. The focus is on generic implementations of iterative solvers often used for large linear systems and simple integration into existing projects.
    Leader badge
    Downloads: 14 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next