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 |
|---|---|---|---|
| yousifamanuel/terraink Terraink is an open-source web application for creating customizable cartographic map posters and wallpapers from OpenStreetMap data. It is… | 77 | 4149 | active |
| OpenMVS OpenMVS is an open-source C++ library for Multi-View Stereo 3D reconstruction, taking camera poses and a sparse point-cloud as input and pr… | 74 | 4149 | active |
| linebender/resvg resvg is a fast, portable SVG rendering library written entirely in safe Rust, usable as a Rust library, C library, or CLI application for … | 92 | 4144 | stable |
| lllyasviel/sd-forge-layerdiffuse A Stable Diffusion WebUI (Forge) extension implementing Layer Diffusion to generate transparent images and separate foreground/background l… | 26 | 4111 | active |
| ANGLE ANGLE (Almost Native Graphics Layer Engine) is a conformant OpenGL ES 2.0/3.x and EGL implementation that translates OpenGL ES API calls to… | 68 | 4106 | active |
| Tencent-Hunyuan/Hunyuan3D-2.1 Tencent's open-source 3D asset generation model that creates high-fidelity 3D meshes with production-ready PBR materials from single images… | 37 | 4096 | active |
| PintaProject/Pinta Pinta is a free, open-source painting and image editing program inspired by Paint.NET 3.0, built with GTK and C#/.NET. It offers drawing to… | 85 | 4089 | active |
| Dimezis/BlurView An Android library providing a BlurView, a FrameLayout-like view that dynamically blurs its underlying content in an iOS-like fashion and r… | 76 | 4066 | active |
| CedricGuillemet/ImGuizmo A collection of Dear ImGui widgets for 3D manipulation, including gizmos for matrix editing (rotation, translation, scale), a view orientat… | 86 | 4040 | active |
| inkscape/inkscape Inkscape is a free and open-source professional vector graphics editor that uses the W3C open standard SVG as its native format. It runs on… | 32 | 4033 | stable |
| hustvl/4DGaussians An official PyTorch implementation of 4D Gaussian Splatting (4D-GS) for real-time rendering of dynamic scenes, published at CVPR 2024. It c… | 28 | 3978 | active |
| Mapnik Mapnik is an open-source C++ toolkit for developing mapping applications, providing algorithms and patterns for spatial data access and hig… | 93 | 3971 | active |
| Voxel Tools for Godot A C++ module and GDExtension for Godot Engine that adds voxel terrain support, including blocky and smooth volumetric terrains with meshing… | 96 | 3921 | active |
| wave-harmonic/crest Crest Water 4 is an advanced, class-leading water and ocean rendering system for Unity, implemented in C# with GPU displacement and samplin… | 68 | 3909 | active |
| Terasology Terasology is an open-source voxel world game and engine, born from a Minecraft-inspired tech demo in 2011. It is a modular platform suppor… | 66 | 3897 | active |
| servo/pathfinder Pathfinder 3 is a fast GPU-based rasterizer for fonts and vector graphics, usable from Rust or C/C++ via a canvas-like API. It supports Ope… | 54 | 3896 | active |
| silvia-odwyer/photon Photon is a high-performance image processing library written in pure Rust that compiles to WebAssembly. It provides over 90 functions for … | 75 | 3895 | active |
| nem0/LumixEngine Lumix Engine is an open-source 3D game engine written in C++ with a built-in editor and entity-component-system architecture. It uses data-… | 68 | 3895 | active |
| tinyobjloader/tinyobjloader A tiny, dependency-free Wavefront .obj/.mtl parser available as a single-header C++11 library and a pure C11 implementation with polygon te… | 59 | 3893 | active |
| rh12503/triangula Triangula is a Go application that generates triangulated and polygonal art from images using a modified genetic algorithm. It ships as a d… | 52 | 3874 | active |
| Iris Iris is an open-source shaders mod for Minecraft: Java Edition that loads OptiFine-compatible shader packs with good performance and mod co… | 68 | 3871 | active |
| ComfyUI-3D-Pack An extensive ComfyUI custom node suite for processing 3D inputs like meshes and UV textures using algorithms such as 3D Gaussian Splatting … | 47 | 3871 | active |
| amzeratul/halley Halley is a lightweight, code-first game engine written in modern C++17, featuring a true entity-component-system architecture, modern grap… | 77 | 3866 | active |
| pyvista/pyvista PyVista is a Python library providing a NumPy-native interface to VTK for 3D visualization and mesh analysis. It offers dataset structures … | 100 | 3856 | stable |
| Rezmason/matrix A web-based recreation of the Matrix digital rain effect built with WebGL and regl. It offers many visual variants, palettes, and customiza… | 41 | 3852 | active |
| MrNeRF/LichtFeld-Studio LichtFeld Studio is a native open-source desktop application for 3D Gaussian Splatting that combines training, real-time inspection, splat … | 96 | 3849 | active |
| canvg/canvg canvg is a JavaScript library that parses SVG files (from URL or text) and renders them onto HTML Canvas, including animation support. It c… | 78 | 3836 | active |
| thi-ng/umbrella thi.ng/umbrella is a broadly scoped monorepo of 215 composable TypeScript libraries (plus ~185 examples) for functional, data-driven develo… | 74 | 3830 | active |
| XCharts XCharts is a powerful, easy-to-use charting and data visualization library for Unity built on UGUI. It supports over a dozen built-in chart… | 77 | 3789 | active |
| Codennnn/vue-color-avatar A purely frontend vector-style avatar generator web app built with Vue 3 and Vite, letting users mix material components to create personal… | 44 | 3769 | active |
| spite/ccapture.js A JavaScript library that captures canvas-based animations at a fixed framerate by replacing the browser's clock with a virtual one, produc… | 78 | 3766 | active |
| TresJS TresJS is a declarative Vue 3 library that renders Three.js scenes using Vue components via a custom renderer. It lets Vue developers build… | 93 | 3746 | active |
| ferdous-alam/GenCAD GenCAD is a research codebase for image-conditioned CAD model generation using transformer-based contrastive representations (CCIP) and dif… | 33 | 3744 | active |
| xNode xNode is a Unity framework for building and editing node-based graphs directly inside the Unity editor. It provides a lightweight runtime w… | 23 | 3744 | stable |
| DLR-RM/BlenderProc BlenderProc is a procedural Python pipeline built on Blender for generating photorealistic synthetic training images with ground-truth anno… | 59 | 3740 | active |
| Online 3D Viewer Online 3D Viewer is a free, open-source web application and JavaScript library for visualizing and exploring 3D models directly in the brow… | 67 | 3728 | active |
| mmp/pbrt-v4 pbrt-v4 is the C++ physically based ray tracing system accompanying the fourth edition of the book 'Physically Based Rendering: From Theory… | 74 | 3706 | stable |
| jeromeetienne/AR.js AR.js is a lightweight JavaScript library for augmented reality on the web, supporting marker-based and location-based AR at 60fps on mobil… | 32 | 15783 | maintenance |
| Deform Deform is a fully-featured mesh deformer system for Unity that lets you stack deformer components to animate models in real time. It uses U… | 23 | 3701 | active |
| paceholder/nodeeditor QtNodes is a general-purpose C++/Qt library for building node editors with graph visualization and editing. It supports a dataflow programm… | 71 | 3699 | active |
| DioxusLabs/taffy Taffy is a high-performance, cross-platform UI layout library written in Rust that implements the CSS Flexbox, Grid, and Block layout algor… | 100 | 3685 | active |
| mikedh/trimesh Trimesh is a pure Python library for loading, manipulating, and analyzing triangular meshes with an emphasis on watertight surfaces. It pro… | 95 | 3681 | stable |
| PixelGuys/Cubyz Cubyz is a 3D voxel sandbox game inspired by Minecraft, written in Zig. It features large render distances via level-of-detail, 3D chunks w… | 88 | 3669 | active |
| microsoft/DirectXShaderCompiler Microsoft's DirectX Shader Compiler (DXC), an LLVM/Clang-based compiler that translates HLSL shader programs into DXIL bytecode for DirectX… | 95 | 3666 | active |
| Perfare/AssetStudio AssetStudio is a Windows desktop GUI tool for exploring, extracting, and exporting assets and asset bundles from Unity games and projects. … | 10 | 15599 | maintenance |
| sparkjsdev/spark Spark is an advanced 3D Gaussian Splatting renderer library for THREE.js, built in TypeScript by World Labs. It integrates with the THREE.j… | 84 | 3662 | active |
| maxwellito/vivus Vivus is a lightweight, dependency-free JavaScript library that animates SVGs to give them the appearance of being hand-drawn, using the st… | 23 | 15481 | maintenance |
| vispy/vispy VisPy is a high-performance interactive 2D/3D data visualization library for Python that leverages GPU power through OpenGL to display very… | 92 | 3602 | stable |
| KhronosGroup/glslang Khronos's reference front end for GLSL and ESSL shaders, with a deprecated partial HLSL front end, that validates shader code and generates… | 94 | 3597 | stable |
| Aloxaf/silicon Silicon is a Rust CLI tool that renders source code into beautiful, shareable images, serving as an offline alternative to the Carbon web a… | 23 | 3591 | active |
| AiuniAI/Unique3D Unique3D is the official implementation of a NeurIPS 2024 paper that generates high-quality textured 3D meshes from a single image in about… | 35 | 3589 | active |
| huxingyi/dust3d Dust3D is a free, open-source, cross-platform 3D modeling application for creating low-poly 3D models quickly. It automates UV unwrapping, … | 93 | 3587 | active |
| LGFae/swww swww (now renamed awww) is an efficient animated wallpaper daemon for Wayland, controlled at runtime via a CLI client. It supports animated… | 10 | 3584 | active |
| huxingyi/autoremesher AutoRemesher is a cross-platform automatic quad remeshing tool that converts high-polygon 3D meshes into clean quad-based topology. It is b… | 96 | 3578 | active |
| paperjs/paper.js Paper.js is an open source vector graphics scripting library that runs on top of the HTML5 Canvas, offering a Scene Graph / Document Object… | 23 | 15076 | maintenance |
| TheZoraiz/ascii-image-converter A cross-platform command-line tool written in Go that converts images (JPEG, PNG, BMP, WEBP, TIFF, GIF) into ASCII art and prints them in t… | 23 | 3545 | active |
| OpenTK OpenTK is a fast, low-level C# binding for OpenGL, OpenGL ES, OpenAL, and OpenCL, with windowing, input handling, and a linear algebra math… | 74 | 3538 | active |
| Auburn/FastNoiseLite FastNoise Lite is a highly portable noise generation library offering 2D/3D Perlin, OpenSimplex2, Cellular (Voronoi), Value, and Cubic nois… | 59 | 3527 | stable |
| GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator Vulkan Memory Allocator (VMA) is a single-header C/C++ library that simplifies memory allocation and resource creation in Vulkan. It manage… | 84 | 3525 | stable |
| Anttwo/SuGaR SuGaR is the official PyTorch implementation of a CVPR 2024 method that extracts accurate, editable meshes from 3D Gaussian Splatting recon… | 27 | 3525 | active |
| gkjohnson/three-mesh-bvh A Bounding Volume Hierarchy (BVH) acceleration library for three.js that speeds up raycasting and enables spatial queries against meshes. I… | 99 | 3513 | active |
| openseadragon/openseadragon OpenSeadragon is an open-source, web-based viewer for high-resolution zoomable images, implemented in pure JavaScript for desktop and mobil… | 91 | 3510 | stable |
| HeapsIO/heaps Heaps is a high-performance, cross-platform 2D and 3D game engine and graphics framework written in Haxe, created by the designer of the Ha… | 75 | 3509 | stable |
| cloudhead/rx rx is a modern, minimalist pixel art editor and animator written in Rust with an extensible command-driven interface. It targets pixel arti… | 23 | 3491 | active |
| Tencent-Hunyuan/Hunyuan3D-1 Tencent Hunyuan3D-1.0 is an open-source two-stage diffusion-based model for generating 3D assets from text prompts or images. It provides i… | 43 | 3489 | active |
| scrtwpns/mixbox Mixbox is a color mixing library that treats RGB colors as real paint pigments using Kubelka & Munk theory, producing natural mixtures like… | 23 | 3488 | stable |
| paper-design/shaders Paper Shaders is a collection of zero-dependency HTML canvas/WebGL shader components for websites, available as vanilla JS and React npm pa… | 65 | 3475 | active |
| nihui/waifu2x-ncnn-vulkan A portable command-line tool implementing the waifu2x anime-style image upscaler and denoiser using the ncnn inference framework with the V… | 57 | 3474 | active |
| viliusle/miniPaint miniPaint is a free, open-source online image editor that runs entirely in the browser using HTML5 canvas, with no server uploads required.… | 66 | 3467 | active |
| patriciogonzalezvivo/lygia LYGIA is a granular, multi-language shader library of reusable functions supporting GLSL, HLSL, Metal, WGSL, WESL, and CUDA. It is designed… | 73 | 3446 | active |
| mczachurski/wallpapper A Swift console application for macOS that creates dynamic wallpapers (.heic) introduced in macOS Mojave, from a JSON description and image… | 65 | 3437 | stable |
| mshumer/Claude-of-Duty A browser-based first-person shooter built with Three.js and WebGL2, generated almost entirely by AI agents from a single prompt, with all … | 52 | 3432 | active |
| gumyr/build123d build123d is a Python-based parametric boundary representation (BREP) modeling framework for 2D and 3D CAD, built on the Open Cascade geome… | 94 | 3431 | active |
| AcademySoftwareFoundation/openvdb OpenVDB is an Academy Award-winning open-source C++ library providing a hierarchical data structure and tool suite for efficiently storing … | 89 | 3427 | stable |
| nkallen/plasticity Plasticity is a desktop 3D CAD application focused on NURBS-based solid modeling for industrial and product designers, with a workflow insp… | 92 | 3398 | active |
| UniVRM UniVRM is the standard Unity implementation of the VRM 3D humanoid avatar file format, which extends glTF 2.0. It supports importing and ex… | 89 | 3392 | active |
| acidanthera/WhateverGreen WhateverGreen is a Lilu kernel extension (kext) plugin that applies various patches to ATI/AMD, Intel, and NVIDIA GPUs on macOS, primarily … | 86 | 3388 | active |
| hunar4321/particle-life A simple artificial life simulator that applies attraction and repulsion forces between many particles to produce complex self-organizing, … | 23 | 3361 | active |
| Vulkan Vulkan-Hpp provides official header-only C++ bindings for the Vulkan C API, generated from the Vulkan XML specification by Khronos. It adds… | 77 | 3353 | stable |
| Armory Armory is an open-source 3D game engine distributed as a Blender add-on, providing full Blender integration for a unified game development … | 77 | 3347 | active |
| adobe-webplatform/Snap.svg Snap.svg is a JavaScript library for creating, manipulating, and animating SVG graphics in modern browsers, written by the author of Raphaë… | 68 | 14005 | maintenance |
| threlte/threlte Threlte is a declarative, type-safe 3D framework for Svelte that wraps Three.js with reactive components. It ships as modular packages incl… | 93 | 3340 | active |
| EpicGames/BlenderTools A collection of Blender addons from Epic Games that streamline the game development workflow between Blender and Unreal Engine. It includes… | 65 | 3337 | active |
| AWTK AWTK (Toolkit AnyWhere) is an open-source cross-platform GUI engine written in C, developed by ZLG, targeting embedded systems, RTOS platfo… | 77 | 3323 | active |
| matrixcascade/PainterEngine PainterEngine is a cross-platform application/game engine written in C with a built-in software renderer, portable to any platform supporti… | 66 | 3319 | active |
| Celtoys/Remotery Remotery is a realtime CPU/GPU profiler implemented in a single C file, with a remote web-browser viewer for inspecting sampled traces. It … | 23 | 3317 | stable |
| pafuhana1213/KawaiiPhysics KawaiiPhysics is a simple pseudo-physics plugin for Unreal Engine 4 & 5 that animates secondary motion like hair, skirts, and breasts on ch… | 83 | 3313 | active |
| 2D Gaussian Splatting Official implementation of 2D Gaussian Splatting (2DGS), a SIGGRAPH 2024 method that represents scenes as 2D oriented Gaussian disks for ge… | 66 | 3312 | stable |
| storytold/artcraft ArtCraft is an open-source desktop application for interactive AI image and video creation, described as 'the IDE for artists'. It provides… | 98 | 3302 | active |
| 2Retr0/GodotOceanWaves An open-source Godot Engine addon implementing FFT-based ocean-wave rendering using inverse Fourier transforms of directional ocean-wave sp… | 30 | 3299 | active |
| Hugo-Dz/spritefusion-pixel-snapper A Rust-based tool (CLI, web app, and desktop edition) that snaps messy, off-grid AI-generated pixel art back onto a clean pixel grid and qu… | 55 | 3286 | active |
| Mesh2Motion Mesh2Motion is an open-source web application for importing 3D models (GLB/GLTF), fitting a skeleton rig to them, and automatically assigni… | 70 | 3279 | active |
| Smithay/smithay Smithay is a Rust library providing building blocks for creating Wayland compositors, implementing core Wayland protocols and common extens… | 73 | 3276 | active |
| software-mansion/TypeGPU TypeGPU is a modular TypeScript toolkit for WebGPU that provides advanced type inference and lets developers write WGSL shaders directly in… | 93 | 3267 | active |
| CGCookie/retopoflow RetopoFlow is a suite of sketch-based retopology tools for Blender that generate geometry snapping to high-poly surfaces as you draw. It's … | 81 | 3267 | active |
| orhun/ratty Ratty is a GPU-rendered terminal emulator written in Rust with Ratatui that supports inline 3D graphics alongside traditional 2D terminal r… | 77 | 3267 | active |
| jscad/OpenJSCAD.org JSCAD is a set of modular, browser-based and command-line tools for creating parametric 2D and 3D designs with JavaScript code. It generate… | 77 | 3259 | stable |
| avianphysics/avian Avian is an ECS-driven 2D and 3D physics engine built natively for the Bevy game engine in Rust. It provides rigid body dynamics, collision… | 96 | 3248 | active |
| fogleman/primitive A Go command-line tool that reproduces images using geometric primitives like triangles, ellipses, and polygons. It iteratively adds shapes… | 32 | 13514 | maintenance |
| pmndrs/uikit uikit is a library for building performant 3D user interfaces in three.js, with first-class React bindings via @react-three/uikit. It provi… | 63 | 3244 | active |