# pixieditor/pixieditor

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pixieditor-pixieditor).**

7,840 stars · 317 forks · C# · LGPL-3.0

## Links

- GitHub: https://github.com/PixiEditor/PixiEditor
- Homepage: https://pixieditor.net
- awesome-repositories: https://awesome-repositories.com/repository/pixieditor-pixieditor.md

## Topics

`2d` `avaloniaui` `csharp` `dotnet-core` `dotnetcore` `editor` `game-development` `graphics` `graphics-editor` `linux-desktop` `painting` `pixel-art` `pixi` `procedural-drawing` `procedural-generation` `raster-graphics` `sprites` `tabs` `vector-graphics`

## Description

PixiEditor is a multi-functional graphics suite that serves as a pixel art editor, a node-based graphics editor, and a vector graphics tool. It functions as a shader-based painting tool and 2D animation software, providing a comprehensive environment for creating raster images and frame-by-frame motion.

The project is distinguished by its use of node-based workflows for building complex image transformations, visual effects, and custom digital brush designs. It utilizes a shader-based brush engine and a node graph to define personalized painting tool behaviors and procedural animations.

The application covers a wide range of capabilities including 2D animation production with onion skinning, vector graphic illustration with boolean shape operations, and extensive image processing through GPU-accelerated modifications. It also provides comprehensive color management, layer blending, and a mathematical node graph for visual composition.

## Tags

### Graphics & Multimedia

