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 |
|---|---|---|---|
| attractivechaos/klib Klib is a standalone, lightweight C library of generic data structures and algorithms implemented largely as single-header files using C ma… | 55 | 4730 | stable |
| WebUI A lightweight portable C library that uses any installed web browser or optional WebView as the GUI for desktop applications, communicating… | 66 | 4617 | active |
| glad Glad is a loader-generator that produces function loader code for Vulkan, OpenGL, OpenGL ES, EGL, GLX, and WGL based on the official Khrono… | 66 | 4613 | stable |
| marcobambini/gravity Gravity is a lightweight, dynamically typed, class-based scripting language written in portable C99 with no external dependencies, featurin… | 95 | 4582 | active |
| FreeRTOS The classic FreeRTOS distribution, a real-time operating system for microcontrollers and small microprocessors that submodules the FreeRTOS… | 82 | 4559 | stable |
| openrazer/openrazer OpenRazer is a collection of open-source Linux kernel drivers plus a user-space DBus daemon and Python bindings for controlling Razer perip… | 87 | 4509 | active |
| DPDK/dpdk DPDK is a set of C libraries and NIC drivers for fast userspace packet processing, bypassing the kernel network stack. It supports multiple… | 77 | 4452 | stable |
| dqlite dqlite is a C library implementing an embeddable, replicated SQL database engine that extends SQLite across a cluster of machines using the… | 89 | 4395 | active |
| zyantific/zydis Zydis is a fast, lightweight x86/x86-64 disassembler and encoder library written in C with zero dependencies, not even libc. It supports al… | 62 | 4385 | active |
| antirez/linenoise Linenoise is a tiny (~1600 lines), zero-configuration, BSD-licensed C library providing readline-style line editing for terminal programs. … | 65 | 4364 | stable |
| PocketSphinx PocketSphinx is Carnegie Mellon's lightweight, speaker-independent continuous speech recognition engine, available as a C library, a comman… | 79 | 4350 | active |
| lc-soft/LCUI LCUI is a small C library for building cross-platform graphical user interfaces with fully custom-drawn components and a built-in CSS engin… | 68 | 4348 | active |
| cnlohr/rawdrawandroid A framework and build system for writing Android apps entirely in C using the NDK and Make, with no Java required. It provides OpenGL ES wi… | 76 | 4323 | active |
| blinker-iot/blinker-esp-idf Blinker is an IoT solution library for embedded hardware, provided as ESP-IDF components for ESP8266 and ESP32. It enables devices to conne… | 34 | 4290 | active |
| zmkfirmware/zmk ZMK Firmware is an open source (MIT) keyboard firmware built on the Zephyr RTOS, designed for modern wireless (BLE) and wired mechanical ke… | 74 | 4286 | active |
| F-Stack/f-stack F-Stack is an open-source high-performance user-space network framework based on DPDK, featuring a ported FreeBSD 11 TCP/IP stack, a Posix-… | 81 | 4267 | stable |
| v4l2loopback/v4l2loopback A Linux kernel module that creates virtual V4L2 loopback video devices. Applications can write video into these devices while other applica… | 73 | 4255 | stable |
| conmon crun is a fast, lightweight OCI container runtime written entirely in C, conforming to the Open Container Initiative runtime specification.… | 94 | 4163 | active |
| tmk/tmk_keyboard A collection of keyboard and converter firmware projects built on the tmk_core keyboard library, targeting Atmel AVR and ARM Cortex-M micro… | 72 | 4136 | active |
| openvswitch/ovs Open vSwitch is a production-quality multilayer software switch designed for virtualized server environments, written primarily in C. It su… | 75 | 4017 | stable |
| apache/guacamole-server The server-side component of Apache Guacamole, consisting of guacd (a proxy daemon), libguac (a C API), and protocol support libraries for … | 77 | 4011 | stable |
| ibireme/yyjson yyjson is a high-performance JSON parsing and serialization library written in ANSI C (C89), capable of reading and writing gigabytes of JS… | 89 | 3918 | stable |
| tinyobjloader/tinyobjloader A tiny, dependency-free Wavefront .obj/.mtl parser available as a single-header C++11 library and a pure C11 implementation with polygon te… | 59 | 3893 | active |
| unikraft/unikraft Unikraft is an open-source Unikernel Development Kit for building custom, specialized operating system kernels tailored to individual appli… | 82 | 3881 | active |
| Space Station 14 Space Station 14 is an open-source, round-based multiplayer roleplaying game about paranoia and chaos aboard a space station, remaking the … | 84 | 3875 | active |
| mangowm/mango Mango is a lightweight, feature-rich Wayland compositor built on dwl, offering tiling window management with tags, animations, and extensiv… | 85 | 3873 | active |
| jorisvink/kore Kore is an easy-to-use, scalable web application framework for writing web APIs and concurrent web processes in C or Python. It is secure b… | 67 | 3830 | stable |
| quickjs-ng/quickjs QuickJS-NG is a small, embeddable JavaScript engine written in C that aims to support the latest ECMAScript specification. It is an activel… | 88 | 3805 | active |
| axboe/liburing A C library providing helpers to set up and tear down Linux io_uring instances, plus a simplified convenience API for applications that don… | 83 | 3787 | active |
| aubio aubio is a C library (with Python bindings and CLI tools) for labeling music and sounds, detecting events such as note onsets, pitch, and t… | 53 | 3765 | stable |
| littlekernel/lk LK (Little Kernel) is a small SMP-aware embedded kernel written in C, portable to many 32- and 64-bit CPU architectures including ARM, RISC… | 77 | 3705 | active |
| apple-oss-distributions/xnu The XNU kernel source code, the core of Apple's Darwin operating system used in macOS and iOS. It is a hybrid kernel combining the Mach mic… | 68 | 3685 | active |
| spdk/spdk SPDK is a set of C libraries, drivers, and tools for building high-performance, scalable user-mode storage applications. It moves storage d… | 89 | 3683 | stable |
| libopencm3 An open-source firmware library written in C for ARM Cortex-M microcontrollers, supporting families like ST STM32, Atmel SAM, NXP LPC, TI T… | 77 | 3669 | active |
| Elasticsearch .NET client The official, strongly-typed .NET client library for Elasticsearch, maintained by Elastic. It provides typed requests and responses for Ela… | 93 | 3647 | active |
| nmap/npcap Npcap is the Nmap Project's packet capture and injection library for Microsoft Windows, implementing the portable Pcap API via a custom NDI… | 91 | 3604 | active |
| Asterisk Asterisk is an open source PBX and telephony toolkit that acts as middleware between internet/telephony channels and communications applica… | 92 | 3600 | stable |
| rxi/log.c A simple logging library for C99 that provides printf-style logging macros across six severity levels. It is a drop-in two-file library sup… | 32 | 3552 | stable |
| Eclipse ThreadX Eclipse ThreadX is an advanced real-time operating system (RTOS) for deeply embedded applications, featuring a picokernel architecture, pre… | 90 | 3538 | active |
| GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator Vulkan Memory Allocator (VMA) is a single-header C/C++ library that simplifies memory allocation and resource creation in Vulkan. It manage… | 84 | 3525 | stable |
| ireader/media-server A C library suite implementing streaming media protocols and container formats, including RTSP/RTP/RTMP clients and servers, HLS/DASH segme… | 77 | 3524 | active |
| discord-net/Discord.Net Discord.Net is an unofficial asynchronous .NET library for interfacing with the Discord API, with modular packages for REST, WebSocket, com… | 94 | 3517 | active |
| vozlt/nginx-module-vts An Nginx module that provides virtual host traffic status monitoring, exposing per-server, filter, and upstream traffic statistics. It offe… | 87 | 3502 | active |
| johnfanv2/LenovoLegionLinux A Linux kernel driver and Python GUI/CLI tools for controlling Lenovo Legion laptop hardware features such as fan curves, power modes, powe… | 99 | 3472 | active |
| civetweb/civetweb CivetWeb is an easy-to-use, powerful embeddable C/C++ web server with optional CGI, SSL, and Lua support. It can be linked as a library to … | 62 | 3462 | stable |
| winevdm winevdm (otvdm) is a 16-bit Windows application emulator that lets Win16 executables (Windows 1.x through 3.1) run on 64-bit Windows. It co… | 66 | 3424 | active |
| mono/CppSharp CppSharp is a tool and library set that parses C/C++ headers and libraries and generates glue code to expose native APIs as managed .NET AP… | 60 | 3403 | active |
| ZSWatch ZSWatch is a fully open-source smartwatch project covering both hardware (KiCad PCB designs) and firmware written in C on the Zephyr RTOS w… | 83 | 3375 | active |
| akheron/jansson Jansson is a C library for encoding, decoding, and manipulating JSON data. It offers a simple API, full UTF-8 Unicode support, and no depen… | 76 | 3369 | stable |
| msgpack/msgpack-c MessagePack is an efficient binary serialization format, like JSON but smaller and faster, and this repository is its official implementati… | 95 | 3349 | stable |
| WiringPi WiringPi is a fast C library for accessing GPIO pins on Raspberry Pi boards by directly manipulating hardware registers. It also ships with… | 86 | 3344 | active |
| randombit/botan Botan is a C++ cryptography library offering TLS 1.2/1.3, X.509 PKI, modern AEAD ciphers, post-quantum algorithms, and hardware token suppo… | 77 | 3335 | stable |
| Opus libopus is the reference implementation of the Opus audio codec, an IETF-standardized (RFC 6716) royalty-free codec for interactive speech … | 65 | 3330 | stable |
| Celtoys/Remotery Remotery is a realtime CPU/GPU profiler implemented in a single C file, with a remote web-browser viewer for inspecting sampled traces. It … | 23 | 3317 | stable |
| basil00/WinDivert WinDivert is a user-mode packet interception library for Windows that allows applications to capture, modify, drop, and re-inject network p… | 23 | 3305 | stable |
| json-c/json-c json-c is a C library implementing a reference-counted object model for constructing, serializing, and parsing JSON, aiming to conform to R… | 83 | 3297 | stable |
| lsalzman/enet ENet is a C library providing reliable UDP networking with features like channels, reliability, and congestion control. It is designed for … | 69 | 3291 | stable |
| Checked C Checked C is an extension to the C programming language that adds bounds checking and improved type safety through opt-in annotations, impl… | 23 | 3263 | active |
| gozfree/gear-lib Gear-Lib is a collection of POSIX C libraries for IoT, embedded, and network service development, covering data structures, networking prot… | 23 | 3228 | active |
| DynamoRIO/dynamorio DynamoRIO is a runtime code manipulation system that supports arbitrary code transformations on executing programs, with a powerful instruc… | 95 | 3181 | active |
| FlaUI/FlaUI FlaUI is a .NET library for automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps), wrapping Microsoft's native UI… | 63 | 3171 | active |
| Tilck Tilck is a tiny educational Linux-compatible kernel written in C and assembly, targeting i386 and riscv64 with UEFI boot support. It implem… | 75 | 3132 | active |
| wolfcw/libfaketime libfaketime is an LD_PRELOAD library that intercepts system calls retrieving the current date and time, reporting faked times to a single a… | 85 | 3122 | active |
| simd-everywhere/simde SIMDe is a header-only C/C++ library providing portable implementations of SIMD intrinsics (SSE, AVX, NEON, AltiVec, etc.) on hardware that… | 74 | 3115 | active |
| FFTW/fftw3 FFTW is a widely used C library for computing discrete Fourier transforms (DFTs), known for its speed and adaptive code generation. This re… | 58 | 3108 | stable |
| acl-dev/acl Acl is a cross-platform C/C++ network communication library and server programming framework supporting Linux, Windows, macOS, FreeBSD, And… | 86 | 3103 | stable |
| LMDB/lmdb LMDB (Lightning Memory-Mapped Database) is a compact, high-performance embedded key-value database library written in C, using memory-mappe… | 77 | 3055 | stable |
| benhoyt/inih inih (INI Not Invented Here) is a small, simple .INI file parser written in C, designed to be just a couple pages of code. It parses INI fi… | 73 | 3045 | stable |
| fukuchi/libqrencode libqrencode is a fast, compact C library for encoding data into QR Code symbols, outputting raw bitmap arrays that applications can render … | 40 | 3040 | stable |
| siduck/chadwm Chadwm is a pre-configured, aesthetically enhanced build of the dwm tiling window manager for X11 Linux systems, with themes like Nord, Cat… | 55 | 3026 | active |
| recp/cglm cglm is a highly optimized 2D/3D graphics math library for C, providing vector, matrix, quaternion, and affine transform operations similar… | 73 | 3021 | stable |
| srdja/Collections-C Collections-C is a generic data structures library for the C language, providing pointer containers (dynamic arrays, linked lists, deques, … | 66 | 3006 | stable |
| HansKristian-Work/vkd3d-proton vkd3d-proton is a fork of WineHQ's VKD3D that implements the Direct3D 12 API on top of Vulkan. It serves as the D3D12 translation layer use… | 91 | 3005 | active |
| protobuf-c/protobuf-c A pure C implementation of Google's Protocol Buffers data serialization format, including libprotobuf-c for encoding/decoding and protoc-ge… | 71 | 2995 | stable |
| ArtifexSoftware/mupdf MuPDF is a lightweight open-source C library and toolkit for viewing, rendering, parsing, and converting PDF, XPS, and e-book documents. It… | 76 | 2989 | stable |
| ntop/PF_RING PF_RING is a Linux kernel module and user-space framework for high-speed packet capture and processing, offering a consistent API for netwo… | 84 | 2970 | stable |
| wolfSSL/wolfssl wolfSSL is a lightweight, portable SSL/TLS library written in ANSI C, supporting TLS 1.3 and DTLS 1.3, powered by the wolfCrypt cryptograph… | 94 | 2961 | stable |
| mozilla/cbindgen cbindgen is a tool that generates C and C++11 header files from Rust crates that expose a public C API. It can be used as a standalone CLI … | 85 | 2951 | active |
| linux-can/can-utils A collection of Linux user-space utilities for the SocketCAN subsystem, written in C. It includes tools to display, send, generate, record,… | 67 | 2939 | active |
| rui314/chibicc chibicc is a small C compiler written in C that implements most of the C11 standard and can compile real-world programs like Git, SQLite, a… | 32 | 11914 | maintenance |
| richgel999/miniz Miniz is a lossless data compression library in a single C source file implementing the zlib (RFC 1950) and Deflate (RFC 1951) formats as a… | 78 | 2882 | stable |
| gdbinit/MachOView A macOS GUI application for viewing and exploring Mach-O binary files, revived as a maintained fork with a universal x86_64/arm64 build. It… | 32 | 2869 | active |
| adafruit/Adafruit-GFX-Library Adafruit GFX is the core Arduino graphics library providing a common set of drawing primitives (points, lines, circles, bitmaps, fonts) sha… | 86 | 2859 | stable |
| labwc Labwc is a lightweight, wlroots-based window-stacking compositor for Wayland, inspired by Openbox. It focuses on stacking windows well and … | 93 | 2858 | active |
| Yarn Spinner Yarn Spinner is the core compiler and engine-agnostic runtime for the Yarn dialogue language, a screenplay-like format for writing interact… | 82 | 2856 | stable |
| orangeduck/mpc mpc is a lightweight parser combinator library for C, shipped as a single ANSI C source file. It supports type-generic parsers, predictive … | 35 | 2854 | stable |
| espressif/esp32-camera Espressif's official camera driver library for ESP32-series SoCs (ESP32, ESP32-S2, ESP32-S3), supporting a wide range of image sensors like… | 93 | 2813 | active |
| coreboot/coreboot coreboot is an open-source firmware project that replaces proprietary BIOS/UEFI on computers, performing hardware initialization and then h… | 67 | 2807 | active |
| atar-axis/xpadneo An advanced Linux kernel driver for the Xbox One wireless controller (Bluetooth), built as a DKMS module in C. It fixes quirks of the stock… | 88 | 2785 | active |
| panda-re/panda PANDA is an open-source Platform for Architecture-Neutral Dynamic Analysis built on the QEMU whole-system emulator, supporting record and r… | 91 | 2782 | active |
| libbpf libbpf is the official stand-alone C library for loading and managing BPF programs and maps on Linux, developed upstream in the bpf-next ke… | 94 | 2774 | stable |
| eduard-permyakov/permafrost-engine Permafrost Engine is an OpenGL 3.3 real-time strategy game engine written in C, inspired by classic RTS games. It provides rendering, skele… | 76 | 2767 | active |
| paullouisageneau/libdatachannel libdatachannel is a standalone C++17 library (with C bindings) implementing WebRTC Data Channels, WebRTC Media Transport, and WebSockets wi… | 87 | 2749 | stable |
| virtio-win A collection of Windows paravirtualized and emulated hardware drivers for KVM/QEMU virtual machines, including network (netkvm), storage (v… | 85 | 2726 | active |
| flame/blis BLIS is a portable C99 framework for instantiating high-performance BLAS-like dense linear algebra libraries. It provides a BLAS compatibil… | 67 | 2693 | stable |
| espressif/esp-iot-solution Espressif's official IoT library providing device drivers and code frameworks for ESP series SoCs, extending ESP-IDF with components for se… | 67 | 2691 | active |
| Rebus Rebus is a lean, free service bus implementation for .NET that provides asynchronous messaging between services following the 'smart endpoi… | 75 | 2667 | stable |
| Mongoose OS Mongoose OS is an open-source IoT firmware development framework and operating system for low-power microcontrollers such as ESP32, ESP8266… | 66 | 2666 | stable |
| vnmakarov/mir MIR is a lightweight JIT compiler project built around a strongly typed Medium Internal Representation, with a C11 JIT compiler and interpr… | 59 | 2661 | active |
| teeworlds/teeworlds Teeworlds is a free, open-source retro multiplayer shooter supporting up to 16 players in game modes like Team Deathmatch and Capture the F… | 33 | 2646 | stable |