Open-source graphics software
2100 open-source libraries, tools and applications tagged graphics, ranked by how closely graphics is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
2100 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| nical/lyon Lyon is a Rust library for 2D graphics rendering on the GPU via path tessellation. It converts complex SVG-compliant vector paths into tria… | 66 | 2599 | stable |
| pokepetter/ursina Ursina is an easy-to-use open source game engine/framework for Python, built on top of Panda3D, supporting both 2D and 3D game development.… | 75 | 2587 | active |
| ruucm/shadergradient ShaderGradient is a React library built on Three.js and react-three-fiber that renders customizable, animated 3D moving gradients. It also … | 75 | 2586 | active |
| jpcy/xatlas xatlas is a small C++11 library with no external dependencies that generates unique texture coordinates (UV unwrapping) for 3D meshes. It i… | 32 | 2582 | stable |
| piqnt/stage.js Stage.js is a lightweight 2D rendering and layout library for building HTML5 Canvas games in JavaScript/TypeScript. It provides an optimize… | 72 | 2570 | active |
| cartesiancs/map3d map3d is a web application that generates real-world 3D city maps with buildings and roads using React-Three-Fiber and OpenStreetMap data. … | 54 | 2560 | active |
| BrunoLevy/geogram Geogram is a C++ programming library of geometric algorithms for geometry processing, including surface reconstruction, remeshing, Boolean … | 93 | 2558 | stable |
| google/swiftshader SwiftShader is a high-performance CPU-based implementation of the Vulkan 1.3 graphics API, acting as a drop-in replacement for GPU drivers.… | 77 | 2553 | active |
| cmiscm/leonsans Leon Sans is a geometric sans-serif typeface generated entirely with code, exposing glyph drawing-point coordinates so developers can dynam… | 32 | 10160 | maintenance |
| gen2brain/raylib-go Go bindings for raylib, a simple and easy-to-use C library for videogame programming. The C source is bundled and compiled with the binding… | 72 | 2546 | active |
| tinygltf TinyGLTF is a header-only C11/C++ library for loading and saving glTF 2.0 3D asset files. It offers a pure C POD API, arena-based memory ma… | 82 | 2535 | active |
| KhronosGroup/SPIRV-Cross SPIRV-Cross is a tool and C++ library from Khronos for parsing SPIR-V binaries, performing reflection, and decompiling them back to high-le… | 67 | 2532 | stable |
| AndrewPrifer/liquid-dom Liquid DOM is a monorepo of TypeScript packages for rendering Apple-style liquid glass effects on the web using WebGPU. It provides a core … | 57 | 2532 | active |
| nortikin/sverchok Sverchok is a powerful visual programming addon for Blender that enables parametric geometry creation through a node-based interface. It pr… | 74 | 2525 | active |
| mlt131220/Astral3D Astral 3D Editor is a free, open-source web-based 3D engine and editor built on Vue3 and Three.js. It supports 30+ model formats, BIM light… | 67 | 2499 | active |
| AngusJohnson/Clipper2 Clipper2 is a polygon clipping, offsetting, and triangulation library available in C++, C#, and Delphi. It performs boolean operations (int… | 70 | 2496 | active |
| Overload-Technologies/Overload Overload is a free, open-source 3D game engine written in modern C++20 with Lua as its scripting language. It ships with an editor and rend… | 88 | 2490 | active |
| Nelarius/imnodes imnodes is a small, dependency-free node editor extension for dear imgui, written in C++. It provides immediate-mode building blocks for cr… | 56 | 2490 | active |
| visgl/luma.gl luma.gl is a modular TypeScript toolkit for high-performance GPU rendering and compute on the web, providing a portable device API over Web… | 99 | 2485 | active |
| wgsxm/PartCrafter PartCrafter is a structured 3D generative model that jointly generates multiple semantically meaningful 3D mesh parts and objects from a si… | 50 | 2485 | active |
| evolus/pencil Pencil is a free, open-source desktop application for GUI prototyping and diagram drawing, built on Electron. It ships with built-in shape … | 67 | 9874 | maintenance |
| Proton Proton is a lightweight JavaScript particle animation library for creating visual effects like flames, fireworks, explosions, and bullets. … | 51 | 2478 | stable |
| NASA-AMMOS/3DTilesRendererJS A JavaScript library that renders OGC 3D Tiles tilesets using Three.js, Babylon.js, or React Three Fiber. It supports most of the 3D Tiles … | 97 | 2476 | active |
| donmccurdy/three-gltf-viewer A browser-based drag-and-drop viewer for previewing glTF 2.0 3D models using WebGL and three.js. It is available as a hosted web app at glt… | 67 | 2472 | active |
| crownengine/crown Crown is a complete, cross-platform, open-source game engine written in C++ with Lua scripting, featuring a full level editor, asset pipeli… | 100 | 2458 | active |
| facebookresearch/pifuhd PIFuHD is a PyTorch implementation of a CVPR 2020 research model that reconstructs high-resolution 3D human body meshes from a single 2D im… | 10 | 9724 | maintenance |
| hawk86104/three-vue-tres TvT.js is an open-source Web 3D engineering framework built on Three.js, Vue 3, TresJS, and Fes.js for building digital twin and 3D visuali… | 72 | 2447 | active |
| nv-tlabs/3dgrut NVIDIA's official implementations of 3D Gaussian Ray Tracing (3DGRT) and 3D Gaussian Unscented Transform (3DGUT), which render volumetric G… | 68 | 2441 | active |
| Walnut Walnut is a simple C++ application framework combining Dear ImGui with Vulkan for building immediate-mode desktop applications with real-ti… | 32 | 2431 | active |
| yomotsu/camera-controls A TypeScript camera control library for three.js that extends the capabilities of THREE.OrbitControls with smooth transitions, configurable… | 77 | 2430 | active |
| Satty-org/Satty Satty is a modern screenshot annotation tool for Linux and BSD, inspired by Swappy and Flameshot. It provides a simple toolset, fullscreen … | 86 | 2423 | active |
| elringus/sprite-glow A Unity plugin providing a sprite glow effect using HDR sprite outlines via shaders combined with bloom post-processing. It is distributed … | 40 | 2418 | stable |
| BelfrySCAD/BOSL2 BOSL2 is a large OpenSCAD library providing shapes, masks, attachments, rounding/filleting tools, math utilities, and shorthands to simplif… | 100 | 2415 | active |
| SwayFX SwayFX is a fork of the Sway Wayland compositor that adds visual effects via a custom GLES2 fx_renderer. It extends the i3-compatible tilin… | 91 | 2401 | active |
| jtrivedi/Wave Wave is a spring-based animation engine for iOS, iPadOS, and macOS built in Swift with no external dependencies. It provides fluid, interru… | 52 | 2400 | stable |
| strukturag/libheif libheif is a C++ library that decodes and encodes HEIF/HEIC and AVIF image files, plus HEIF containers using VVC, AVC, JPEG, and JPEG-2000 … | 99 | 2399 | active |
| mourner/simplify-js Simplify.js is a tiny, high-performance JavaScript library for 2D/3D polyline simplification, extracted from Leaflet. It combines the Dougl… | 23 | 2395 | stable |
| franMarz/TexTools-Blender TexTools is a free Blender add-on providing a professional UV and texture toolset, including UV layout tools, texture baking modes, texel d… | 23 | 2395 | active |
| webmproject/libwebp libwebp is the reference C library for encoding and decoding images in the WebP format, maintained by the WebM project. It also ships comma… | 76 | 2394 | stable |
| OpenImageIO OpenImageIO is a C++ library and toolset for reading, writing, and processing images in nearly any file format through a format-agnostic pl… | 100 | 2387 | stable |
| Animation Nodes Animation Nodes is a node-based visual scripting system designed for motion graphics in Blender. It lets artists create procedural animatio… | 60 | 2386 | active |
| TencentARC/Pixal3D Pixal3D is a research codebase for generating high-fidelity 3D assets from a single image using a pixel-aligned generation paradigm that ba… | 56 | 2383 | active |
| johnBuffer/AntSimulator A simple 2D ant colony simulator written in C++ with SFML, showing emergent foraging behavior with pheromone trails. It supports interactiv… | 37 | 2381 | active |
| xCollateral/VulkanMod VulkanMod is a Fabric mod for Minecraft that replaces the default OpenGL renderer with a custom Vulkan-based voxel rendering engine. It aim… | 79 | 2377 | active |
| ash-rs/ash Ash is a lightweight, auto-generated Rust wrapper around the Vulkan graphics API, generated from vk.xml and supporting Vulkan 1.1 through 1… | 67 | 2357 | stable |
| elalish/manifold A C++ geometry library for creating and operating on manifold triangle meshes that represent solid objects, with guaranteed topologically r… | 99 | 2355 | stable |
| facebookincubator/FBX2glTF A command-line tool that converts 3D model assets from Autodesk's FBX format to glTF 2.0, including binary .glb output and Draco compressio… | 52 | 2352 | active |
| cogentcore/core Cogent Core is a free, open-source Go framework for building fast, elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, … | 67 | 2350 | active |
| lvandeve/lodepng LodePNG is a standalone PNG encoder and decoder written in C and C++ with no external dependencies, distributed as just two source files. I… | 76 | 2349 | stable |
| OpenEXR Open Shading Language (OSL) is a small, C-like programmable shading language with a compiler and runtime library for advanced production re… | 94 | 2343 | stable |
| spite/THREE.MeshLine A JavaScript library that replaces THREE.Line in three.js by rendering lines as billboarded triangle strips instead of GL_LINE, enabling th… | 67 | 2340 | stable |
| iamlukethedev/Claw3D Claw3D is a self-hosted 3D virtual office that visualizes AI agents working in real time, letting users watch agents review pull requests, … | 69 | 2333 | active |
| Brooooooklyn/canvas A high-performance Node.js canvas implementation backed by Google's Skia graphics library, built with Rust and Node-API (napi-rs). It provi… | 94 | 2331 | active |
| fltk/fltk FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for Linux (X11/Wayland), Windows, and macOS, providing lightweight, modular … | 86 | 2331 | stable |
| LitMotion LitMotion is a high-performance, zero-allocation tweening library for Unity that animates components like Transform, Material, and TextMesh… | 72 | 2330 | active |
| moderngl/moderngl ModernGL is a Python wrapper over OpenGL Core that simplifies creating high-performance graphics applications such as scientific simulation… | 61 | 2328 | stable |
| appleseed appleseed is an open source, physically-based global illumination rendering engine designed for animation and visual effects. It ships as a… | 58 | 2327 | active |
| nv-tlabs/lyra Project Lyra is NVIDIA's open series of generative 3D world models, including Lyra 1.0 for feed-forward 3D/4D scene generation from a singl… | 56 | 2317 | active |
| fanvanzh/3dtiles A C++ toolkit that converts large-scale 3D geospatial data such as OSGB and Shapefile into Cesium 3D Tiles format. It supports optional mes… | 63 | 2313 | active |
| IENT/YUView YUView is a Qt-based, cross-platform YUV video player with an advanced analytics toolset for inspecting raw video sequences. It supports ma… | 68 | 2312 | active |
| color-js/color.js Color.js is a JavaScript library for color conversion, manipulation, and color science, created by editors of the CSS Color specifications.… | 95 | 2311 | active |
| mattiasgustavsson/libs A collection of single-file, public domain (dual MIT) C/C++ libraries covering graphics app frameworks, data structures, threading, HTTP, a… | 57 | 2308 | active |
| synfig/synfig Synfig Studio is a free and open-source 2D animation application for creating film-quality animation from vector and bitmap artwork. It use… | 83 | 2300 | active |
| Novum/vkQuake vkQuake is a Vulkan-based source port of id Software's Quake, built on QuakeSpasm and QuakeSpasm-Spiked. It replaces the original OpenGL re… | 95 | 2299 | active |
| NVlabs/nvdiffrec nvdiffrec is NVIDIA's official implementation of a CVPR 2022 oral paper that jointly optimizes triangular 3D meshes, PBR materials, and lig… | 72 | 2298 | stable |
| fougue/mayo Mayo is an open-source 3D CAD viewer and converter built with Qt and OpenCascade in modern C++. It visualizes CAD models with measurement, … | 83 | 2295 | active |
| InteractiveComputerGraphics/PositionBasedDynamics A C++ library for physically-based simulation of rigid bodies, deformable solids and fluids using position-based dynamics methods. It is de… | 64 | 2291 | active |
| helix-toolkit/helix-toolkit Helix Toolkit is a collection of 3D components for .NET, providing XAML/MVVM-compatible scene graphs and 3D rendering for WPF, WinUI, and A… | 79 | 2284 | active |
| AcademySoftwareFoundation/MaterialX MaterialX is an open standard and C++/Python library for representing and exchanging rich material and look-development content across comp… | 81 | 2282 | stable |
| alexiscreuzot/SwiftyGif SwiftyGif is a high-performance GIF playback engine for iOS written in Swift, built as UIImage/UIImageView extensions with support for remo… | 23 | 2280 | active |
| Gio Gio is a Go library for writing cross-platform immediate mode GUIs, supporting Linux, macOS, Windows, Android, iOS, FreeBSD, OpenBSD, and W… | 77 | 2275 | active |
| onevcat/APNGKit APNGKit is a high-performance Swift framework for loading, decoding, and displaying Animated PNG (APNG) images on iOS and macOS. It offers … | 74 | 2275 | active |
| ImGuiNET/ImGui.NET ImGui.NET is a .NET wrapper around the Dear ImGui immediate-mode GUI library, built on the cimgui C API. It lets .NET developers build grap… | 61 | 2275 | active |
| swaywm/wlroots wlroots is a modular C library providing pluggable, composable modules for building Wayland compositors, including hardware backends, proto… | 10 | 2274 | active |
| marcomusy/vedo vedo is a Python library for scientific analysis and visualization of 3D objects, meshes, point clouds, and volumetric data, built on top o… | 70 | 2272 | active |
| material-foundation/material-color-utilities A set of color utilities implementing Material Design 3's color system, including the HCT color space, dynamic color schemes, contrast meas… | 73 | 2265 | stable |
| yemount/pose-animator Pose Animator is a browser-based tool that animates 2D SVG vector characters in real time using pose and face keypoints detected by PoseNet… | 32 | 8851 | maintenance |
| nillerusr/source-engine A modified, cross-platform port of Valve's Source game engine (based on the 2017/2018 leaked codebase), extended to run on Android, macOS, … | 52 | 2259 | active |
| erichlof/THREE.js-PathTracing-Renderer A real-time path tracing renderer built on top of the Three.js WebGL framework, providing global illumination, progressive rendering, refle… | 70 | 2252 | active |
| ucupumar/ucupaint Ucupaint is a Blender add-on for managing layered textures and materials in the Eevee and Cycles renderers. It provides a layer-based paint… | 95 | 2251 | active |
| KhronosGroup/UnityGLTF A pure C# Unity3D library for importing and exporting glTF 2.0 assets at both editor and runtime, with no native dependencies. It supports … | 91 | 2238 | active |
| tentone/nunuStudio nunuStudio is an open-source, web-powered 3D game engine built on three.js, featuring a fully featured visual editor with scene editing, co… | 52 | 2232 | active |
| pyglet/pyglet pyglet is a cross-platform windowing and multimedia library for Python, providing native windows, input handling, OpenGL graphics, and imag… | 92 | 2226 | active |
| LayaAir LayaAir is a TypeScript-based 2D/3D game engine supporting WebGL, WebGPU, OpenGL, and Vulkan with full-platform publishing to HTML5, native… | 98 | 2219 | active |
| photopea/UPNG.js UPNG.js is a small, fast JavaScript library for encoding and decoding PNG and APNG images, serving as the main PNG engine for the Photopea … | 23 | 2219 | stable |
| HaxeFlixel HaxeFlixel is a free, open-source 2D game engine written in Haxe and built on top of OpenFL. It lets developers write one codebase and nati… | 77 | 2217 | stable |
| Polyscope Polyscope is a lightweight C++/Python library and interactive viewer for 3D data such as surface meshes and point clouds. It lets you regis… | 76 | 2210 | active |
| WebODM/OpenSplat OpenSplat is a free, open-source C++ implementation of 3D gaussian splatting that turns camera poses and sparse points into splat scene fil… | 91 | 2205 | active |
| JetBrains/skiko Skiko is a Kotlin Multiplatform library that exposes the Skia graphics library APIs to Kotlin, along with rendering context and window mana… | 95 | 2192 | active |
| Shaderc Shaderc is a collection of tools, libraries, and tests for compiling GLSL and HLSL shaders to SPIR-V for Vulkan. It includes glslc, a GCC/C… | 76 | 2192 | stable |
| MetalPetal/MetalPetal MetalPetal is a GPU-accelerated image and video processing framework built on Apple's Metal API. It provides an image/filter/render pipelin… | 23 | 2188 | active |
| pixiv/three-vrm A Three.js plugin library by pixiv that adds VRM 3D avatar model support to GLTFLoader. It enables loading, rendering, and manipulating VRM… | 92 | 2184 | active |
| tylermorganwall/rayshader rayshader is an open-source R package for producing 2D and 3D data visualizations, best known for generating stunning hillshaded and raytra… | 76 | 2180 | active |
| gelstudios/gitfiti gitfiti is a Python CLI tool that draws pixel art on your GitHub contribution calendar by generating backdated git commits. It produces a b… | 32 | 8450 | maintenance |
| gongminmin/KlayGE KlayGE is a cross-platform, open-source 3D game engine with a plugin-based architecture, developed in C++ since 2003. It aims to bring cutt… | 61 | 2175 | active |
| zombieyang/sd-ppp SD-PPP is an open-source Photoshop plugin (built on Adobe UXP) that integrates AI image generation platforms like ComfyUI, Replicate, and R… | 61 | 2172 | active |
| muskie82/MonoGS MonoGS is a dense SLAM system that applies 3D Gaussian Splatting to monocular, stereo, and RGB-D camera tracking and mapping, presented at … | 26 | 2164 | active |
| microsoft/DirectXTex DirectXTex is a shared-source C++ library from Microsoft for reading and writing DDS files and performing texture content processing such a… | 83 | 2161 | stable |
| JasonMa0012/JTRP JTRP is a Unity HDRP-based toon shading (cel shading / NPR) render pipeline toolkit supporting DX12 ray tracing, built as a second developm… | 23 | 2161 | active |
| Spu7Nix/obamify obamify is a Rust desktop and web application that transforms any image into a morphing animation of Barack Obama using pixel assignment al… | 47 | 2160 | active |