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.

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 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.
    Try Free
  • 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: 38,974 This Week
    Last Update:
    See Project
  • 2

    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: 8,191 This Week
    Last Update:
    See Project
  • 3
    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: 7,046 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,833 This Week
    Last Update:
    See Project
  • $300 Free Credits for Your Google Cloud Projects Icon
    $300 Free Credits for Your Google Cloud Projects

    Start building on Google Cloud with $300 in free credits. No commitment, no credit card required until you're ready to scale.

    Launch your next project with $300 in free Google Cloud credits—no strings attached. Test, build, and deploy without risk. Use your credits across the entire Google Cloud platform to find what works best for your needs. After your credits are used, continue with always-free tier services. Only pay when you're ready to scale. Sign up in minutes and start exploring.
    Start Free Trial
  • 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: 3,868 This Week
    Last Update:
    See Project
  • 6

    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: 4,496 This Week
    Last Update:
    See Project
  • 7
    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: 2,824 This Week
    Last Update:
    See Project
  • 8
    *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,071 This Week
    Last Update:
    See Project
  • 9

    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: 2,851 This Week
    Last Update:
    See Project
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started Free
  • 10
    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: 236 This Week
    Last Update:
    See Project
  • 11
    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: 929 This Week
    Last Update:
    See Project
  • 12
    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: 208 This Week
    Last Update:
    See Project
  • 13
    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: 972 This Week
    Last Update:
    See Project
  • 14
    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: 191 This Week
    Last Update:
    See Project
  • 15
    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: 132 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: 95 This Week
    Last Update:
    See Project
  • 17
    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: 58 This Week
    Last Update:
    See Project
  • 18
    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: 55 This Week
    Last Update:
    See Project
  • 19
    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: 55 This Week
    Last Update:
    See Project
  • 20
    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: 350 This Week
    Last Update:
    See Project
  • 21
    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: 41 This Week
    Last Update:
    See Project
  • 22
    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: 39 This Week
    Last Update:
    See Project
  • 23
    Curl

    Curl

    Command line tool and library for transferring data with URLs

    Curl is a command line tool and library for transferring data specified with URL syntax. It supports HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, SSL certificates, cookies, user+password authentication, and so much more! Curl is used for many different things. It's used in command lines or scripts for transferring data. It's also used in just about every device you can think of: mobile phones and tablets, television sets, printers, routers, media players and other audio equipment. Curl is also the internet transfer backbone for thousands of software applications being used extensively throughout the world today. Curl is feature-rich, thread-safe, well supported and fast. It is also highly portable and works on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Linux, Mac OS X, Windows, Darwin, UnixWare, HURD, BeOS, Ultrix, QNX, DOS, Symbian, and many more.
    Downloads: 32 This Week
    Last Update:
    See Project
  • 24
    GLFW

    GLFW

    A multi-platform library for OpenGL, OpenGL ES, Vulkan, etc.

    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. Gives you a window and OpenGL context with just two function calls. Support for OpenGL, OpenGL ES, Vulkan and related options, flags and extensions. Support for multiple windows, multiple monitors, high-DPI and gamma ramps. Support for keyboard, mouse, gamepad, time and window event input, via polling or callbacks. Comes with a tutorial, guides and reference documentation, examples and test programs. Open Source with an OSI-certified license allowing commercial use. Access to native objects and compile-time options for platform specific features. Community-maintained bindings for many different languages.
    Downloads: 30 This Week
    Last Update:
    See Project
  • 25
    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: 27 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next
Auth0 Logo