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

  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 1
    SDL

    SDL

    Simple DirectMedia Layer

    SDL (Simple DirectMedia Layer) is a cross-platform multimedia development library designed to provide low-level access to hardware components such as graphics, audio, input devices, and system resources, making it a foundational tool for building games, emulators, and interactive applications. It abstracts platform-specific functionality into a consistent API, allowing developers to write code once and deploy it across multiple operating systems including Windows, macOS, Linux, iOS, and Android. SDL is written in C but is compatible with C++ and has bindings for multiple other programming languages, making it highly flexible for different development environments. The library is not a game engine itself, but rather a hardware abstraction layer that enables developers to build engines or applications on top of it with full control over performance and rendering. It supports modern graphics APIs such as OpenGL, Vulkan, Direct3D, and Metal.
    Downloads: 33 This Week
    Last Update:
    See Project
  • 2
    WebP Codec

    WebP Codec

    Library to encode and decode images in WebP format

    libwebp is the reference codec library for Google’s WebP image format, providing both encoding and decoding along with command-line tools. It supplies cwebp to compress images into WebP and dwebp to decompress them back, making it easy to test quality/size trade-offs across presets and tuning parameters. The GitHub repository is a mirror; the canonical source of truth lives on Chromium’s git, and developer docs are hosted on WebP’s portal. The project underpins WebP support across browsers, imaging libraries, and many native apps thanks to its stable C API. Additional companion repos host test data and demos, including JavaScript builds and timing tests for various platforms. As a widely deployed codec, libwebp balances compression efficiency, speed, and integration simplicity across platforms.
    Downloads: 30 This Week
    Last Update:
    See Project
  • 3
    Watchy

    Watchy

    An open source E-ink smartwatch

    Watchy, an open-source E-Ink smartwatch. Watchy is an E-Paper watch with open-source hardware and software. It has a barebones design utilizing the PCB as the watch body, allowing it to be worn as-is, or further customized with different 3D printed cases and watch straps. It is a unique timepiece that is also a wearable development platform, allowing users to create their own experience. Ultra-low-power e-paper 1.54″ display with 200 x 200 resolution and wide viewing angle. Wi-Fi & Bluetooth LE connectivity. 3-axis accelerometer with gesture detection. Real-time clock for accurate timekeeping with calendar and alarm functions. Built-in USB-to-serial adapter for programming on the go. Watchy comes with comprehensive documentation and Arduino code examples that demonstrate every hardware feature. New watch faces and examples are regularly added.
    Downloads: 28 This Week
    Last Update:
    See Project
  • 4
    LVGL

    LVGL

    Powerful and easy-to-use embedded GUI library with many widgets

    Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations), and low memory requirements (16K RAM, 64K Flash). LVGL provides everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects, and a low memory footprint. LVGL is an open-source graphics library providing everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects, and a low memory footprint. Create stunning user interfaces with LVGL! Take advantage of its platform-independent nature and use one library with small microcontrollers or high-end processors. The LVGL is a lightweight embedded library for displays and touchscreens providing everything required to build fully featured-embedded GUIs. Do you like Python? Create your UI in MicroPython with LVGL.
    Downloads: 27 This Week
    Last Update:
    See Project
  • $300 in Free Credit Towards Top Cloud Services Icon
    $300 in Free Credit Towards Top Cloud Services

    Build VMs, containers, AI, databases, storage—all in one place.

    Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
    Get Started
  • 5
    Darknet

    Darknet

    Convolutional Neural Networks

    Darknet is an open source neural network framework written in C and CUDA, developed by Joseph Redmon. It is best known as the original implementation of the YOLO (You Only Look Once) real-time object detection system. Darknet is lightweight, fast, and easy to compile, making it suitable for research and production use. The repository provides pre-trained models, configuration files, and tools for training custom object detection models. With GPU acceleration via CUDA and OpenCV integration, it achieves high performance in image recognition tasks. Its simplicity, combined with powerful capabilities, has made Darknet one of the most influential projects in the computer vision community.
    Downloads: 24 This Week
    Last Update:
    See Project
  • 6
    GLFW

    GLFW

    A project that has moved to GitHub

    GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events.
    Leader badge
    Downloads: 104 This Week
    Last Update:
    See Project
  • 7
    Lightweight ring buffer manager

    Lightweight ring buffer manager

    Lightweight generic ring buffer manager library

    The library provides generic FIFO ring buffer implementation.
    Downloads: 21 This Week
    Last Update:
    See Project
  • 8
    FluidSynth

    FluidSynth

    A real-time SoundFont software synthesizer

    A real-time software synthesizer based on the SoundFont 2 specifications. It can be used for live audio synthesis of MIDI events or for rendering MIDI files to disk, using SoundFont instruments. It can also be embedded in other applications. This is not a application with a graphical user interface, however there are several GUI applications which utilize FluidSynth.
    Leader badge
    Downloads: 135 This Week
    Last Update:
    See Project
  • 9
    Open source DKIM library, MTA filter implementation and associated tools.
    Leader badge
    Downloads: 105 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.
    Try Free
  • 10
    libwdi

    libwdi

    Windows Driver Installer library for USB devices

    libwdi is a cross-platform open-source C library focused on simplifying the installation of device drivers for USB hardware that otherwise does not have automatic driver support, making it especially useful for developers building installers or system management tools. The library abstracts away many of the complexities of USB device enumeration and driver deployment on Windows systems, such as creating a list of devices, preparing appropriate driver files, and invoking the operating system’s driver installation mechanics, so your software doesn’t have to re-implement these low-level tasks. It provides a clean API that includes functions to detect driverless USB devices, prepare driver packages, install drivers programmatically, and handle logging and error codes reliably. Projects integrate this library into custom installers, automated provisioning scripts, or hardware management solutions where users need seamless driver setup without manual steps.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 11
    stb

    stb

    stb single-file public domain libraries for C/C++

    stb is an open source collection of single-file C libraries created by Sean Barrett (nothings) for graphics, image loading, and utility functions. The repository provides lightweight, public domain libraries that can be easily integrated into projects without external dependencies or complex build processes. Popular components include stb_image.h for image loading, stb_image_write.h for writing images, and stb_truetype.h for font rendering. These libraries are widely used in game development, graphics engines, and multimedia applications due to their simplicity and portability. The project emphasizes ease of use, minimalism, and performance while avoiding bloated frameworks. Maintained and supported by the open source community, stb has become a standard toolkit for C and C++ developers working with images and graphics.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 12
    [OFFICIAL] tinyfiledialogs C C++ v3.21.3

    [OFFICIAL] tinyfiledialogs C C++ v3.21.3

    inputbox password WIN OSX GTK QT Console VCPKG C# Lua R Fortran Pascal

    one C/C++ file & header ==> 8 functions: - beep - tray notify popup - message & question - input & password - save file - open file(s) - select folder - color picker complements OpenGL Vulkan GLFW GLUT GLUI VTK SFML TGUI SDL Ogre Unity3d ION OpenCV CeGui MathGL GLM CPW GLOW Open3D ImGui MyGui GLT NGL STB Nuklear Fenster MicroUi & head-less programs NO INIT NO MAIN LOOP NO LINKING NO INCLUDE win (XP to 11) ASCII MBCS UTF-8 UTF-16 (wchar_t) - native dialogs osx/unix ASCII UTF-8 - applescript kdialog zenity shanty … ° SSH console / X forwarding / waypipe Wayland ° the dialogs can be forced into console mode ° curses dialogs via Dialog.exe/Dialog (disabled by default) C89/C23 & C++98/C++23 compliant VisualStudio MinGW GCC Clang TinyCC IntelCC OWCC BCC SunCC on Windows Mac Linux Bsd Solaris Minix Raspbian Flatpak Haiku bindings: VCPKG C# R Lua Rust Haskell Java AllegroBasic Fortran Pascal D JavaScript Kotlin click tab 'Files' for prototypes
    Leader badge
    Downloads: 95 This Week
    Last Update:
    See Project
  • 13
    Quake3e

    Quake3e

    Improved Quake III Arena engine

    Quake3e is a modernized fork of id Software’s Quake III Arena engine, tailored for mod developers and competitive players. It includes numerous technical improvements while preserving the core gameplay and mod compatibility of the original. Focused on performance, security, and extended modding capabilities, it has become a popular base for competitive tournaments and engine forks. With its updated rendering path and support for high refresh rates, Quake3e offers a slick and responsive gameplay experience for old-school FPS fans.
    Downloads: 18 This Week
    Last Update:
    See Project
  • 14
    Simple DirectMedia Layer

    Simple DirectMedia Layer

    Simple Directmedia Layer

    Simple DirectMedia Layer is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award-winning catalog and many Humble Bundle games. SDL officially supports Windows, macOS, Linux, iOS, and Android. Support for other platforms may be found in the source code. SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 15

    yafu

    Automated integer factorization

    Check yafu on github for the latest code. YAFU (with assistance from other free software) uses the most powerful modern algorithms (and implementations of them) to factor input integers in a completely automated way. The automation within YAFU is state-of-the-art, combining factorization algorithms in an intelligent and adaptive methodology that minimizes the time to find the factors of arbitrary input integers. Most algorithm implementations are multi-threaded, allowing YAFU to fully utilize multi- or many-core processors (including SNFS, GNFS, SIQS, and ECM). YAFU is primarily a command-line driven tool. You provide the number to factor and, via screen output and log files, YAFU will provide you the factors. There is also an interactive environment similar to MATLAB or PARI/GP, where you can type commands and store results. YAFU is very customizable, through the optional use of many many command line parameters and a very capable expression inter
    Leader badge
    Downloads: 94 This Week
    Last Update:
    See Project
  • 16
    GLEW

    GLEW

    The OpenGL Extension Wrangler Library

    GLEW is a cross-platform open-source C/C++ extension loading library that simplifies the process of using OpenGL extensions. It provides efficient run-time mechanisms to determine the availability of OpenGL extensions on the target platform, exposing core and extension functionality in a single header file. GLEW supports multiple operating systems, including Windows, Linux, macOS, FreeBSD, Irix, and Solaris, making it a versatile tool for graphics developers.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 17
    HIDAPI library

    HIDAPI library

    A Simple cross-platform library for communicating with HID devices

    HIDAPI is a multi-platform library that allows an application to interface with USB and Bluetooth HID-Class devices on Windows, Linux, FreeBSD, and macOS. HIDAPI can be either built as a shared library (.so, .dll or .dylib) or can be embedded directly into a target application by adding a single source file (per platform) and a single header.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 18
    PJSIP

    PJSIP

    PJSIP project

    PJSIP is a free and open-source multimedia communication library written in C language implementing standard-based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE. It combines signaling protocol (SIP) with a rich multimedia framework and NAT traversal functionality into high-level API that is portable and suitable for almost any type of system ranging from desktops, and embedded systems, to mobile handsets. PJSIP is both compact and feature rich. It supports audio, video, presence, and instant messaging, and has extensive documentation. PJSIP is very portable. On mobile devices, it abstracts system-dependent features and in many cases is able to utilize the native multimedia capabilities of the device.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 19
    ToaruOS

    ToaruOS

    Hobby operating system, bootloader, kernel, drivers, C library

    ToaruOS is a "complete" operating system for x86-64 PCs and experimental support for ARMv8. While many independent, hobby, and research OSes aim to experiment with new designs, ToaruOS is intended as an educational resource, providing a representative microcosm of functionality found in major desktop operating systems. The OS includes a kernel, bootloader, dynamic shared object linker, C standard library, its own composited windowing system, a dynamic bytecode-compiled programming language, advanced code editor, and dozens of other utilities and example applications. There are no external runtime dependencies and all required source code, totaling roughly 100k lines of (primarily) C, is included in this repository, save for Kuroko, which lives separately. Through out the project, ToaruOS has also attracted quite a few beginner OS developers who have tried to use it as a reference.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 20
    Acl

    Acl

    A powerful server and network library, including coroutine

    The Acl (Advanced C/C++ Library) project a is powerful multi-platform network communication library and service framework, supporting LINUX, WIN32, Solaris, FreeBSD, MacOS, AndroidOS, iOS. Many applications written by Acl run on these devices with Linux, Windows, iPhone and Android and serve billions of users. There are some important modules in Acl project, including network communcation, server framework, application protocols, multiple coders, etc. The common protocols such as HTTP/SMTP/ICMP//MQTT/Redis/Memcached/Beanstalk/Handler Socket are implemented in Acl, and the codec library such as XML/JSON/MIME/BASE64/UUCODE/QPCODE/RFC2047/RFC1035, etc., are also included in Acl. Acl also provides a unified abstract interface for popular databases such as Mysql, Postgresql, Sqlite. Using Acl library users can write database applications more easily, quickly and safely.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 21
    Gramine

    Gramine

    A library OS for Linux multi-process applications

    Gramine is a lightweight library-operating system (Library OS) designed to run unmodified Linux applications with minimal dependencies on the host OS, and to offer enhanced isolation and portability. It was formerly known as Graphene, but the project renamed to Gramine to avoid naming conflicts and to reflect its broader ambition beyond the original research prototype. The idea is that instead of running a full guest OS in a VM, you embed your application inside Gramine, which handles the system-call interface, process and thread management, file system, and network abstractions — everything the application expects — but strips out the overhead and complexity of a full OS stack. One particularly strong use-case is confidential computing: Gramine supports Intel® SGX enclaves, allowing applications to run inside hardware-protected memory regions even while using standard Linux binaries with minimal porting effort.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 22
    ffmpeg.wasm

    ffmpeg.wasm

    FFmpeg for browser, powered by WebAssembly

    ffmpeg.wasm is a pure WebAssembly (and JavaScript/TypeScript) port of FFmpeg that enables in-browser media recording, conversion, and streaming—letting developers perform video/audio processing entirely client-side without server uploads. Transpiled via Emscripten from FFmpeg and its codecs into WebAssembly. Supports both single-threaded and multi-threaded cores using web workers. Written in TypeScript for improved developer experience.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 23
    pytz

    pytz

    Python historical timezone library and database

    pytz is a Python library that brings the IANA/Olson timezone database into the Python runtime, enabling accurate, cross-platform timezone calculations for all the world’s timezones. It addresses a major limitation of Python’s built-in datetime.tzinfo by providing consistent support for daylight-saving transitions, historical offset changes, and ambiguous times (such as the end of DST). With pytz, developers can convert naïve datetime objects into timezone-aware ones, shift between timezones, and safely perform arithmetic across DST boundaries with methods like localize() and normalize(). Although Python 3.9 and newer include better built-in timezone support (via zoneinfo and external packages like tzdata), pytz remains widely used—especially in legacy codebases or in environments where backward compatibility matters.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 24
    DMX Library for Arduino

    DMX Library for Arduino

    DMX Library and usage examples for Arduino

    This Library includes a DMX Master, DMX Slave and various examples on how to use its implementation. This projects has been started to support the use of our Shielded DMX / RDM Shield for Arduino. The library is made available under the GNU Lesser General Public License If you would like to make contributions to the source code feel free to contact the project admin
    Leader badge
    Downloads: 60 This Week
    Last Update:
    See Project
  • 25
    Allegro

    Allegro

    The official Allegro 5 git repository. Pull requests welcome

    Allegro 5 is the latest major revision of the Allegro library, designed to take advantage of modern hardware, including hardware acceleration using 3D cards.
    Downloads: 10 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB