Open-source c software
938 open-source libraries, tools and applications tagged c, ranked by how closely c is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
938 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| google/cpu_features A cross-platform C99 library from Google for detecting CPU features (like available instruction sets) at runtime. It supports many architec… | 80 | 2619 | stable |
| FreeRADIUS/freeradius-server FreeRADIUS is a high-performance, highly configurable multi-protocol policy server supporting RADIUS, DHCPv4/v6, DNS, TACACS+, and VMPS, wr… | 84 | 2614 | stable |
| linux-test-project/ltp The Linux Test Project is a collection of test suites and tools for validating the reliability, robustness, and stability of the Linux kern… | 91 | 2609 | active |
| proot-me/proot PRoot is a user-space implementation of chroot, mount --bind, and binfmt_misc for Linux that requires no privileges or setup, built on ptra… | 84 | 2609 | active |
| swiftlang/swift-corelibs-libdispatch The open-source port of Grand Central Dispatch (libdispatch), Apple's concurrency library for executing concurrent code on multicore hardwa… | 88 | 2603 | stable |
| bytedance/bhook ByteHook is a production-grade Android PLT hook library written in C, supporting armeabi-v7a, arm64-v8a, x86, and x86_64. It lets native co… | 73 | 2597 | active |
| mas-bandwidth/netcode A C library implementing a secure, connection-oriented client/server protocol on top of UDP for real-time multiplayer games. It handles enc… | 96 | 2596 | active |
| adamhathcock/sharpcompress SharpCompress is a fully managed pure C# compression library for .NET supporting many archive formats (zip, tar, gzip, bzip2, 7zip, rar, xz… | 95 | 2587 | active |
| tezc/sc A collection of portable, stand-alone C99 libraries and data structures such as hashmap, heap, linked list, logger, and ini parser. Each mo… | 61 | 2573 | active |
| HardySimpson/zlog zlog is a pure C logging library inspired by log4j/logback, offering categories, formats, and rules configured via a file. It is reliable, … | 98 | 2559 | stable |
| signal11/hidapi HIDAPI is a multi-platform C library for communicating with USB and Bluetooth HID-class devices on Windows, Linux, FreeBSD, and macOS. It p… | 32 | 2537 | stable |
| tinygltf TinyGLTF is a header-only C11/C++ library for loading and saving glTF 2.0 3D asset files. It offers a pure C POD API, arena-based memory ma… | 82 | 2535 | active |
| cloudwu/coroutine A small asymmetric coroutine library for C, similar to Lua's coroutines. Coroutines in a schedule share a single stack, so many coroutines … | 32 | 2519 | stable |
| rpmalloc rpmalloc is a public domain cross-platform lock-free thread-caching memory allocator implemented in a single ~3300-line C source file with … | 88 | 2508 | stable |
| No-Chicken/OV-Watch OV-Watch is an open-source smart watch project built on an STM32F411 microcontroller running FreeRTOS with an LVGL-based user interface. It… | 55 | 2504 | active |
| VadimBoev/FlappyBird A Flappy Bird clone written in pure C for Android, packaged as an APK under 100 KB using OpenGL ES 2, OpenSL ES, and Android Native Activit… | 71 | 2445 | active |
| ardalis/SmartEnum A C# base class library for creating strongly-typed enum alternatives with behavior, lookup by name or value, and rich integration support.… | 55 | 2443 | stable |
| bytedance/android-inline-hook Shadowhook is an Android inline hook library written in C, supporting armeabi-v7a (thumb/arm32) and arm64-v8a architectures on Android 4.1 … | 78 | 2415 | active |
| slembcke/Chipmunk2D Chipmunk2D is a fast, lightweight 2D rigid body physics library written in C99 with no external dependencies. It provides collision detecti… | 65 | 2409 | stable |
| AstraThreshold/oled-ui-astra A C++ UI framework for building smooth, animated menu interfaces on small OLED displays in embedded projects. It is designed to be easy to … | 31 | 2402 | active |
| SwayFX SwayFX is a fork of the Sway Wayland compositor that adds visual effects via a custom GLES2 fx_renderer. It extends the i3-compatible tilin… | 91 | 2401 | active |
| strukturag/libheif libheif is a C++ library that decodes and encodes HEIF/HEIC and AVIF image files, plus HEIF containers using VVC, AVC, JPEG, and JPEG-2000 … | 99 | 2399 | active |
| linux-rdma/rdma-core rdma-core provides the userspace libraries and daemons for the Linux kernel's RDMA (drivers/infiniband) subsystem, including libibverbs, li… | 93 | 2399 | stable |
| webmproject/libwebp libwebp is the reference C library for encoding and decoding images in the WebP format, maintained by the WebM project. It also ships comma… | 76 | 2394 | stable |
| 0x1abin/MultiButton A compact C library implementing a state-machine-driven multi-button driver for embedded systems, supporting seven event types with built-i… | 61 | 2381 | stable |
| eclipse-paho/paho.mqtt.c The Eclipse Paho C client library for the MQTT protocol, enabling applications to connect to an MQTT broker to publish messages and subscri… | 74 | 2373 | stable |
| Pithikos/C-Thread-Pool A minimal but powerful thread pool implementation in ANSI C built on POSIX threads. It provides a simple API for initializing pools, dispat… | 39 | 2362 | stable |
| free-audio/clap CLAP (CLever Audio Plugin) is an open standard C API with a stable ABI that defines how Digital Audio Workstations (hosts) and audio plugin… | 75 | 2358 | stable |
| chakra-core/ChakraCore ChakraCore is an open-source JavaScript engine with a C API for embedding JavaScript execution into C or C-compatible applications. It was … | 50 | 9260 | maintenance |
| lvandeve/lodepng LodePNG is a standalone PNG encoder and decoder written in C and C++ with no external dependencies, distributed as just two source files. I… | 76 | 2349 | stable |
| pbatard/libwdi libwdi is a Windows Driver Installer library for USB devices that automates INF creation, catalog signing, driver file extraction, and driv… | 34 | 2342 | active |
| android/ndk The Android Native Development Kit (NDK) lets Android developers embed native C/C++ code in their apps as JNI shared libraries. This reposi… | 91 | 2323 | active |
| Luakit Luakit is a fast, lightweight web browser framework built on WebKitGTK and GTK+, extensible and configurable via Lua. It offers vim-style k… | 57 | 2319 | active |
| symisc/unqlite UnQLite is a self-contained, serverless, transactional NoSQL database engine implemented as an embeddable C library. It provides both a bin… | 77 | 2315 | stable |
| mattiasgustavsson/libs A collection of single-file, public domain (dual MIT) C/C++ libraries covering graphics app frameworks, data structures, threading, HTTP, a… | 57 | 2308 | active |
| JACoders/OpenJK OpenJK is a community-maintained, open-source reimplementation of the engine powering Star Wars Jedi Knight: Jedi Academy and Jedi Outcast,… | 86 | 2304 | active |
| codeplea/genann Genann is a minimal, well-tested C99 library for training and running feedforward artificial neural networks. It is contained in a single s… | 91 | 2293 | stable |
| google/boringssl BoringSSL is Google's fork of OpenSSL, serving as the TLS/SSL library in Chrome, Chromium, and Android. It is open source but explicitly no… | 98 | 2282 | active |
| swaywm/wlroots wlroots is a modular C library providing pluggable, composable modules for building Wayland compositors, including hardware backends, proto… | 10 | 2274 | active |
| FarGroup/FarManager Far Manager is a text-mode file and archive manager for Windows with an orthodox (Norton Commander-style) dual-panel interface. It is highl… | 95 | 2242 | active |
| irungentoo/toxcore Toxcore is the core C library implementing the Tox protocol, a fully encrypted, peer-to-peer, serverless communication platform for instant… | 32 | 8744 | maintenance |
| espressif/esp-claw ESP-Claw is Espressif's 'Chat Coding' AI agent framework for IoT devices, reimplemented in C for ESP32-series chips. It lets users define d… | 64 | 2227 | active |
| scandum/quadsort Quadsort is a branchless stable adaptive merge sort implemented in C, designed to outperform quicksort on many workloads. It uses a quad sw… | 32 | 2204 | active |
| bytecode77/r77-rootkit r77 is a fileless ring 3 (userland) rootkit for Windows that hides files, processes, registry keys, services, and network connections using… | 71 | 2199 | active |
| c-ares/c-ares c-ares is a modern asynchronous DNS (stub) resolver library written in C. It provides non-blocking DNS query interfaces that abstract the i… | 92 | 2196 | stable |
| cs50/libcs50 CS50's C library providing simplified input functions like get_int, get_string, and get_float for students learning C. It is the companion … | 84 | 2187 | stable |
| armink/CmBacktrace CmBacktrace is an open-source C library for ARM Cortex-M microcontrollers that automatically diagnoses faults (Hard Fault, Bus Fault, etc.)… | 70 | 2185 | stable |
| 6over3/bebop Bebop is a high-performance, typesafe binary serialization format with a schema language and code generator (bebopc) that produces optimize… | 61 | 2179 | active |
| mirror/busybox BusyBox combines tiny versions of many common UNIX utilities (ls, sed, grep, tar, sh, etc.) into a single small, highly configurable execut… | 32 | 2173 | stable |
| PipeWire/pipewire PipeWire is a server and user-space API for handling multimedia pipelines on Linux, providing a low-latency, graph-based engine for audio a… | 75 | 2160 | stable |
| .NET for Android .NET for Android provides open-source bindings of the Android SDK and tooling for use with .NET managed languages such as C#. It ships as a… | 88 | 2140 | active |
| id-Software/Quake-III-Arena The official GPL source code release of Quake III Arena, id Software's classic first-person shooter, written in C. It provides the full eng… | 32 | 8272 | maintenance |
| liballeg/allegro5 Allegro 5 is a cross-platform C library for video game and multimedia programming, handling windows, input, graphics, audio, fonts, and vid… | 82 | 2128 | stable |
| pocketpy/pocketpy pocketpy is a portable Python 3.x interpreter written in C11 with no dependencies beyond the C standard library, designed as a Lua alternat… | 92 | 2125 | active |
| mcu-tools/mcuboot MCUboot is a secure bootloader for 32-bit microcontrollers that defines common infrastructure for bootloaders and flash layout, enabling se… | 77 | 2120 | stable |
| lexbor/lexbor Lexbor is a fast, standards-compliant HTML parser and DOM library written in pure C99, with additional modules for CSS, URL, encoding, and … | 80 | 2111 | active |
| vtereshkov/umka-lang Umka is a statically typed, embeddable scripting language implemented in C99, with a bytecode compiler and virtual machine distributed as a… | 88 | 2110 | active |
| h2o/picohttpparser PicoHTTPParser is a tiny, fast HTTP request/response parser written in C. It is stateless and allocation-free, setting pointers into the ca… | 76 | 2108 | stable |
| zlib-ng/zlib-ng A zlib-compatible data compression library rewritten in modern C11 with SIMD/CPU-intrinsic optimizations for deflate and inflate. It serves… | 82 | 2103 | active |
| joeycastillo/Sensor-Watch Sensor Watch is an open-source replacement main board for the classic Casio F-91W wristwatch, built around a Microchip SAM L22 ARM Cortex-M… | 77 | 2098 | active |
| HarbourMasters/Starship Starship is a PC port of Star Fox 64 (SF64) built from a reverse-engineered codebase, requiring users to supply their own legally dumped RO… | 61 | 2097 | active |
| antirez/disque Disque is an in-memory, distributed message broker and job queue written in C, designed to capture the 'Redis as a jobs queue' use case in … | 23 | 8076 | maintenance |
| Nez Nez is a free, feature-rich 2D game framework built on top of MonoGame and FNA in C#. It provides an Entity/Component system, physics, rend… | 60 | 2075 | active |
| ValveSoftware/wine Valve's fork of Wine, a compatibility layer that runs Microsoft Windows executables (DOS, Win32, Win64) on Unix-like systems by translating… | 76 | 2069 | active |
| heiher/hev-socks5-tunnel A lightweight, high-performance tun2socks implementation that forwards TCP and UDP traffic from a TUN device through a SOCKS5 proxy. It is … | 100 | 2066 | active |
| TeamWin/Team-Win-Recovery-Project Team Win Recovery Project (TWRP) is the leading open-source custom recovery environment for Android devices, written primarily in C. It pro… | 32 | 2057 | active |
| cherry-embedded/CherryUSB CherryUSB is a portable, high-performance USB host and device stack written in C for embedded systems with various USB IPs. It provides cla… | 86 | 2051 | active |
| enkiTS enkiTS is a permissively licensed (Zlib) C and C++ task scheduler for building parallel programs that exploit data and task-level paralleli… | 82 | 2041 | active |
| elishacloud/dxwrapper A DLL wrapper that fixes compatibility issues with older DirectX games running on Windows 10/11 by translating legacy DirectDraw/Direct3D c… | 95 | 2040 | active |
| CANopenNode CANopenNode is a free and open-source CANopen protocol stack written in ANSI C, implementing the standardized CiA301 (EN 50325-4) higher-la… | 60 | 2020 | stable |
| jkuhlmann/cgltf cgltf is a single-file, stb-style C99 library for parsing and writing glTF 2.0 and GLB 3D asset files. It is widely adopted in graphics eng… | 48 | 2015 | stable |
| peng-zhihui/L-ink_Card An open-source hardware and firmware project for a smart NFC card with an e-ink display, built on an STM32L051 MCU and ST25DV NFC chip. It … | 32 | 7646 | maintenance |
| mlabbe/nativefiledialog A tiny, portable C library that invokes native file open, save, and folder-select dialogs on Windows, macOS, and Linux with a single consis… | 23 | 1991 | stable |
| sheredom/utf8.h A single-header C and C++ library providing UTF-8 string manipulation functions mirroring the standard string.h API. It offers utf8-prefixe… | 79 | 1990 | stable |
| stclib/STC STC is a generic, type-safe, high-performance container and algorithm library for C99/C11, providing strings, vectors, maps, sets, deques, … | 66 | 1987 | active |
| mborgerding/kissfft KISS FFT is a mixed-radix Fast Fourier Transform library written in C that supports fixed-point and floating-point data types. It is design… | 65 | 1984 | stable |
| lieff/minimp3 A minimalistic single-header C library for decoding MP3 audio. It is small, fast with SSE/NEON SIMD support, and ISO-conformant with high a… | 71 | 1974 | stable |
| luigirizzo/netmap Netmap is a framework for extremely fast packet I/O from userspace, implemented as a kernel module for FreeBSD, Linux, and Windows. It incl… | 62 | 1973 | stable |
| djpohly/dwl dwl is a compact, hackable tiling Wayland compositor built on wlroots, designed to fill the same role in the Wayland world that dwm does in… | 10 | 1971 | active |
| cimgui/cimgui A programmatically generated thin C API wrapper around Dear ImGui, the C++ immediate mode GUI library. It enables using Dear ImGui from any… | 65 | 1964 | active |
| mackyle/sqlite An unofficial Git mirror of the complete SQLite source code, a self-contained C library implementing an embedded SQL database engine suppor… | 72 | 1956 | stable |
| jeremycw/httpserver.h A single-header C library for building event-driven, non-blocking HTTP servers using epoll (Linux) and kqueue (BSD/macOS). It provides a mi… | 64 | 1946 | stable |
| google-deepmind/lab DeepMind Lab is a customisable 3D learning environment built on Quake III Arena (ioquake3) that provides navigation and puzzle-solving task… | 23 | 7387 | maintenance |
| codeplea/tinyexpr TinyExpr is a small recursive descent parser, compiler, and evaluation engine for math expressions in C. It ships as a single source and he… | 95 | 1936 | stable |
| OP-TEE OP-TEE Trusted OS is the secure-world operating system implementation of the OP-TEE project, running on ARM TrustZone-enabled hardware. It … | 75 | 1935 | active |
| egzumer/uv-k5-firmware-custom An open-source custom firmware for the Quansheng UV-K5/K6/5R handheld radio, merging OneOfEleven's custom firmware with fagci's spectrum an… | 19 | 1932 | active |
| zeux/volk volk is a meta-loader for the Vulkan API written in C89 that dynamically loads Vulkan entrypoints without linking to the Vulkan loader libr… | 79 | 1931 | active |
| OpenRC/openrc OpenRC is a dependency-based init system for Unix-like operating systems that works alongside the system-provided /sbin/init program. It ma… | 75 | 1919 | stable |
| cesanta/elk Elk is a tiny embeddable JavaScript engine written in C that implements a small subset of ES6, designed for microcontrollers with footprint… | 52 | 1902 | active |
| NevermindZZT/letter-shell letter shell is an embeddable shell written in C for embedded devices, allowing command-line invocation of C functions within a running pro… | 23 | 1901 | stable |
| bminor/glibc The GNU C Library (glibc), the standard C library for GNU/Linux and GNU/Hurd systems, providing the system API for C and C-compatible langu… | 10 | 1895 | stable |
| jgarff/rpi_ws281x A userspace C library for controlling WS281X LED strips (WS2812, SK6812 RGB/RGBW) from a Raspberry Pi via PWM, PCM, or SPI with DMA. It inc… | 55 | 1889 | stable |
| plasma-umass/Mesh Mesh is a drop-in replacement malloc library for C/C++ that transparently reduces memory footprint by recovering from heap fragmentation wi… | 77 | 1887 | active |
| orangeduck/Cello Cello is a C library that adds a higher-level runtime system to C, providing generic data structures, polymorphism, interfaces/type classes… | 23 | 7131 | maintenance |
| NVMe Management Suite The official NVM Express user space tooling for Linux, providing the `nvme` command line tool and the libnvme library it is built on. It su… | 94 | 1884 | stable |
| sbabic/swupdate SWUpdate is a Linux update agent for safely updating embedded Linux devices in the field, supporting local and OTA updates with multiple st… | 81 | 1876 | stable |
| DosX-dev/obfus.h A macro-only C header library that obfuscates code at compile time, designed for the Tiny C Compiler on Windows x86/x64. It provides contro… | 70 | 1867 | active |
| OpenEXR OpenEXR is the specification and reference C/C++ implementation of the EXR file format, the professional high-dynamic-range image storage f… | 98 | 1865 | stable |
| mltframework/mlt MLT is an LGPL multimedia framework for authoring, managing, and running multitrack audio/video compositions, originally built for televisi… | 88 | 1852 | active |
| hacl-star/hacl-star HACL* is a formally verified cryptographic library written in F* (Low*) and compiled to efficient standalone C code, covering algorithms li… | 58 | 1840 | active |