Topics / #header-only

Header-only projects on GitHub

C++ libraries distributed as headers only, requiring no separate compilation step.

As of , the most-starred Header-only projects on GitHub are json (50.8K stars), stb (34.8K stars) and spdlog (29.7K stars). GitHub.Locker tracks 15 Header-only repositories with 280K stars combined. The fastest-growing on October 16 was clay, with +8 stars in a day.

15Projects
280KStars in total
+34Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

15 projects · by stars

  1. #1 · nlohmann/json

    json

    A JSON library for Modern C++ (nlohmann/json) that lets you read, create, and manipulate JSON values with intuitive, STL-like syntax directly in C++ code.

    50.8K
  2. #2 · nothings/stb

    stb

    A collection of 21 single-file libraries for C/C++ covering image loading, writing and resizing, font rasterizing, audio decoding, containers and more — all released into the public domain, with an MIT option if you need a regular license.

    34.8K
  3. #3 · gabime/spdlog

    spdlog

    spdlog is a very fast C++ logging library. It ships header-only or as a compiled library, and its message formatting is powered by the fmt library.

    29.7K
  1. 4

    fmt

    25.9Kfmtlib/fmt · C++

    {fmt} is an open-source C++ formatting library — a fast, safe alternative to C stdio and C++ iostreams, with a format string syntax similar to Python's.

  2. 5

    clay

    18.3Knicbarker/clay · C

    Clay (short for C Layout) is a high performance 2D UI layout library in C. You describe your UI with React-like declarative macros, it computes element positions and sizes in microseconds, and hands you back render commands.

  3. 6

    pybind11

    18Kpybind/pybind11 · C++

    pybind11 is a lightweight header-only C++ library that exposes C++ types in Python and vice versa — mainly to create Python bindings for existing C++ code.

  4. 7

    cpp-httplib

    16.9Kyhirose/cpp-httplib · C++

    A C++11 single-file header-only HTTP/HTTPS server and client library — you add networking to a C++ program by including one header, httplib.h.

  5. 8

    rapidjson

    15.1KTencent/rapidjson · C++

    RapidJSON is a fast, header-only JSON parser and generator library for C++, supporting both SAX and DOM style APIs.

  6. 9

    entt

    13.2Kskypjack/entt · C++

    EnTT is a fast, header-only entity component system (ECS) for modern C++ game programming, plus a bunch of related utilities like reflection, event dispatching, and resource management.

  7. 10

    concurrentqueue

    12.5Kcameron314/concurrentqueue · C++

    moodycamel::ConcurrentQueue is an industrial-strength, lock-free multi-producer multi-consumer queue for C++11.

  8. 11

    taskflow

    12.2Ktaskflow/taskflow · C++

    Taskflow is a C++ library that helps you write high-performance task-parallel programs with high programming productivity, letting you build and run graphs of dependent tasks across CPU threads and GPUs.

  9. 12

    Nuklear

    11.5KImmediate-Mode-UI/Nuklear · C

    Nuklear is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C, designed as a simple embeddable UI that you build into your own application.

  10. 13

    sokol

    10.4Kfloooh/sokol · C

    Sokol is a collection of minimal, cross-platform, standalone C header libraries for building apps and games: 3D graphics, windowing and input, audio, time, async file loading and argument parsing.

  11. 14

    DeepEP

    10.3Kdeepseek-ai/DeepEP · Cuda

    DeepEP is a high-performance communication library for MoE (mixture-of-experts) models, providing fast all-to-all GPU kernels for expert-parallel dispatch and combine operations used in ML training and inference.

  12. 15

    umium

    436hotline1337/umium · C++

    Umium is a security-focused anti-debugging and anti-reverse-engineering library for high-resilience Windows 10/11 x64 applications. It uses undocumented Windows NT system functions and runtime modifications to detect and neutralize debugging, memory tampering, or sandboxing attempts.

Often tagged together