Cross-Platform 2D Graphics for .NET
SkiaSharp brings Google's powerful Skia graphics engine to .NET. Draw vector graphics, render text, process images, and build beautiful UIs — everywhere .NET runs.
dotnet add package SkiaSharp
Start fast
Hello Canvas in a few lines
The API feels like idiomatic C#: create a bitmap, get a canvas, choose a paint, and start drawing.
canvas.DrawCircle(200, 150, 70, new SKPaint {
Shader = SKShader.CreateLinearGradient(
new SKPoint(140, 80), new SKPoint(260, 220),
[0xFF60A5FA, 0xFF8B5CF6], SKShaderTileMode.Clamp),
IsAntialias = true
});
using var path = new SKPath();
path.MoveTo(110, 190);
path.CubicTo(150, 140, 200, 210, 290, 170);
canvas.DrawPath(path, new SKPaint {
Color = 0xFF1D4ED8,
StrokeWidth = 6,
Style = SKPaintStyle.Stroke,
StrokeCap = SKStrokeCap.Round,
IsAntialias = true
});
#!/usr/bin/env dotnet
#:property PublishAot=false
#:package SkiaSharp@*
using SkiaSharp;
// Create an SVG canvas and save to a file
var bounds = new SKRect(0, 0, 400, 300);
using var stream = File.Create("hello-skiasharp.svg");
using var canvas = SKSvgCanvas.Create(bounds, stream);
// Orb
canvas.DrawCircle(200, 150, 70, new SKPaint {
Shader = SKShader.CreateLinearGradient(
new SKPoint(140, 80), new SKPoint(260, 220),
[0xFF60A5FA, 0xFF8B5CF6], SKShaderTileMode.Clamp),
IsAntialias = true
});
// Curve
using var path = new SKPath();
path.MoveTo(110, 190);
path.CubicTo(150, 140, 200, 210, 290, 170);
canvas.DrawPath(path, new SKPaint {
Color = 0xFF1D4ED8,
StrokeWidth = 6,
Style = SKPaintStyle.Stroke,
StrokeCap = SKStrokeCap.Round,
IsAntialias = true
});
HelloSvg.cs, then run dotnet HelloSvg.csExplore visually
Interactive Gallery
Rich, interactive sample galleries that let you explore SkiaSharp's capabilities directly — with more experiences on the way.
- Image Processing
- Text & Typography
- Shaders & Effects
- PDF & Export
- Paths & Curves
- Transforms & Animation
- Clipping & Masking
- Geometry & Mesh
Blazor WebAssembly Gallery
Browse the live sample gallery and try SkiaSharp directly in your browser with no install required.
Open gallery →Uno Platform WebAssembly Gallery
The same samples running on Uno Platform for WebAssembly — a cross-platform alternative in the browser.
.NET MAUI Native Gallery
Run samples natively on iOS, Android, Mac Catalyst, and Windows through .NET MAUI.
Uno Platform Native Gallery
The same samples running natively on desktop and mobile via Uno Platform's cross-platform runtime.
More coming soon
This section will grow as we add more interactive gallery experiences over time.
Why teams choose it
Why SkiaSharp?
A fast, familiar graphics stack for .NET apps on desktop, mobile, server, and web.
- Android
- iOS
- Linux
- Mac Catalyst
- macOS
- Tizen
- tvOS
- WebAssembly
- Windows
- .NET MAUI
- Blazor
- Console
- Uno Platform
- WinUI 3
Cross-Platform
Windows, macOS, Linux, iOS, Android, WebAssembly — one API, every platform.
Hardware Accelerated
Powered by Google's Skia engine, the same graphics library behind Chrome and Android.
.NET Native
First-class C# API with idiomatic patterns. Works with .NET MAUI, Blazor, Console apps, and more.
Rich Feature Set
Vector drawing, text rendering, image processing, shaders, blend modes, SVG path data, and beyond.
Open Source
MIT licensed and community-driven. Contribute, fork, or build on top of a proven foundation.
GPU & CPU Rendering
Choose software rasterization or GPU backends like OpenGL, Metal, and Vulkan per target.
Pixel-Perfect Output
Consistent rendering across every platform — what you draw on one device looks the same on all.
NuGet-First
Drop in via NuGet with native binaries auto-resolved per platform. No manual setup required.
Learn and build
Documentation, APIs, and source
When you are ready to go deeper, the guides, reference docs, and repo are one click away.
Documentation
Learn SkiaSharp with step-by-step tutorials covering drawing, paths, transforms, bitmaps, effects, and more.
Browse guides →API Reference
Browse the complete SkiaSharp API reference on Microsoft Learn. Every class, method, and property documented.
View on Microsoft Learn ↗Source Code
Contribute, report issues, or explore the source. SkiaSharp is open-source under the MIT license.
View on GitHub ↗SkiaSharp for Blazor
Use SkiaSharp in Blazor WebAssembly and Server apps with the SkiaSharp.Views.Blazor package.
View on Microsoft Learn ↗SkiaSharp for .NET MAUI
Build cross-platform native apps with SkiaSharp views and controls for .NET MAUI on iOS, Android, Mac, and Windows.
View on Microsoft Learn ↗SkiaSharp for Uno Platform
Integrate SkiaSharp into Uno Platform apps targeting WebAssembly, desktop, iOS, Android, and more.
View on Uno Platform ↗