Compare GLFW vs Skia and see what are their differences.


A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input (by glfw)


Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. (by google)
Our great sponsors
  • SonarQube - C++ Analysis thatโ€™s powerful, fast, and secure
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
28 10
8,214 5,544
2.0% 3.0%
8.8 8.5
about 10 hours ago 6 days ago
C C++
zlib License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of GLFW. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-13.
  • [Handmade Network] How to write better (game) libraries
    Even if someone wants to use VS2008 for game development, it only took me a Google search to find which doesn't have any dependencies and a very permissive licence.
  • how do i include glfw in my code to make a window? | 2021-08-31
  • LibOS โ€“ Cross-platform OS features in C++ | 2021-08-23
    You seem to have had a similar impetus as I had 20 years ago when I created GLFW (though with a slightly different focus).
  • Is there a way to get japanese text input in raylib? | 2021-08-23
    Thanks for the detailed explanation. I'm afraid I didn't considered that use case for raylib and it would require some investigation to implement it... but raylib uses internally GLFW for desktop platforms and I've seen there is a related issue: About IME support by the browser, it should be investigated. Feel free to open an issue on raylib GitHub for further investigation!
  • Massive trouble with GLFW header inclusion. Can someone help?
    Looking at the actual code of the .h file, it looks pretty empty, and like it needs some extra files perhaps. For instance, functions are just filled with comments with some random explanations, so they are basically 1 line, which probably does nothing. Here you can take a look yourself on github.
  • Hey, I want start
    I would suggest using GLFW and Glad with C++ and use LearnOpenGL as a refrence
  • Compiling in MacOS M1 Chip (arm64) | 2021-07-22
    Now I read the logs and it seems the issue is with GLFW. I've found this:
  • Opengl(glfw) gears on termux x11 NO ROOT!! | 2021-07-19
    Clone the glfw repositiory - git clone
  • 3D Visualization with C++
    Use to get a window with an OpenGL context.
  • A better way of running Minecraft Without XWayland. Because I REALLY had nothing better to do with my life. (which is where I got some patches from) says there wasn't much upstream interest on merging the patches. But (the fix for the freezing issue) might be a good candidate for merging, though I don't know how GLFW people work, so I cannot comment on if it is properly upstreamable or not.


Posts with mentions or reviews of Skia. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-08-09.
  • [ANN] Monomer, a GUI library for Haskell | 2021-08-09
    I took a look at using Skia, but the C bindings are marked as not stable and it does not look like an easy to distribute library (plus compiling it takes a long time).
  • What is the most lightweight 2D library written in kotlin, to use opengl ES2? | 2021-08-03
  • skr-canvas 0.1 released, drop in replacement for node-canvas. 0 system dependencies! 0 post install scripts! Support all active Node.js versions! | 2021-08-01 is the 2D Graphics library which is used by Chrome/Firefox/Flutter/Android
  • Efficient, cross-platform graphics library? This is used by the sublime editor, so I think it'll match your use-case.
  • Make own GUI in C/C++
    You could look into Skia (BSD), it's used in Chrome, Flutter, Firefox and I think LibreOffice also uses it for some platforms. The other big alternative I'm aware of is Cairo (LGPL).
  • Ribbons
    I've been creating my own environment for generative art using SkiaSharp, which is a C# wrapper around the Skia 2D graphics library (
  • How do browsers render input field? Do they use native apis like win32? | 2021-06-06
    Most browsers use Skia, an open source c++ 2d library
  • Best Programming Language / Library for Scientific Visualization?
    For 2D graphics in C++ you can go with Skia, Cairo.
  • Choose your Flutter web renderer
    Not that important, but I've found that decodeImageFromPixels works for web:html renderer, and not web:canvas, but then decodeImageFromList with a format that skia can recognize (in my case monochrome bitmap, so I chose the obsolete, but still supported wbmp format (from no longer existing wap forum), or for RGB data one can choose the BMP, or something by browsing skia source code and finding what it supports -, then by looking in the enum (kWBMP) finding the codec, and with some bits of C/C++ knowledge one can see what's needed -
  • Graphics Library for simple 2D games | 2020-12-28

What are some alternatives?

When comparing GLFW and Skia you can also consider the following projects:

bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

SDL - Simple Directmedia Layer

Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

OpenSceneGraph - OpenSceneGraph git repository

glad - Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.

Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)

nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

Open-Source Vulkan C++ API - Open-Source Vulkan C++ API