Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Lightweight printf stdio manager

Read first: Documentation


  • Written in ANSI C99, compatible with size_t and uintmax_t types for some specifiers
  • Implements output functions compatible with printf, vprintf, snprintf, sprintf and vsnprintf
  • Low-memory footprint, suitable for embedded systems
  • Reentrant access to all API functions
  • Operating-system ready
  • Requires single output function to be implemented by user for printf-like API calls
  • With optional functions for operating systems to protect multiple threads printing to the same output stream
  • Allows multiple output stream functions (unlike standard printf which supports only one) to separate parts of application
  • Added additional specifiers vs original features
  • User friendly MIT license


Fresh contributions are always welcome. Simple instructions to proceed::

  1. Fork Github repository
  2. Respect C style & coding rules used by the library
  3. Create a pull request to develop branch with new features or bug fixes

Alternatively you may:

  1. Report a bug
  2. Ask for a feature request