Back to Skiasharp

Cross-Platform 2D Graphics for .NET

documentation/site/index.html

3.119.45.7 KB
Original Source

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.

Get StartedInstall via NuGet

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.

HelloSvg.csCopy

csharp
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
});
csharp
#!/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
});

See full code

Copy & save as HelloSvg.cs, then run dotnet HelloSvg.cs

Explore visually

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

[ Available now

Browse the live sample gallery and try SkiaSharp directly in your browser with no install required.

Open gallery → ](gallery/)

Coming later

The same samples running on Uno Platform for WebAssembly — a cross-platform alternative in the browser.

Coming later

Run samples natively on iOS, Android, Mac Catalyst, and Windows through .NET MAUI.

Coming later

The same samples running natively on desktop and mobile via Uno Platform's cross-platform runtime.

Coming later

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 → ](docs/)[

API Reference

Browse the complete SkiaSharp API reference on Microsoft Learn. Every class, method, and property documented.

View on Microsoft Learn ↗ ](https://learn.microsoft.com/dotnet/api/skiasharp)[

Source Code

Contribute, report issues, or explore the source. SkiaSharp is open-source under the MIT license.

View on GitHub ↗ ](https://github.com/mono/SkiaSharp)

[

SkiaSharp for Blazor

Use SkiaSharp in Blazor WebAssembly and Server apps with the SkiaSharp.Views.Blazor package.

View on Microsoft Learn ↗ ](https://learn.microsoft.com/dotnet/api/skiasharp.views.blazor)[

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 ↗ ](https://learn.microsoft.com/dotnet/api/skiasharp.views.maui.controls)[

SkiaSharp for Uno Platform

Integrate SkiaSharp into Uno Platform apps targeting WebAssembly, desktop, iOS, Android, and more.

View on Uno Platform ↗ ](https://platform.uno/docs/articles/controls/SKCanvasElement.html)