Cairo est une bibliothèque logicielle de manipulation d', qui permet d'afficher les images avec le X Window System ou Microsoft Windows. Cairo permet également de créer du Postscript ou du PDF. Son interface de programmation est fondée sur Postscript.
Cette bibliothèque a été implémentée sur X, OpenGL (via Cairo-gl, introduit avec la version 1.10 à l'initiative d'Eric Anholt, qui succède à la bibliothèque glitz. Il existe aussi une implémentation drm (Direct Rendering Module) pour les circuits graphiques Intel en attendant que cairo-gl soit optimisé), Apple Mac OS X, via Quartz, ainsi que Microsoft Windows (2000, XP, Vista) ou les tampons mémoires (utilisé sur les PDA et les téléphones GSM).
Il peut utiliser une sortie image vers des fichiers PNG mais aussi une sortie vers des fichiers PostScript, PDF ou SVG. Cairo utilise l'accélération matérielle si elle est disponible pour une fonction et reviendra à un affichage logiciel si celle-ci n'est pas disponible.
Cairo a été commencé par Keith Packard et Carl Worth à la base spécialement pour le X Window System. Son nom original était Xr ou Xr/Xc, mais il s'est vu finalement porté sur les différents systèmes afin de permettre aux différents développeurs d'applications de ne pas avoir à réécrire la partie affichage pour les différentes plateformes.
Il avait à la base un but similaire à la technologie Quartz utilisée par Apple avec Aqua à l'époque du début du projet. Aujourd'hui, la technologie Windows Presentation Foundation de Microsoft utilise également le même principe, ce qui permet à Windows de bénéficier des mêmes technologies que MacOSX ou X11, mais avec une consommation de mémoire plus importante.
Cairo est développé en langage C, mais dispose de liaisons en C++, Ruby, Java, Python, PHP, Perl, Lua, Mono, OCaml, Common Lisp, Scheme, Haskell, Fortran et d'autres langages.
Les versions mineures paires sont les versions stables et impaires instables :
La stabilisation des fonctions minimum a été assuré pour la version 1.0.
La série 1.