---
title: 'CanvasKit - Skia + WebAssembly'
linkTitle: 'CanvasKit - Skia + WebAssembly'

weight: 20
---

Skia now offers a WebAssembly build for easy deployment of our graphics APIs on
the web.

CanvasKit provides a playground for testing new Canvas and SVG platform APIs,
enabling fast-paced development on the web platform. It can also be used as a
deployment mechanism for custom web apps requiring cutting-edge features, like
Skia's [Lottie animation](https://skia.org/docs/user/modules/skottie) support.

## Features

- WebGL context encapsulated as an SkSurface, allowing for direct drawing to an
  HTML canvas
- Core set of Skia canvas/paint/path/text APIs available, see bindings
- Draws to a hardware-accelerated backend
- Security tested with Skia's fuzzers

## Samples



Paragraph shaping, custom shaders, and perspective transformation

SkParagraph JSFiddle
Shader JSFiddle
3D Cube JSFiddle

Play back bodymovin lottie files with skottie (click for fiddles)

Go beyond the HTML Canvas2D

Star JSFiddle
Ink JSFiddle
Lottie files courtesy of the lottiefiles.com community: [Lego Loader](https://www.lottiefiles.com/410-lego-loader), [I'm thirsty](https://www.lottiefiles.com/77-im-thirsty), [Confetti](https://www.lottiefiles.com/1370-confetti), [Onboarding](https://www.lottiefiles.com/1134-onboarding-1) ## Test server Test your code on our [CanvasKit Fiddle](https://jsfiddle.skia.org/canvaskit) ## Download Get [CanvasKit on NPM](https://www.npmjs.com/package/canvaskit-wasm). Documentation and Typescript definitions are available in the `types/` subfolder of the npm package or from the [Skia repo](https://github.com/google/skia/tree/main/modules/canvaskit/npm_build/types). Check out the [quickstart guide](../quickstart) as well.