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 |
|---|---|---|---|
| openai/point-e Point-E is OpenAI's official release of models and code for generating 3D point clouds from text prompts or images using diffusion models. … | 32 | 6892 | maintenance |
| kkoomen/pointless Pointless is an endless drawing canvas desktop app built with Tauri (Rust) and React, using a pure SVG canvas. It serves as a simple whiteb… | 23 | 1829 | active |
| letoram/arcan Arcan is a development framework and multimedia engine for building everything from embedded UIs to full standalone desktop environments, s… | 71 | 1828 | active |
| Curtains.js curtains.js is a lightweight vanilla WebGL JavaScript library that converts HTML DOM elements containing images, videos, and canvases into … | 35 | 1827 | active |
| VulkanSceneGraph VulkanSceneGraph (VSG) is a modern, high-performance scene graph library built on the Vulkan graphics/compute API, written in C++17 followi… | 91 | 1820 | active |
| GPUOpen-LibrariesAndSDKs/FidelityFX-SDK AMD's FidelityFX SDK (FSR SDK) is a collection of heavily optimized GPU techniques for DirectX 12 and Vulkan applications, including super … | 74 | 1820 | active |
| Inochi2D Inochi2D is a D-language library and SDK for realtime 2D puppet animation, deforming layered 2D artwork meshes at runtime to create the ill… | 67 | 1817 | active |
| nutti/fake-bpy-module A collection of fake Blender Python API (bpy) modules that provide code completion and type hints in IDEs without requiring a Blender insta… | 79 | 1815 | active |
| microsoft/DirectXMath DirectXMath is an all-inline SIMD C++ linear algebra library for games and graphics applications, supporting SSE, AVX, and ARM NEON instruc… | 82 | 1814 | stable |
| mitsuba-renderer/nanogui NanoGUI is a minimalistic cross-platform C++/Python widget library for building GUIs rendered with OpenGL 3+, GLES 2/3, Metal, and WebGL vi… | 75 | 1814 | active |
| zju3dv/4K4D 4K4D is a research implementation of a 4D point cloud representation for real-time dynamic view synthesis at up to 4K resolution, built on … | 70 | 1814 | active |
| magjac/d3-graphviz A D3 module that renders SVG graphs from Graphviz DOT source using the @hpcc-js/wasm Graphviz port, with animated transitions between graph… | 23 | 1814 | active |
| rust-skia/rust-skia Safe Rust bindings for Google's Skia 2D graphics library, providing idiomatic Rust access to Skia's C++ API. It supports GPU rendering back… | 84 | 1813 | active |
| franciscop/ola Ola is a small JavaScript library for smoothly interpolating (tweening) numbers in real time. It supports single numbers, named multi-dimen… | 33 | 1810 | active |
| emacs-ng/emacs-ng emacs-ng is a fork of GNU Emacs that adds a native layer with Deno's JavaScript/TypeScript runtime, async I/O, threading, and Mozilla's GPU… | 78 | 1809 | active |
| s-macke/VoxelSpace A minimal implementation of the Voxel Space terrain rendering algorithm used in the 1992 game Comanche, written in C in under 20 lines of c… | 32 | 6792 | maintenance |
| pencil2d/pencil Pencil2D is a free, open-source desktop application for creating traditional 2D hand-drawn animations using both bitmap and vector graphics… | 87 | 1806 | active |
| pelicanmapping/osgearth osgEarth is a C++ SDK for adding geospatially accurate 3D maps and terrain rendering to desktop applications, built on OpenSceneGraph and G… | 82 | 1805 | active |
| leukbaars/DreamUV DreamUV is a Blender add-on providing a collection of tools for manipulating UVs directly in the 3D viewport. It is designed for texturing … | 63 | 1800 | active |
| Effekseer Effekseer is an open-source particle effect editing tool for creating visual effects, primarily aimed at game development. Effects authored… | 93 | 1797 | active |
| LovyanGFX A fast display graphics library for ESP32, ESP8266, and ATSAMD51 supporting SPI, I2C, and parallel-connected LCD/OLED/EPD panels. It offers… | 100 | 1793 | active |
| jakubfiala/atrament Atrament is a small JavaScript library for natural-feeling drawing and handwriting on the HTML Canvas, with adaptive smoothing, draw/fill/e… | 60 | 1793 | active |
| TotallyNotChase/glitch-this A Python library and command-line tool that applies customizable glitch effects to images and converts images into glitched GIFs. It offers… | 23 | 1793 | stable |
| 2swap/swaptube SwapTube is a C++ framework for programmatically rendering YouTube videos, built on FFMPEG with custom graphics code above the encoding lay… | 75 | 1787 | active |
| DTolm/VkFFT VkFFT is an open-source, GPU-accelerated multidimensional Fast Fourier Transform library supporting Vulkan, CUDA, HIP, OpenCL, Level Zero, … | 53 | 1784 | active |
| eva-engine/eva.js Eva.js is a front-end 2D game engine built on an Entity-Component-System architecture with a PixiJS-powered rendering pipeline. It ships as… | 72 | 1783 | active |
| VAST-AI-Research/UniRig UniRig is the official implementation of a SIGGRAPH 2025 framework that automatically rigs 3D models by predicting skeletons and skinning w… | 55 | 1783 | active |
| dimforge/kiss3d kiss3d is a simple 2D and 3D graphics engine for Rust built on WebGPU, designed to let users draw simple geometric figures with minimal fri… | 76 | 1782 | active |
| gre/bezier-easing A tiny JavaScript library that computes cubic-bezier easing functions, matching CSS transition-timing-function behavior. It uses fast heuri… | 99 | 1778 | stable |
| zeux/niagara A Vulkan renderer written from scratch in C++ during live-streamed development sessions, experimenting with modern Vulkan rendering techniq… | 76 | 1778 | active |
| chenjd/Render-Crowd-Of-Animated-Characters A Unity library that bakes skeletal animation data into an animation map texture and uses GPU instancing to render tens of thousands of ani… | 32 | 1777 | active |
| Totoro97/NeuS Official PyTorch implementation of NeuS, a neural implicit surface reconstruction method that learns SDF-based surfaces via volume renderin… | 32 | 1775 | stable |
| DanielChappuis/reactphysics3d ReactPhysics3D is an open-source C++ physics engine library for 3D simulations and games, providing rigid body dynamics, collision detectio… | 25 | 1775 | active |
| giventofly/pixelit Pixel It is a JavaScript library that converts images into pixel art on an HTML canvas, with configurable pixel scale, color palettes, and … | 56 | 1773 | active |
| MonoGame-Extended/Monogame-Extended MonoGame.Extended is a set of open-source C# libraries distributed via NuGet that extend MonoGame with common game development utilities. I… | 92 | 1768 | active |
| blendi-remade/sprite-sheet-creator A Next.js web application that generates 2D pixel art sprite sheets and game maps from text prompts or uploaded images using fal.ai image m… | 53 | 1767 | active |
| sp4cerat/Fast-Quadric-Mesh-Simplification A fast, memory-efficient C++ library and CLI tool implementing quadric-based edge collapse mesh simplification to reduce triangle counts in… | 32 | 1767 | stable |
| VoxelPlugin/VoxelPluginFreeLegacy Voxel Plugin Legacy is a free Unreal Engine plugin for creating and editing voxel-based terrain and worlds in C++. It supports Unreal Engin… | 69 | 1765 | active |
| microsoft/DirectXTK12 DirectX Tool Kit for DirectX 12 is a C++ library of helper classes for writing Direct3D 12 code, covering sprite rendering, effects, textur… | 83 | 1763 | stable |
| GAP-LAB-CUHK-SZ/gaustudio GauStudio is a modular PyTorch framework for 3D Gaussian Splatting (3DGS) research and development, supporting novel view synthesis, 3D rec… | 46 | 1763 | active |
| flexible-collision-library/fcl FCL is a C++ library for performing proximity queries on pairs of geometric models composed of triangles. It supports collision detection, … | 67 | 1762 | stable |
| duerrsimon/bioicons Bioicons is a free, open-source library of SVG vector icons for scientific illustrations in biology and chemistry, browsable through a web … | 67 | 1762 | active |
| TriAxis-Games/RealtimeMeshComponent An MIT-licensed Unreal Engine 5 plugin providing a high-performance component for rendering runtime-generated and runtime-modified geometry… | 80 | 1760 | active |
| kirevdokimov/Unity-UI-Rounded-Corners A Unity package providing components and shaders that add rounded corners to UGUI Image elements. It supports uniform or per-corner radii, … | 23 | 1753 | stable |
| SirRamEsq/SmartShape2D SmartShape2D is a Godot editor plugin for creating nicely textured 2D polygons and terrain by placing points and assigning shape materials.… | 80 | 1752 | active |
| Jdenticon Jdenticon is a JavaScript library for generating deterministic, highly recognizable identicon avatars from hash values, rendered via HTML5 … | 23 | 1752 | stable |
| Lopaka Lopaka is a browser-based graphics editor for designing pixel-perfect UIs for embedded displays, with code generation for libraries like U8… | 72 | 1746 | active |
| rougier/freetype-gl A small C library for rendering Unicode text in OpenGL using a single texture atlas and a single vertex buffer, built on top of FreeType. I… | 61 | 1743 | stable |
| xibyte/jsketcher JSketcher is a parametric 2D and 3D CAD modeler written in pure JavaScript/TypeScript that runs entirely in the browser with no server-side… | 54 | 1743 | active |
| MengTo/kage Kage is an interactive five-chapter night walk through a Kyoto mountain temple, rendered live in Three.js/WebGL with procedural architectur… | 53 | 1734 | stable |
| HackerPoet/NonEuclidean A non-Euclidean rendering engine for 3D scenes written in C++ with OpenGL, targeting Windows. It ships with several demo rooms that showcas… | 32 | 6459 | maintenance |
| realism-effects A collection of postprocessing effects for three.js that enhance scene realism, including screen-space global illumination (SSGI), motion b… | 32 | 1732 | active |
| kopiro/siriwave A JavaScript library that replicates the Apple Siri voice assistant wave-form animation using the Canvas API. It supports classic iOS, iOS9… | 23 | 1732 | stable |
| openstreetmap-carto/openstreetmap-carto The official CartoCSS stylesheets powering the standard OpenStreetMap.org map layer, rendered with Mapnik. It is a general-purpose, customi… | 75 | 1730 | active |
| saturday06/VRM-Addon-for-Blender A Blender add-on that adds VRM format import, export, and editing capabilities to Blender 2.93 through 5.2. It also provides a Python scrip… | 95 | 1723 | active |
| hihayk/scale Scale is a web-based generative color scale generator for creating consistent color ramps used in design systems and UI. It runs entirely i… | 32 | 1722 | stable |
| fdivitto/FabGL FabGL is a C++ graphics and input library for the ESP32, providing display drivers for VGA, PAL/NTSC composite video, and I2C/SPI LCDs, plu… | 23 | 1719 | active |
| One-2-3-45/One-2-3-45 One-2-3-45 is the official PyTorch implementation of a NeurIPS 2023 paper that converts any single image into a full 360-degree 3D textured… | 29 | 1717 | stable |
| ColorPicker ColorPickerView is an Android UI library that lets users pick colors by tapping on an HSV color wheel, custom drawable palettes, or gallery… | 86 | 1715 | stable |
| LingDong-/shan-shui-inf A browser-based application that procedurally generates infinitely-scrolling Chinese landscape paintings in SVG vector format. It uses Perl… | 32 | 6375 | maintenance |
| elFarto/nvidia-vaapi-driver A VA-API driver implementation that uses NVIDIA's NVDEC hardware decoder as its backend, written in C. It is primarily designed to enable h… | 89 | 1713 | active |
| Kitware/ParaView ParaView is an open-source, multi-platform data analysis and visualization application built on the Visualization Toolkit (VTK), with a Qt-… | 77 | 1712 | stable |
| salgum1114/react-design-editor A React library providing a canvas-based design editor built on Fabric.js and Ant Design, supporting image editing, diagram composition, an… | 93 | 1709 | active |
| mooman219/fontdue Fontdue is a pure Rust, no_std TrueType and OpenType font rasterizer and layout library focused on minimal end-to-end latency. It is design… | 77 | 1709 | stable |
| WhitestormJS/whs.js WhitestormJS is a modular, component-driven 3D framework for web applications and games, built on top of Three.js. It provides an App/modul… | 23 | 6352 | maintenance |
| tengge1/ShadowEditor Shadow Editor is a cross-platform 3D scene editor built on three.js, Golang, and MongoDB, available as a web application and desktop app vi… | 57 | 1707 | active |
| keijiro/Lasp LASP is a Unity plugin providing low-latency audio input processing, including level tracking, waveform capture, and spectrum analysis. It … | 41 | 1707 | active |
| NVlabs/InstantSplat InstantSplat is a research framework for photorealistic 3D scene reconstruction from extremely sparse image views using Gaussian Splatting,… | 30 | 1704 | active |
| mchughalex/skate3recomp An unofficial native recompilation of the Xbox 360 version of Skate 3 that runs on Windows, Linux, and macOS. Since v2.0.0 it uses a native… | 71 | 1703 | active |
| takram-design-engineering/three-geospatial A monorepo of TypeScript libraries for geospatial rendering in Three.js, including precomputed atmospheric scattering, volumetric clouds, G… | 71 | 1700 | active |
| amethyst/bracket-lib bracket-lib (formerly RLTK) is a Rust toolkit for building roguelike and retro-style games, providing terminal-style CP437 rendering, color… | 44 | 1695 | active |
| GreycLab/CImg CImg is a small, open-source, header-only C++ template library for image processing. It provides a single image class supporting up to 4-di… | 77 | 1694 | stable |
| s0xDk/ghostty-blackhole A Ghostty custom shader (GLSL) plus a Python script that renders a physically ray-traced black hole inside the terminal. The hole grows in … | 49 | 1694 | active |
| sedthh/pyxelate Pyxelate is a Python library and CLI tool that converts images into 8-bit pixel art by downsampling and learning a reduced color palette. I… | 47 | 1694 | active |
| dgreenheck/ez-tree EZ-Tree is a procedural tree generator library for JavaScript and Three.js with dozens of tunable parameters, plus a standalone web app for… | 71 | 1693 | active |
| go-gl/glfw Go bindings for the GLFW 3.4 C library, providing window, OpenGL/Vulkan context, and input handling for desktop applications and games. The… | 73 | 1689 | active |
| dnfield/flutter_svg A Dart/Flutter library that parses SVG files and renders them as Flutter widgets. Originally created by Dan Field, it is now maintained by … | 23 | 1689 | active |
| stefanhaustein/TerminalImageViewer Terminal Image Viewer (tiv) is a small C++ command-line program that displays images directly in modern terminals using RGB ANSI codes and … | 64 | 1685 | active |
| wjakob/instant-meshes Instant Meshes is an interactive field-aligned mesh generator that remeshes 3D geometry into quad or triangle meshes, based on a SIGGRAPH A… | 32 | 6237 | maintenance |
| unity3d-jp/MeshSync MeshSync is a Unity package that synchronizes mesh and model edits made in DCC tools (like Blender or Maya) into Unity in real time via com… | 23 | 1680 | active |
| asny/three-d three-d is a Rust library providing an OpenGL/WebGL/OpenGL ES renderer for drawing 2D and 3D graphics across desktop, web, and mobile platf… | 59 | 1677 | active |
| dgmjs/dgmjs DGM.js is a TypeScript library providing an infinite canvas with programmable 'smart shapes' for building diagramming, whiteboarding, and s… | 76 | 1673 | active |
| huggingface/gsplat.js gsplat.js is an open-source JavaScript/TypeScript library for 3D Gaussian Splatting, offering scene, camera, loader, and WebGL renderer com… | 73 | 1670 | active |
| oakmound/oak Oak is a pure Go 2D game engine providing rendering, particles, collision, physics, audio, input, and event systems without external depend… | 62 | 1669 | active |
| libfive/libfive libfive is a C++ framework and geometry kernel for solid modeling using functional representations (f-reps), with a C API, Scheme and Pytho… | 77 | 1668 | active |
| vinhhien112/img2obj img2obj is a Codex plugin that turns an attached object image into a code-only, animation-ready procedural Three.js model. It guides the AI… | 53 | 1668 | active |
| linebender/tiny-skia tiny-skia is a minimal, CPU-only 2D rendering library for Rust, ported from a subset of Google's Skia. It supports common 2D operations lik… | 73 | 1664 | active |
| KhronosGroup/glTF-Blender-IO The official Khronos Group glTF 2.0 importer and exporter addon for Blender, written in Python. It enables round-trip conversion of 3D scen… | 68 | 1664 | active |
| Stability-AI/stable-virtual-camera Stable Virtual Camera (SEVA) is a generalist diffusion model for novel view synthesis that generates 3D-consistent views of a scene from an… | 51 | 1664 | active |
| poiyomi/PoiyomiToonShader Poiyomi Toon Shader is a feature-rich, open-source toon shader suite for Unity's Built-In Rendering Pipeline, primarily targeting VRChat av… | 96 | 1661 | active |
| google/grafika Grafika is a Google-maintained Android test app that serves as a collection of graphics and media hacks exercising Android's graphics and m… | 10 | 6145 | maintenance |
| arkypita/LaserGRBL LaserGRBL is a free, open-source Windows GUI for controlling GRBL-based laser cutters and engravers. It converts images (raster, vector, SV… | 37 | 1660 | active |
| dromara/yft-design yft-design is an open-source online design tool built with Vue3, fabric.js, and Element Plus, offering canvas-based poster design and image… | 71 | 1658 | active |
| pnggroup/libpng libpng is the official reference C library for reading, creating, and manipulating PNG (Portable Network Graphics) raster image files. It h… | 76 | 1657 | stable |
| LiangliangNan/Easy3D Easy3D is a lightweight C++ library (with Python bindings) for processing and rendering 3D data such as point clouds, polygonal surface mes… | 75 | 1657 | active |
| gaea-godot/gaea Gaea is a procedural generation add-on for Godot 4 that uses a node-based graph system to build customizable generation pipelines for 2D an… | 71 | 1653 | active |
| NVIDIAGameWorks/rtx-remix NVIDIA RTX Remix is an open-source platform for remastering classic DirectX 8/9 games with RTX path tracing, DLSS, and AI-upgraded textures… | 75 | 1652 | active |
| jakobhellermann/bevy-inspector-egui A Bevy plugin that renders inspector UIs (via egui) for entities, resources, and assets using Bevy's reflection system. It offers drop-in q… | 77 | 1647 | active |
| Uriopass/Egregoria Egregoria is an open-source 3D city-building game written in Rust with wgpu, inspired by Cities: Skylines but without a grid. It emphasizes… | 30 | 1647 | active |
| georgealways/lil-gui lil-gui is a lightweight, dependency-free JavaScript library that renders a floating panel of controllers (sliders, checkboxes, color picke… | 49 | 1646 | stable |