Skip to main content

dev-c99-libraries

Date: 2025-08-31

https://github.com/jtanx/libclipboard

libclipboard is a lightweight cross-platform C/C++ library for clipboard operations (ownership check, clear, UTF-8 text get/set) targeting Windows, Linux (X11), and macOS; uses CMake for building and is MIT licensed. Tags: C, C++, Clipboard, Cross-platform

https://github.com/dacap/clip

clip is a cross-platform C++ library for copy/paste operations (text, user-defined data, RGB/RGBA images) across Windows, macOS, and Linux (X11); uses CMake as the build system and is distributed under the MIT license. Tags: C++, Clipboard, Cross-platform, MIT

https://github.com/r-lyeh/single_file_libs

single_file_libs is a curated collection of minimal-dependency, single-file C and C++ libraries under clause-less licenses, aimed at easy integration across platforms; it serves as an aggregated listing rather than a standalone library component, with no build system itself and license varies per entry. Tags: C, C++, Aggregator, Portable

https://github.com/nothings/stb

stb is a widely-used collection of single-file C/C++ public-domain (or optionally MIT) headers providing utilities like image loading, writing, resizing, font rasterizing, containers, text editing, and more in a minimal-dependency form; no unified build system. Tags: C, C++, Single-file, Public-domain

https://github.com/clibs/clib/wiki/Packages

clib’s Packages wiki is a categorized aggregator listing hundreds of small C libraries and headers (string, parsing, data structures, utilities, etc.) tracked by the clib package manager; it does not itself provide a library or build system, and covers multiple licenses across entries. Tags: C, Aggregator, Package-repository, Cross-domain

https://github.com/TinyCC/tinycc

TinyCC (Tiny C Compiler) is a self-contained, very small and high-speed C compiler written in C, capable of compiling and linking ANSI-C (C89/C90), much of C99, and GNU C extensions into native x86, x86-64, ARM (and more) executables; includes its own assembler/linker, supports script-style execution and optional bounds checking, uses configure/make for build, and is LGPL licensed. Tags: C, Compiler, Self-contained, LGPL

https://github.com/attractivechaos/klib

klib is a standalone, lightweight collection of independent C utility components (hash tables, vectors, sorting, trees, parsers, string utilities, and more) that can be included individually in projects with no external dependencies, uses only headers and optional source files, and is MIT licensed. Tags: C, Utilities, Header-only, MIT

https://github.com/embeddedartistry/libc

libc (Embedded Artistry) is a pared-down, portable C standard library implementation for bare-metal and RTOS-based embedded systems, offering a selected subset of libc functions without malloc/free, built using Meson/Make, and is MIT licensed. Tags: C, Embedded, Standard-library, MIT

https://github.com/JacksonAllan/Verstable

Verstable is a versatile, performance-oriented single-header C hash table library offering a generic, C99-compatible API, type safety, customizable hash/comparison/destructor functions, tombstone-free deletion, low memory overhead, and MIT licensing. Tags: C, Hash-table, Single-header, MIT

https://github.com/zserge/jsmn

jsmn is a minimalistic, highly portable C JSON parser designed for resource-limited or embedded systems; compatible with C89, it performs a single-pass, incremental, zero-allocation parse into tokens (no dependencies, just ~200 LOC), and is MIT licensed. Tags: C, JSON, Minimal-parser, MIT

https://github.com/sheredom/json.h

json.h is a compact, single-header JSON parser (and DOM builder) for C and C++, performing one-time, read-only buffer parsing into a memory-efficient DOM; supports Windows, macOS, and Linux with gcc/clang/msvc, and is released into the public domain (Unlicense). Tags: C, JSON, Single-header, Public-domain

https://github.com/benhoyt/inih

inih (INI Not Invented Here) is a small, simple C library for parsing INI-style configuration files in a callback (SAX-style) fashion, compatible with Python ConfigParser-style syntax, suitable for embedded or low-memory systems; provides options for BOM, comments, line handling, and is BSD-3-Clause licensed. Tags: C, INI-parser, Embedded, BSD-3-Clause

https://github.com/tronkko/dirent

dirent is a C/C++ library offering the POSIX-style dirent API (opendir, readdir, closedir, etc.) on Windows as well as UNIX-like systems, enabling cross-platform directory traversal; header-only and MIT licensed. Tags: C, Filesystem, Compatibility, MIT

https://github.com/edubart/miniphysfs

