[go: up one dir, main page]

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.

  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    The database for AI-powered applications.

    MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
    Start Free
  • Free and Open Source HR Software Icon
    Free and Open Source HR Software

    OrangeHRM provides a world-class HRIS experience and offers everything you and your team need to be that HR hero you know that you are.

    Give your HR team the tools they need to streamline administrative tasks, support employees, and make informed decisions with the OrangeHRM free and open source HR software.
    Learn More
  • 1
    AWS IoT Device Defender Library

    AWS IoT Device Defender Library

    Client library for using AWS IoT Defender service on embedded devices

    The Device Defender library enables you to send device metrics to the AWS IoT Device Defender Service. This library also supports custom metrics, a feature that helps you monitor operational health metrics that are unique to your fleet or use case. For example, you can define a new metric to monitor the memory usage or CPU usage on your devices. This library has no dependencies on any additional libraries other than the standard C library, and therefore, can be used with any MQTT client library. This library is distributed under the MIT Open Source License. This library has gone through code quality checks including verification that no function has a GNU Complexity score over 8, and checks against deviations from mandatory rules in the MISRA coding standard. Deviations from the MISRA C:2012 guidelines are documented under MISRA Deviations. This library has also undergone static code analysis using Coverity static analysis.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 2
    NSync

    NSync

    nsync is a C library that exports various synchronization primitives

    nsync is a portable C library that provides a collection of advanced synchronization primitives designed to facilitate safe and efficient multithreaded programming. It offers reader-writer locks, condition variables, run-once initialization, waitable counters, and waitable bits for coordination and cancellation between threads. Unlike traditional pthreads-based synchronization, nsync introduces conditional critical sections, allowing developers to wait for arbitrary conditions without explicit signaling or complex loop-based logic. This approach simplifies concurrency management and often improves readability and maintainability of multithreaded code. The library emphasizes efficiency, with locks and condition variables occupying minimal memory and supporting cancellation mechanisms through nsync_note objects rather than thread-level cancellation. Designed with portability and performance in mind, nsync can be compiled on Unix-like systems and Windows using a C90 compiler.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 3
    Oboe

    Oboe

    Oboe is a C++ library that makes it easy to build high-performance

    oboe is a C++ library for building high-performance audio apps on Android, providing a unified, low-latency API over AAudio and OpenSL ES. It abstracts device and API-version differences so developers can focus on audio processing instead of platform quirks. The library emphasizes minimal latency and glitch-free playback/recording via tuned buffer strategies and callback-driven I/O. It supports features like floating-point audio, channel configuration, sample-rate negotiation, and stream sharing to match device capabilities. Example apps and utilities demonstrate best practices for thread priority, audio mixing, and underrun handling. By aligning with the native audio stack, oboe enables professional music apps, real-time communications, and games to achieve consistent audio performance across a wide range of devices.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 4
    POCO

    POCO

    Cross-platform C++ libraries for building network applications

    The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems. Whether building automation systems, industrial automation, IoT platforms, air traffic management systems, enterprise IT application and infrastructure management, security and network analytics, automotive infotainment and telematics, financial or healthcare, C++ developers have been trusting the POCO C++ Libraries for 15+ years and deployed it in millions of devices. Create software for connected embedded devices running Linux, Windows Embedded or QNX. Create cross-platform backends in C++ for iOS and Android applications and combine it with a native or HTML5-based user interface. Create software for IoT devices that talk to cloud backends over HTTP REST APIs. See macchina.io for an IoT platform built with POCO.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Simplify Your Managed File Transfers with JSCAPE Icon
    Simplify Your Managed File Transfers with JSCAPE

    JSCAPE is a Flexible, Scalable MFT Solution That Supports Any Protocol, Any Platform, Any Deployment

    Platform Independent Managed File Transfer Server. JSCAPE is the perfect solution for businesses and government agencies looking to centralize your processes and provide secure, seamless and reliable file transfers. Meet all compliance regulations including PCI DSS, SOX, HIPAA and GLBA.
    Learn More
  • 5
    SocketCAN userspace utilities and tools

    SocketCAN userspace utilities and tools

    Linux-CAN / SocketCAN user space applications

    SocketCAN userspace utilities and tools. This repository contains some userspace utilities for the Linux CAN subsystem (aka SocketCAN).
    Downloads: 2 This Week
    Last Update:
    See Project
  • 6
    uemacs

    uemacs

    Random version of microemacs with my private modificatons

    uemacs is Linus Torvalds’ compact take on MicroEMACS, a tiny, fast, terminal-friendly text editor. The codebase prizes simplicity and portability, making it feasible to build and run on a variety of Unix-like systems without heavyweight dependencies. Its feature set is deliberately modest compared to full Emacs, favoring a quick, predictable editing experience for everyday text manipulation. The project serves as both a functional tool and an example of clean, old-school C systems programming. Because the editor is small, users can understand and modify it more easily than sprawling IDEs, which is appealing for hacking and learning. It’s not meant to compete with modern extensible editors; it exists as a minimal, dependable workhorse that starts fast and stays out of the way.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 7
    Java Curses Library

    Java Curses Library

    JCurses, a java console windowing toolkit for Windows and Linux

    The Java Curses Library (JCurses) is a library for developing text terminal based applications using Java programming language. It is implemented as a Windowing toolkit similar to AWT, but built upon the UNIX "curses" windowing system.
    Leader badge">
    Downloads: 13 This Week
    Last Update:
    See Project
  • 8
    LinAsm

    LinAsm

    Collection of fast and optimized assembly libraries for x86-64 Linux

    LinAsm is collection of very fast and SIMD optimized assembly written libraries for x86-64 Linux. It implements many common and widely used algorithms for array manipulations: searching, sorting, arithmetic and vector operations, unit conversions; fast mathematical and statistic functions; numbers and time converting algorithms; finite impulse response (FIR) digital filters; spectrum analysis algorithms, Fast Hartley transformation; CPU cache friendly functions and extremely fast abstract data types (ADT) such as hash tables b-trees, and much more. LinAsm libraries are written on FASM assembly language. They are stable and have appropriate benchmarks for many units. All libraries are well documented and grouped by their functionality. To get more information about this library, please visit the official web site: http://linasm.sourceforge.net
    Downloads: 26 This Week
    Last Update:
    See Project
  • 9
    libusbx

    libusbx

    libusbx is OBSOLETE - use http://libusb.info

    libusbx is OBSOLETE and has been superseded by http://libusb.info
    Downloads: 16 This Week
    Last Update:
    See Project
  • Odoo Business Applications Icon
    Odoo Business Applications

    Odoo is a software suite to better manage and run your company.

    Odoo is a fully integrated, customizable, open-source software packed with hundreds of expertly designed business applications. Odoo’s intuitive database is able to meet a majority of business needs, such as: CRM, Sales, Project, Manufacturing, Inventory, and Accounting, just to name a few.
    Get Started
  • 10
    Udis86 is an easy-to-use minimalistic disassembler library for the x86 and x86-64 instruction set architectures. The primary intent of the design and development of udis86 is to aid software development projects that entail binary code analysis.
    Leader badge">
    Downloads: 19 This Week
    Last Update:
    See Project
  • 11

    libgaminggear

    Provides functionality for gaming input devices

    Leader badge">
    Downloads: 39 This Week
    Last Update:
    See Project
  • 12

    XLSX I/O

    C library for reading/writing values from/to Excel .xlsx files.

    Cross-platform C library for reading values from and writing values to .xlsx files. XLSX I/O aims to provide a C library for reading and writing .xlsx files. The .xlsx file format is the native format used by Microsoft(R) Excel(TM) since version 2007. The library was written with the following goals in mind: - primary focus on data values organized in tables, on not layout or graphics - written in standard C, but allows being used by C++ - simple interface - small footprint - portable across different platforms (Windows, *nix) - minimal dependancies: only depends on expat (only for reading) and libzip (which in turn depends on zlib) - separate library for reading and writing .xlsx files Also includes command line tools to convert between .xslx and CSV files.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 13
    This project consists of a linux kernel driver and some user-mode libraries. They allow a process to create a virtual usb host controller. Real or virtual usb devices can be "plugged" into this controller.
    Leader badge">
    Downloads: 34 This Week
    Last Update:
    See Project
  • 14
    Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer.
    Leader badge">
    Downloads: 20 This Week
    Last Update:
    See Project
  • 15
    QtContribs - Harbour Qt Projects

    QtContribs - Harbour Qt Projects

    New home to HbQt, HbIDE & HbDBU once Harbour SVN hosted contribs.

    This is the repository to host all those Harbour's contrib libraries and applications which could not comply with strict Harbour project goals but had the potentiality to march into the future. The goal is to keep this repository parallel with Harbours contrib and use the same build system which Harbour uses. This way it will be possible easily to shift any library/application from here to Harbour or vice-verse. As I am totally ignorant of Harbour's build system, it will be appreciated if someone knowledgeable take over this responsibility, which might be one-time task. Welcome to new chapter in Harbour history! Pritpal Bedi a student of software analysis & concepts
    Downloads: 8 This Week
    Last Update:
    See Project
  • 16

    AVR-Ada

    Ada cross compiler and libraries for AVR µCs

    The AVR-Ada project provides the gcc based Ada compiler GNAT for the AVR 8-bit microcontrollers. This includes: - the Ada compiler - the Ada run time system and the AVR support library - documentation and some sample programs. The project is now superseded by the Alire crates - [AVRAda_RTS](https://github.com/RREE/AVRAda_RTS) - [AVRAda_MCU](https://github.com/RREE/AVRAda_MCU) - [AVRAda_Lib](https://github.com/RREE/AVRAda_Lib) - [AVRAda_Examples](https://github.com/RREE/AVRAda_Examples) Start with the examples (alr get avrada_examples) and Alire will install everything else.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 17
    C-ARES

    C-ARES

    A C library for asynchronous DNS requests

    This is C-ARES, an asynchronous resolver library. It is intended for applications that need to perform DNS queries without blocking, or need to perform multiple DNS queries in parallel. The primary examples of such applications are servers that communicate with multiple clients and programs with graphical user interfaces. The full source code is available in the 'C-ARES' release archives.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    EJDB

    EJDB

    Embeddable JSON Database engine C library

    EJDB 2.0, Embeddable JSON Database engine C library. Simple XPath like query language (JQL). Websockets / Android / iOS / React Native / Flutter / Java / Dart / Node.js bindings. Docker image. Array elements are matched from start to end. In equal arrays all values at the same index should be equal. Lexicographically sort object keys in both maps. Do matching keys and its values starting from the lowest key. Database index can be build for any JSON field path containing values of number or string type. All documents in collection are sorted by their primary key in descending order. So if you use auto generated keys (ejdb_put_new) you may be sure what documents fetched as result of full scan query will be ordered according to the time of insertion in descendant order, unless you don't use query sorting, indexes or inverse keyword.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    Freetype GL

    Freetype GL

    OpenGL text using one vertex buffer, one texture and FreeType

    Freetype-GL is an OpenGL text rendering library that utilizes a single vertex buffer and texture in conjunction with the FreeType library. It facilitates efficient and flexible text rendering in OpenGL applications, supporting various font formats and advanced typographic features.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    Grenade

    Grenade

    Deep Learning in Haskell

    Grenade is a composable, dependently typed, practical, and fast recurrent neural network library for concise and precise specifications of complex networks in Haskell. Because the types are so rich, there's no specific term level code required to construct this network; although it is of course possible and easy to construct and deconstruct the networks and layers explicitly oneself. Networks in Grenade can be thought of as a heterogeneous list of layers, where their type includes not only the layers of the network but also the shapes of data that are passed between the layers. To perform back propagation, one can call the eponymous function which takes a network, appropriate input, and target data, and returns the back propagated gradients for the network. The shapes of the gradients are appropriate for each layer and may be trivial for layers like Relu which have no learnable parameters.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    Gumbo

    Gumbo

    An HTML5 parsing library in pure C99

    Gumbo is an implementation of the HTML5 parsing algorithm implemented as a pure C99 library with no outside dependencies. It's designed to serve as a building block for other tools and libraries such as linters, validators, templating languages, and refactoring and analysis tools. Gumbo gains some of this by virtue of being written in C, but it is not an important consideration for the intended use-case, and was not a major design factor. Gumbo is intentionally designed to turn an HTML document into a parse tree, and free that parse tree all at once. To install the python bindings, make sure that the C library is installed first, and then sudo python setup.py install from the root of the distro. This installs a 'gumbo' module; pydoc gumbo should tell you about it. Tested on over 2.5 billion pages from Google's index. Passes all html5lib tests, including the template tag.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Honggfuzz

    Honggfuzz

    Security oriented software fuzzer

    honggfuzz is a general-purpose, high-performance fuzzer that mixes coverage feedback with practical crash triage to uncover memory-safety and logic bugs. It supports multiple fuzzing modes—stdin, file, and networking—so targets can be exercised the same way they run in production. Instrumentation via compiler hooks or hardware/perf counters guides mutations toward previously unseen edges, while persistent mode keeps the target process alive to amortize startup costs. The tool integrates tightly with sanitizers and can attach to already running processes, making it convenient for both white-box and black-box fuzzing. When it finds a crash, honggfuzz captures detailed context, minimizes the input, and can pin reproducibility by controlling CPU affinity and resource limits. Its small footprint and straightforward CLI make it easy to drop into CI or long-running campaigns across many cores.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    Lightweight ring buffer manager

    Lightweight ring buffer manager

    Lightweight generic ring buffer manager library

    The library provides generic FIFO ring buffer implementation.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    Lullaby

    Lullaby

    A collection of C++ libraries designed to help teams

    Lullaby is a modular collection of high-performance C++ libraries developed by Google for creating immersive virtual and augmented reality (VR/AR) experiences. It provides a flexible framework built around an Entity-Component-System (ECS) architecture, enabling developers to design efficient, scalable, and data-driven 3D applications. The framework includes tools and APIs for rendering full 3D environments, managing spatial audio, handling animations, and constructing interactive UI elements optimized for VR interfaces. Lullaby’s design promotes rapid iteration and cross-platform deployment, offering support for Android, iOS, Linux, and Windows. It integrates seamlessly with existing Android applications through a Java-based API and supports popular VR platforms such as Google Cardboard and Daydream. Originally used across multiple Google VR products, Lullaby serves as a foundation for building interactive worlds, responsive UIs, and dynamic simulations within immersive environments.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    Mundane

    Mundane

    Mundane is a Rust cryptography library backed by BoringSSL

    Mundane is a Rust cryptography library designed to be safe, ergonomic, and high-performance, with its cryptographic operations powered by BoringSSL. It aims to eliminate common security pitfalls by providing APIs that are intentionally difficult to misuse, prioritizing safety and correctness over flexibility. The library vendors its own copy of BoringSSL, ensuring consistent builds without external dependencies and avoiding symbol conflicts between different versions. Mundane emphasizes clarity in its cryptographic abstractions, making it accessible to developers while maintaining robust security guarantees. It is ideal for projects that need reliable, production-grade cryptography built directly on top of proven, well-tested C libraries.
    Downloads: 1 This Week
    Last Update:
    See Project