- [2D Animation Production](https://awesome-repositories.com/f/graphics-multimedia/2d-animation-production.md) — Provides a comprehensive environment for creating frame-by-frame and procedural 2D animations.
- [Node-Based Image Processing](https://awesome-repositories.com/f/graphics-multimedia/node-based-image-processing.md) — Features a core visual graph of nodes to chain complex image generation and manipulation operations.
- [Pixel Art Editors](https://awesome-repositories.com/f/graphics-multimedia/pixel-art-editors.md) — Provides a comprehensive pixel art editor for designing and editing low-resolution digital art with pixel-perfect precision.
- [2D Animation Software](https://awesome-repositories.com/f/graphics-multimedia/2d-animation-software.md) — Functions as a comprehensive tool for creating frame-by-frame and procedural animations.
- [Boolean Path Operations](https://awesome-repositories.com/f/graphics-multimedia/boolean-path-operations.md) — Implements geometric boolean operations like union and subtraction to create complex vector shapes. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/shapes/bool-operation/))
- [Canvas Surface Generation](https://awesome-repositories.com/f/graphics-multimedia/canvas-surface-generation.md) — Creates new image surfaces with specified widths and heights to serve as drawing bases. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/image/create-image/))
- [Custom Shader Programming](https://awesome-repositories.com/f/graphics-multimedia/custom-shader-programming.md) — Supports the development of custom visual effects using a shader language with custom variables and timing. ([source](https://pixieditor.net/docs/usage/node-graph/mini-sksl-guide/))
- [Final Output Definition](https://awesome-repositories.com/f/graphics-multimedia/final-output-definition.md) — Determines the final image result from the node graph for viewports, exports, and previews. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/misc/output/))
- [Rectangular Primitives](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing/rectangular-primitives.md) — Creates vector-based rectangular shapes within a node graph to define pixel art boundaries. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/shapes/rectangle/))
- [Vector Graphics Editors](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/vector-graphics-editors.md) — Includes a vector graphics tool for drawing and manipulating precise geometric shapes and paths.
- [Brush Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines.md) — Implements a brush engine that uses custom shaders and stamps to generate raster strokes on the canvas.
- [Node-Based Brush Configuration](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines/node-based-brush-configuration.md) — Provides a visual graph system for defining the behavioral and visual properties of painting brushes. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/brushes/brush-output/))
- [Custom Digital Brush Design](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines/node-based-brush-configuration/custom-digital-brush-design.md) — Enables the creation of personalized painting tools by defining shapes and behaviors through shaders and node workflows.
- [Linear Vector Construction](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/vector-graphics-editors/linear-vector-construction.md) — Creates precise linear vector shapes within a node-based graph. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/shapes/line/))
- [Vector Rasterizers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/vector-rendering-pipelines/vector-graphics-renderers/vector-rasterizers.md) — Converts mathematical vector definitions into pixel grids by painting them directly onto the canvas. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/shapes/rasterize-shape/))
- [Frame-Based Animation Engines](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/image-sequence-processors/animation-frame-sequencers/canvas-frame-animations/frame-based-animation-engines.md) — Implements a frame-based engine to produce sequential images and animated sequences for pixel art. ([source](https://pixieditor.net/docs))
- [Node-Based Graphics Editors](https://awesome-repositories.com/f/graphics-multimedia/node-based-graphics-editors.md) — Provides a visual programming interface for building complex image transformations and effects using connected nodes.
- [Node-Based Visual Effects](https://awesome-repositories.com/f/graphics-multimedia/node-based-visual-effects.md) — Builds complex image transformations and filters by connecting functional blocks in a node graph.
- [Procedural Animations](https://awesome-repositories.com/f/graphics-multimedia/procedural-animations.md) — Automates visual effects like opacity and rotation by defining transformations within a node graph. ([source](https://pixieditor.net/docs/usage/animating/getting-started/))
- [Shader-Based Painting Tools](https://awesome-repositories.com/f/graphics-multimedia/shader-based-painting-tools.md) — Implements a shader-based brush engine and node graph to create personalized painting tool behaviors.
- [Vector Path Simplifications](https://awesome-repositories.com/f/graphics-multimedia/vector-path-simplifications.md) — Reduces vector path complexity by removing redundant points closer than a specified minimum distance. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/shapes/remove-close-points/))
- [Visual Effects Composition](https://awesome-repositories.com/f/graphics-multimedia/visual-effects-composition.md) — Combines functional blocks, layers, and filters through a node graph to create complex scenes and animations. ([source](https://pixieditor.net/docs/usage/node-graph/getting-started-with-node-graph/))
- [Visual Effects Engines](https://awesome-repositories.com/f/graphics-multimedia/visual-effects-engines.md) — Provides a comprehensive engine for building and applying complex visual transformations and filters using a node graph. ([source](https://pixieditor.net/docs/))
- [Alpha Channel Processing](https://awesome-repositories.com/f/graphics-multimedia/alpha-channel-processing.md) — Implements channel-based processing to manipulate red, green, blue, and alpha components independently.
- [Chunked Bitmap Rendering](https://awesome-repositories.com/f/graphics-multimedia/chunked-bitmap-rendering.md) — Uses lazy segmented rendering to split large bitmaps into smaller tiles to maintain high performance. ([source](https://pixieditor.net/docs/contribution/coreguide/))
- [Color Channel Extraction](https://awesome-repositories.com/f/graphics-multimedia/color-channel-extraction.md) — Separates colors into individual red, green, blue, and alpha components for independent processing. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/color/separate-color/))
- [Color Channel Merging](https://awesome-repositories.com/f/graphics-multimedia/color-channel-merging.md) — Combines separate red, green, blue, and alpha channels into a single image output. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/image/combine-channels/))
- [Document Metadata Access](https://awesome-repositories.com/f/graphics-multimedia/document-metadata-access.md) — Allows node-based workflows to use document properties and render dimensions to drive procedural effects. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/misc/document-info/))
- [Graph Variable Definition](https://awesome-repositories.com/f/graphics-multimedia/graph-variable-definition.md) — Provides a centralized system to define variables and constants used across the visual node-based workflow. ([source](https://pixieditor.net/docs/usage/node-graph/blackboard/))
- [Gradient Generators](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/colors/gradient-generators.md) — Creates paintable gradients by defining blend types, color stops, and positional offsets. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/color/gradient/))
- [2D Image Transformations](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/coordinate-viewport-transformations/matrix-transformation-engines/2d-image-transformations.md) — Uses mathematical matrices for scaling and translating 2D image planes efficiently.
- [Color Matrix Transformations](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/coordinate-viewport-transformations/matrix-transformation-engines/color-matrix-transformations.md) — Applies RGBA color matrix transformations to adjust brightness, contrast, saturation, and hue of pixels. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/filters/color-matrix-filter/))
- [Brush Library Management](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines/brush-library-management.md) — Allows users to create, duplicate, and organize brush stroke patterns using tags and search filters. ([source](https://pixieditor.net/docs/usage/brushes/getting-started/))
- [Context-Aware Brushes](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines/context-aware-brushes.md) — Implements brushes that sample canvas pixels and apply real-time filters for dynamic painting effects. ([source](https://pixieditor.net/docs/usage/brushes/advanced-brush/))
- [Custom Brush Definitions](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines/custom-brush-definitions.md) — Allows the creation of new drawing tools and toolsets through external configuration files. ([source](https://pixieditor.net/docs/usage/brushes/brush-tools/))
- [Brush Parameter Mapping](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines/node-based-brush-configuration/brush-parameter-mapping.md) — Maps internal brush parameters to the application toolbar for adjustment without opening the node editor. ([source](https://pixieditor.net/docs/usage/brushes/advanced-brush/))
- [Stroke Metadata](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/brush-engines/stroke-metadata.md) — Exposes real-time drawing data like width and coordinates to drive dynamic brush behavior. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/brushes/stroke-info/))
- [Image Translation](https://awesome-repositories.com/f/graphics-multimedia/image-translation.md) — Allows precise positioning of images by applying translation matrices and combining offsets. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/matrix/offset/))
- [Matrix Transformation Chains](https://awesome-repositories.com/f/graphics-multimedia/matrix-transformation-chains.md) — Uses matrix transformation chains to combine multiple geometric operations into composite visual effects. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/matrix/compose-matrix/))
- [Onion Skinning](https://awesome-repositories.com/f/graphics-multimedia/onion-skinning.md) — Displays previous and subsequent frames to guide the drawing of the current cel. ([source](https://pixieditor.net/docs/usage/animating/getting-started/))
- [PorterDuff Blending Modes](https://awesome-repositories.com/f/graphics-multimedia/porterduff-blending-modes.md) — Combines layer colors using mathematical blending rules and PorterDuff compositing to create lighting effects. ([source](https://pixieditor.net/docs/usage/layers/blend-modes/))
- [Procedural Noise Textures](https://awesome-repositories.com/f/graphics-multimedia/procedural-noise-textures.md) — Creates noise-based image patterns with configurable parameters to produce random or structured textures. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/image/noise/))
- [Render Output Configuration](https://awesome-repositories.com/f/graphics-multimedia/render-output-configuration.md) — Creates named image outputs with specific resolutions to generate multiple versions of a project. ([source](https://pixieditor.net/docs/usage/node-graph/custom-workspaces/))
- [Viewport Routing](https://awesome-repositories.com/f/graphics-multimedia/viewport-routing.md) — Directs node graph outputs to specific viewports to control what is displayed in the scene. ([source](https://pixieditor.net/docs/usage/node-graph/getting-started-with-node-graph/))
- [Workspace Configurations](https://awesome-repositories.com/f/graphics-multimedia/workspace-configurations.md) — Provides presets for arranging viewports and editor setups to optimize various art creation workflows. ([source](https://pixieditor.net/docs/usage/node-graph/custom-workspaces/))

### Data & Databases

- [State History Tracking](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-operations/sql-query-execution/history-tracking/variable-state-tracking/temporal-state-tracking/state-history-tracking.md) — Tracks document modifications in a linear pipeline to support undo and redo operations. ([source](https://pixieditor.net/docs/contribution/coreguide/))
- [Pixel-Perfect Primitives](https://awesome-repositories.com/f/data-databases/vector-search/vector-magnitude-calculators/vector-magnitude-calculators/spatial-geometry-calculators/minimum-enclosing-circles/ellipse-and-circle-drawing/pixel-perfect-primitives.md) — Generates precise ellipse shapes optimized for pixel-perfect rendering on the canvas. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/shapes/pixel-perfect-ellipse/))
- [Primitive Generation](https://awesome-repositories.com/f/data-databases/vector-search/vector-magnitude-calculators/vector-magnitude-calculators/spatial-geometry-calculators/minimum-enclosing-circles/ellipse-and-circle-drawing/primitive-generation.md) — Generates circular and oval vector shapes based on center points and radii. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/shapes/ellipse/))

### User Interface & Experience

- [Timeline and Sequence Management](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/timeline-sequence-management.md) — Provides utilities for scheduling, timing, and organizing cels across multiple layers within an animation sequence. ([source](https://pixieditor.net/docs/usage/animating/getting-started/))
- [Animation Timelines](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/timeline-sequence-management/animation-timelines.md) — Includes a timeline for orchestrating and managing the sequential execution of animation events and frame timing. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/animation/time/))
- [Color Selection Components](https://awesome-repositories.com/f/user-interface-experience/color-selection-components.md) — Provides interactive hue sliders, RGB/HSV fields, and hex inputs for precise color selection. ([source](https://pixieditor.net/docs/color-picker/))
- [Pointer Tracking Utilities](https://awesome-repositories.com/f/user-interface-experience/pointer-tracking-utilities.md) — Captures real-time position, pressure, tilt, and rotation of the pointer to drive interactive painting tools. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/inputs/pointer-info/))
- [Animation Easing Functions](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/animation-easing-functions.md) — Provides mathematical functions to control the acceleration and deceleration of animated property transitions for natural motion. ([source](https://pixieditor.net/docs/usage/animating/procedural/))
- [Frame Duration Controls](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/playback-lifecycle-controllers/animation-duration-controllers/frame-duration-controls.md) — Allows users to set the visibility length of specific animation cells by adjusting their boundaries on the timeline. ([source](https://pixieditor.net/docs/usage/animating/frame-by-frame/))
- [Color Component Converters](https://awesome-repositories.com/f/user-interface-experience/color-selection-components/color-component-converters.md) — Provides utilities for constructing single color values from individual numerical RGBA channels. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/color/combine-color/))
- [Visual Color Pickers](https://awesome-repositories.com/f/user-interface-experience/color-selection-components/visual-color-pickers.md) — Ships an interactive visual color picker component for selecting colors from a swatch or panel. ([source](https://pixieditor.net/docs/color-picker-wpf/))
- [Color Blending](https://awesome-repositories.com/f/user-interface-experience/color-spaces/color-blending.md) — Calculates linear blends between two colors based on a time factor for smooth transitions. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/color/lerp-color/))
- [Bitmap Pixel Masks](https://awesome-repositories.com/f/user-interface-experience/element-masks/stencil-masks/canvas-area-masks/bitmap-pixel-masks.md) — Controls pixel visibility by using bitmap masks to define visible and hidden areas of a layer. ([source](https://pixieditor.net/docs/usage/layers/masking/))
- [Palette Reduction](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/design-utilities/design-systems/color-system-utilities/color-palette-management/palette-reduction.md) — Decreases the total number of unique colors in an image to create a stylized aesthetic. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/effects/posterization/))
- [Markup-Based Interface Layouts](https://awesome-repositories.com/f/user-interface-experience/user-interface-design/markup-based-interface-layouts.md) — Uses markup-based files and data bindings to define and synchronize interface layouts with application logic. ([source](https://pixieditor.net/docs/contribution/uiguide/))

### Part of an Awesome List

- [Node Graph Organization](https://awesome-repositories.com/f/awesome-lists/productivity/task-and-project-management/visual-workflow-organization/node-graph-organization.md) — Provides structural organization of visual elements through a node-based graph for easier manipulation. ([source](https://pixieditor.net/docs))

### Development Tools & Productivity

- [Undo-Redo State History](https://awesome-repositories.com/f/development-tools-productivity/change-tracking/state-tracking-utilities/action-based-state-tracking/undo-redo-state-history.md) — Tracks a sequence of document state transitions to support reversing and reapplying changes via undo and redo.

### DevOps & Infrastructure

- [GPU Accelerated Image Operators](https://awesome-repositories.com/f/devops-infrastructure/gpu-acceleration-libraries/gpu-accelerated-image-operators.md) — Utilizes GPU acceleration to perform complex image modifications by sampling colors and applying logic. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/image/begin-modify-image/))

### Scientific & Mathematical Computing

- [Arithmetic Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/arithmetic-number-types/arithmetic-operations.md) — Provides basic arithmetic operations for performing mathematical calculations on numerical data within node graphs. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/numbers/math/))
- [Vector Component Construction](https://awesome-repositories.com/f/scientific-mathematical-computing/vector-component-construction.md) — Constructs two-dimensional vectors by combining individual X and Y numeric components within the node graph. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/numbers/combine-vecd/))

### Software Engineering & Architecture

- [Blackboard Patterns](https://awesome-repositories.com/f/software-engineering-architecture/blackboard-patterns.md) — Implements a blackboard pattern allowing node graphs to access and share global state variables. ([source](https://pixieditor.net/docs/usage/node-graph/nodes/misc/blackboard-variable-value/))
- [Timeline State Managers](https://awesome-repositories.com/f/software-engineering-architecture/timeline-state-managers.md) — Manages a playback sequence to sync the current frame and normalized time for dynamic visual changes.