miniphysfs is a single-header port of PhysFS offering abstract, platform-independent access to various archive formats (ZIP, 7Z, WAD, ISO9660, etc.) within C/C++ applications; emulates PhysFS in one file, using header definitions for implementation control, and is zlib-licensed. Tags: C, Archives, Single-header, zlib

https://github.com/gpakosz/whereami

whereami is a drop-in two-file C library (whereami.c, whereami.h) to retrieve the path of the running executable or module at runtime, supporting Windows, Linux, macOS, iOS, Android, QNX, FreeBSD, NetBSD, DragonFly BSD, SunOS, and others; no build system, MIT/WTFPL2 licensed. Tags: C, Executable-path, Cross-platform, MIT

https://github.com/BareRose/swrap

swrap is a portable, single-file, protocol-agnostic C socket wrapper supporting TCP and UDP, primarily intended for game networking, abstracting Windows and POSIX sockets, including select/multi-select with timeouts; header-only and released under CC0 (public domain). Tags: C, Networking, Single-header, Public-domain

https://github.com/jcorks/tPNG

tPNG is a minimal, single-file, portable C99 PNG reader that decodes PNG image data into raw RGBA pixel arrays with no external dependencies; uses one function interface, thread-safe, low overhead (~2000 lines), and is MIT licensed. Tags: C, PNG-decoder, Single-file, MIT

https://github.com/mackron/dr_libs

dr_libs is a suite of public-domain, single-file C/C++ audio decoding libraries—including dr_flac (FLAC decoder), dr_mp3 (MP3 decoder), and dr_wav (WAV loader and writer)—all header-only and dependency-free. Tags: C, Audio, Single-file, Public-domain

https://github.com/rxi/log.c

log.c is a simple logging library implemented in C99 that provides six macros (log_trace, log_debug, log_info, log_warn, log_error, log_fatal) for formatted, leveled logging to stderr, supports quiet mode, file and callback outputs, optional colored output, and is MIT licensed. Tags: C, Logging, Lightweight, MIT

https://github.com/mentalisttraceur/errnoname

errnoname is a tiny C library that converts an integer errno value into its symbolic name (as a string) via a single thread-safe, reentrant function (errnoname(int)), built from errnoname.c/h, and is 0BSD licensed. Tags: C, errno-lookup, Lightweight, 0BSD

https://github.com/LiosK/uuidv7-h

uuidv7-h is a single-header C/C++ library providing UUID version 7 generation (RFC 9562), combining Unix time in milliseconds, a counter, and random bytes for time-sortable, zero-dependency ID creation; output is a 16-byte UUID and the header is MIT licensed. Tags: C, UUID, Single-header, MIT

https://github.com/sheredom/utf8.h

utf8.h is a simple, single-header C and C++ library for handling UTF-8 strings including iteration, validation, decoding and encoding, with no dependencies and full C99 compatibility; header-only and MIT licensed. Tags: C, Text, Single-header, MIT

https://github.com/gingerBill/gb

gb is a collection of public-domain single-file C and C++ helper libraries—such as gb_ini.h (version 0.93), a simple INI file loader—as well as utility headers (strings, math, GL, etc.) designed for easy inclusion and zero dependencies. Tags: C, Utilities, Single-file, Public-domain

https://github.com/jwlodek/csplit

csplit is a single-header C string manipulation library offering Python-like splitting and other string operations (split with negative-index support, limited ā€˜strtok’ replacement, CSV/config parsing, fragment list) with linked-list storage, suitable for simpler projects, and is MIT licensed. Tags: C, String-split, Single-header, MIT

https://github.com/eduardsui/doops

doops is a single C-header event-loop library providing basic message dispatch and asynchronous I/O functionality, including timers and file/socket polling using select/poll/epoll/kqueue, built as one header, Unlicense licensed. Tags: C, Event-loop, Single-header, Unlicense

https://github.com/rofl0r/endianness.h

endianness.h is a one-file, public-domain C header that detects host byte-order at compile time (defines ENDIANNESS_LE/BE), and includes endian conversion macros (e.g. end_htobe32, end_be32toh, end_bswap64); portable across GCC, Clang, MSVC, fallback logic included. Tags: C, Endianness, Single-header, Public-domain

https://github.com/siu/minunit { minimal testing }

