PAPPL Printer Application Framework

Version License C Linux | macOS | Unix | Windows


PAPPL v1.4.6 February 09, 2024

PAPPL v1.4.5 January 26, 2024

PAPPL v1.4.4 December 21, 2023

PAPPL v1.4.3 November 15, 2023

PAPPL v1.4.2 October 16, 2023

PAPPL is a simple C-based framework/library for developing CUPS Printer Applications, which are the recommended replacement for printer drivers. It was developed to support any kind of printer or driver that can be used on desktops, servers, and in embedded environments.

PAPPL supports JPEG, PNG, PWG Raster, Apple Raster, and “raw” printing to printers connected via USB and network (AppSocket/JetDirect) connections. PAPPL provides an embedded IPP Everywhere™, AirPrint™, and Mopria® service that provides access to printers locally or on your whole network.

PAPPL is licensed under the Apache License Version 2.0 with an exception to allow linking against GPL2/LGPL2 software (like older versions of CUPS), so it can be used freely in any project you’d like. If you want to support the development of this framework financially, please consider sponsoring me through Github or Liberapay. I am also available to do consulting and/or development through my company Lakeside Robotics (

System Requirements


  • C99 compiler (Clang, GCC, MSVC)
  • POSIX-compliant `make` (all but Windows)
  • Xcode (optional for macOS)
  • Visual Studio 2019 or later (Windows)

Required Libraries:

  • Avahi (0.8+) or mDNSResponder
  • CUPS (2.2+) or libcups (3.0+)
  • GNU TLS (3.0+), LibreSSL (3.0+), or OpenSSL (1.1+)
  • ZLIB (1.1+)

Optional Libraries:

  • JPEGLIB (8+) or libjpeg-turbo (2.0+)
  • LIBPNG (1.6+)
  • LIBUSB (1.0+)

Printer Applications Using PAPPL