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.

  • Go from Code to Production URL in Seconds Icon
    Go from Code to Production URL in Seconds

    Cloud Run deploys apps in any language instantly. Scales to zero. Pay only when code runs.

    Skip the Kubernetes configs. Cloud Run handles HTTPS, scaling, and infrastructure automatically. Two million requests free per month.
    Start Free
  • Paessler: Easy to Use With Enterprise Power. Free Trial Icon
    Paessler: Easy to Use With Enterprise Power. Free Trial

    A low-code dashboard makes monitoring intuitive for any admin, while scripting and custom sensors give experts full control.

    You shouldn't have to choose between a monitoring tool that's easy to use and one that's powerful enough for a complex environment. PRTG's low-code interface lets any admin build dashboards, set alerts and monitor devices without scripting, while custom sensors and full API access are there when your team needs deeper control. One platform, no compromise. Download a free 30-day trial now.
    Get Free Download
  • 1
    libjpeg-turbo

    libjpeg-turbo

    SIMD-accelerated libjpeg-compatible JPEG codec library

    libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.
    Leader badge
    Downloads: 35,149 This Week
    Last Update:
    See Project
  • 2
    mpg123
    This is the fast and Free (LGPL license) real time MPEG Audio Layer 1, 2 and 3 decoding library and console player. It uses floating point or integer math, along with several special optimizations (3DNow, SSE, ARM, ...) to make it most efficient.
    Leader badge
    Downloads: 15,221 This Week
    Last Update:
    See Project
  • 3

    opencore-amr

    Audio codecs extracted from Android Open Source Project

    Library of OpenCORE Framework implementation of Adaptive Multi Rate Narrowband and Wideband (AMR-NB and AMR-WB) speech codec. Library of VisualOn implementation of Adaptive Multi Rate Wideband (AMR-WB) encoder and Advanced Audio Coding (AAC) encoder. Modified library of Fraunhofer AAC decoder and encoder.
    Leader badge
    Downloads: 14,069 This Week
    Last Update:
    See Project
  • 4
    LuaBinaries
    LuaBinaries is a distribution of the Lua libraries and executables compiled for several platforms.
    Leader badge
    Downloads: 6,388 This Week
    Last Update:
    See Project
  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Start Free
  • 5
    libusb

    libusb

    A cross-platform library that gives apps easy access to USB devices

    Library to enable user space application programs to communicate with USB devices
    Leader badge
    Downloads: 4,048 This Week
    Last Update:
    See Project
  • 6

    POSIX Threads for Windows

    An implementation of the POSIX threads API for Windows

    Also known as "pthreads-win32", POSIX Threads for Windows implements a large subset of the threads related API from the Single Unix Specification Version 3. Conformance and quality are high priorities of this mature library. Development began in 1998 and has continued with numerous significant professional contributions. Please note:- whilst PThreads4W can be built and run by it, MinGW64 includes it's own default POSIX Threads library called "winpthreads". The two are not compatible and in order to build and run PThreads4W (formerly PThreads-WIn32) MinGW64 must be installed without win32pthreads. If you want or need to build and run with PThreads4W then you need to choose win32 threading instead of POSIX when you install MinGW64 to not install the conflicting winpthreads include and library files.
    Leader badge
    Downloads: 4,854 This Week
    Last Update:
    See Project
  • 7
    *NOTE* Migrated to http://github.com/cracklib/cracklib Next generation version of libCrack password checking library. As of Oct 2008 (reflected in 2.8.15 code release), licensed under LGPL.
    Leader badge
    Downloads: 2,607 This Week
    Last Update:
    See Project
  • 8
    Octave Forge

    Octave Forge

    A collection of packages providing extra functionality for GNU Octave

    Octave Forge is a central location for collaborative development of packages for GNU Octave. The Octave Forge packages expand Octave's core functionality by providing field specific features via Octave's package system. See https://octave.sourceforge.io/packages.php for a list of all available packages. GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable. Refer to https://www.octave.org for more information.
    Leader badge
    Downloads: 1,913 This Week
    Last Update:
    See Project
  • 9
    The OpenGL Extension Wrangler Library
    The OpenGL Extension Wrangler Library is a simple tool that helps C/C++ developers initialize extensions and write portable applications. GLEW currently supports a variety of operating systems, including Windows, Linux, Darwin, Irix, and Solaris.
    Leader badge
    Downloads: 1,946 This Week
    Last Update:
    See Project
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Start Free
  • 10

    Win flex-bison

    Win flex-bison is a port Flex & Bison tools to the Windows platform

    Win flex-bison is a windows port the Flex (the fast lexical analyser) and Bison (GNU parser generator). win_flex based on Flex version 2.6.3 source code and win_bison based on Bison version 2.7 and they depend on system libraries only. Git repository: https://github.com/lexxmark/winflexbison UPDATE1: Bison version 3.x.x available in Files section in win_flex_bison3-latest.zip package. UPDATE2: Now "winflexbison" available as package in Chocolatey (https://chocolatey.org/packages/winflexbison and https://chocolatey.org/packages/winflexbison3) UPDATE3: You can use VS custom build rules to simplify working with winflexbison in Visual Studio 2010 and upper (https://sourceforge.net/p/winflexbison/wiki/Visual%20Studio%20custom%20build%20rules/).
    Leader badge
    Downloads: 2,784 This Week
    Last Update:
    See Project
  • 11
    raylib

    raylib

    A simple and easy-to-use library to enjoy videogames programming

    raylib is highly inspired by Borland BGI graphics lib and by XNA framework. Do you want to see all functions available in raylib? Check raylib cheatsheet. raylib is a programming library to enjoy videogames programming; no fancy interface, no visual helpers, no auto-debugging, just coding in the most pure spartan-programmers way. raylib has received several recognitions in the last years and many people have written about the library. Here there are the main awards received from Google and Epic Games. raylib supports multiple target platforms, it has been tested in the following platforms but, technically, any platform that supports C language and OpenGL graphics is valid for raylib or can be very easily ported to. raylib can be combined with several extra libraries for additional functionality, some of those libraries are already used internally while others are provided for user integration, most of these libraries are single-file header-only with no external dependencies.
    Downloads: 277 This Week
    Last Update:
    See Project
  • 12
    QB64

    QB64

    BASIC for the modern era

    QB64 is a modern self-hosting BASIC compiler that brings classic QBasic/QuickBASIC programs into the modern era. It enables legacy code to run on today’s operating systems with minimal modifications, while also introducing new commands and libraries for multimedia, networking, and 64-bit computing. QB64 compiles to C++ and includes a built-in IDE, making it accessible for beginners, hobbyists, and retro programming enthusiasts. It aims to preserve the ease and nostalgia of BASIC while expanding its capabilities for contemporary development.
    Downloads: 229 This Week
    Last Update:
    See Project
  • 13
    OpenCorePkg

    OpenCorePkg

    OpenCore bootloader

    OpenCorePkg is an open-source, modular UEFI (Unified Extensible Firmware Interface) bootloader and development framework, primarily designed to enable macOS booting on non-Apple hardware (Hackintosh). It includes Apple-specific UEFI drivers, utilities for macOS installation support, and shared libraries used across Acidanthera projects. Apple disk image loading support. Apple keyboard input aggregation. Apple PE image signature verification. Apple UEFI secure boot supplemental code. Audio management with screen reading support. Basic ACPI and SMBIOS manipulation.
    Downloads: 226 This Week
    Last Update:
    See Project
  • 14
    GTK+2 for Windows Runtime Environment

    GTK+2 for Windows Runtime Environment

    The files required to run GTK+ applications on Windows

    This is the GTK+2 Runtime Environment Installer for Windows. It includes all of the files required to run GTK+2 applications on Windows. Some support tools are also available. This project is no longer maintained. Please use its successor: https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer
    Leader badge
    Downloads: 856 This Week
    Last Update:
    See Project
  • 15
    AppSync

    AppSync

    Unified AppSync dynamic library for iOS 5 and above

    AppSync is a tool that enables sideloading and installation of unsigned iOS applications. It allows developers and users to install apps without requiring a paid Apple Developer account.
    Downloads: 157 This Week
    Last Update:
    See Project
  • 16
    FreeRDP

    FreeRDP

    FreeRDP is a free remote desktop protocol library and clients

    FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Enjoy the freedom of using your software wherever you want, the way you want it, in a world where interoperability can finally liberate your computing experience. The nightly builds are installed into /opt/freerdp-nightly and can be installed in parallel with the distributions regular freerdp package. Network tracing of RDP can be quite a challenge due to a number of factors such as encryption, compression, and the fact that these protocol features cannot always be disabled or worked around. One of the easiest way of decrypting RDP traffic is to configure the server with a self-signed certificate for which the private key is known, and then use this certificate with a network tracing tool to automatically decrypt the packets.
    Downloads: 113 This Week
    Last Update:
    See Project
  • 17
    OpenSSL Project

    OpenSSL Project

    TLS/SSL and crypto library

    OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit for the TLS (formerly SSL), DTLS and QUIC (currently client-side only) protocols. The protocol implementations are based on a full-strength general-purpose cryptographic library, which can also be used stand-alone. Also included is a cryptographic module validated to conform with FIPS standards. OpenSSL is descended from the SSLeay library developed by Eric A. Young and Tim J. Hudson.
    Downloads: 99 This Week
    Last Update:
    See Project
  • 18
    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: 72 This Week
    Last Update:
    See Project
  • 19
    Mikmod Sound System
    Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm. Originally a player for MS-DOS, MikMod has been ported to other platforms, such as Unix, Macintosh, BeOS, and Java(!!)
    Leader badge
    Downloads: 997 This Week
    Last Update:
    See Project
  • 20
    usbmuxd

    usbmuxd

    A socket daemon to multiplex connections from and to iOS devices

    A socket daemon to multiplex connections from and to iOS devices. usbmuxd stands for "USB multiplexing daemon". This daemon is in charge of multiplexing connections over USB to an iOS device. The daemon is automatically started by udev or systemd depending on what you have configured upon hotplug of an iOS device and exits if the last device was unplugged. When usbmuxd is running it provides a socket interface at /var/run/usbmuxd that is designed to be compatible with the socket interface that is provided on macOS. You should also create an usbmux user that has access to USB devices on your system. Alternatively, just pass a different username using the -U argument. usbmuxd is not used for tethering data transfers which uses a dedicated USB interface to act as a virtual network device. The higher-level layers, especially if you want to write an application to interact with the device, are handled by libimobiledevice.
    Downloads: 64 This Week
    Last Update:
    See Project
  • 21
    Extended Module Player

    Extended Module Player

    A multi-format module player and library

    libxmp is a library that renders module files to PCM data. xmp is a module player for Unix-like systems, based on libxmp, that plays over 90 mainstream and obscure module formats from Amiga, Atari, Acorn, Apple IIgs and PC, including Protracker (MOD), Scream Tracker 3 (S3M), Fast Tracker II (XM) and Impulse Tracker (IT) files.
    Leader badge
    Downloads: 422 This Week
    Last Update:
    See Project
  • 22
    libimobiledevice

    libimobiledevice

    A cross-platform protocol library to communicate with iOS devices

    libimobiledevice is a cross-platform software library that talks the protocols to interact with iOS devices. Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. Access filesystem of a device, access documents of file sharing apps, retrieve information about a device and modify various settings, backup and restore the device in a native way compatible with iTunes. Manage app icons arrangement on the device, install, remove, list and basically manage apps. Activate a device using official servers, manage contacts, calendars, notes and bookmarks, retrieve and remove crashreports. Retrieve various diagnostics information, establish a debug connection for app debugging, mount filesystem images, forward device notifications, manage device provisioning. Take screenshots from the device screen (requires mounted developer image). Simulate changed geolocation of the device (requires mounted developer image).
    Downloads: 60 This Week
    Last Update:
    See Project
  • 23
    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: 54 This Week
    Last Update:
    See Project
  • 24
    Open source DKIM library, MTA filter implementation and associated tools.
    Leader badge
    Downloads: 271 This Week
    Last Update:
    See Project
  • 25
    libusb

    libusb

    A cross-platform library to access USB devices

    libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version. libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc. No special privilege or elevation is required for the application to communicate with a device. All versions of the USB protocol, from 1.0 to 3.1 (latest), are supported. libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems.
    Downloads: 47 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next