Minunit is a minimal C/C++ unit testing framework contained in a single header that supports test suites, basic assertion macros, reporting of tests run, assertions, failures, and elapsed time; very portable, unspecified build system, MIT licensed. Tags: C, C++, Testing, MIT

https://github.com/silentbicycle/greatest { lightweight testing }

greatest is a single-header C testing library (usable from C++) with no dependencies or dynamic allocation, providing assertion macros, suites, filtering, and optional command-line runner; ANSI C89 portable, unspecified build system, ISC licensed. Tags: C, C++, Testing, ISC

https://github.com/r-lyeh/single_file_libs { aggregation list }

single_file_libs aggregates a curated collection of small, easy-to-integrate single- or dual-file C/C++ libraries aimed at portability across major platforms and 32/64-bit systems; build systems vary per library, minimal dependencies, permissive (often public-domain or clause-less) licenses. Tags: C, C++, Utility, Permissive

https://github.com/arkanis/single-header-file-c-libs { STB-style collection }

single-header-file-c-libs is a collection of small STB-style single-header C libraries (e.g. 3D math, OpenGL shorthand, Gaussian blur, signed-distance fields, hashmaps, test utilities), all under the MIT license and targeted at portability. Tags: C, Graphics, Utility, MIT

https://github.com/empyreanx/pico_headers { game-oriented headers }

pico_headers is a set of cross-platform single-header C libraries for game development (covering Base64, ECS, graphics, OpenGL, collision detection, logging, math, quadtree, time, unit testing); runs on Linux, Windows, and macOS; build system unspecified, mostly licensed under zlib or public domain (some MIT). Tags: C, Game-Dev, Cross-Platform, Permissive

https://github.com/Cubified/tuibox { terminal UI }

tuibox is a single-header C terminal UI (TUI) library for building mouse-driven, interactive command-line applications using pure ANSI escape sequences; no dependencies, highly portable, unspecified build system, permissive license (likely public-domain or similar). Tags: C, TUI, ANSI, Permissive

https://github.com/Cubified/vt100utils { ANSI-sequence handling }

vt100utils is a single-header C library for encoding, decoding, and manipulating ANSI graphic escape sequences, supporting multiple palettes (8-color, 256-color, truecolor), formatting modes (bold, underline, italic, blinking), fault-tolerant parsing, and ANSI-aware text wrapping/truncation; highly portable, unspecified build system, permissive license. Tags: C, ANSI, Utility, Permissive

https://github.com/termbox/termbox2 { TUI I/O }

termbox2 is a terminal I/O library in C for building TUIs, offering a slim alternative to ncurses with a tighter, single-header API, built-in terminal support (no terminfo needed), optional 32-bit color, extended grapheme cluster support, error checking, and both header-only and traditional library build modes; highly portable, MIT licensed. Tags: C, TUI, Terminal, MIT

https://github.com/hanilr/variation-ui { single-header TUI }

variation-ui is a single-header terminal user interface library written in ANSI-C, providing a simple, easy-to-learn API for building TUIs with a small codebase; portable, requires GCC and Make, MIT licensed. Tags: C, TUI, ANSI, MIT

https://github.com/Malwarize/ctermui { component-based TUI }

ctermui is a component-based terminal UI library in C offering widgets like buttons, labels, progress bars, charts, forms, layouts (horizontal/vertical/nested/percentage), custom component callbacks, and keyboard event handling; portable, uses Make, MIT licensed. Tags: C, TUI, Widgets, MIT

https://github.com/eidheim/tiny-process-library { process control }

tiny-process-library is a small, platform-independent C++ library for launching and managing processes, facilitating writing to stdin and reading from stdout and stderr, cleanly terminating or killing processes, with no external dependencies and MIT licensed. Tags: C++, Process-Control, Cross-Platform, MIT

https://github.com/DaanDeMeyer/reproc { process control }

reproc is a cross-platform C99 and C++11 library that simplifies starting, stopping, and communicating with external programs; includes a minimal C API and a more idiomatic C++ wrapper with extras like cleanup-friendly termination; very portable, built with CMake, MIT licensed. Tags: C, C++, Process-Control, MIT

https://github.com/sheredom/subprocess.h { single-header process launching }

subprocess.h is a single-header C/C++ library for launching subprocesses and interacting with their stdin, stdout, stderr, including async reading, custom environments, and termination options across Linux, macOS, and Windows; highly portable, no build system needed, public-domain (Unlicense). Tags: C, C++, Process-Control, Public-Domain