Skia Canvas: Browser-Less Implementation of the HTML Canvas Drawing API for Node

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. Skia

    Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

    If you're interested in node-compatible canvas implementations, there are several:

    * canvaskit-wasm, from the skia project. I don't think it's gpu-accelerated: https://github.com/google/skia/tree/main/modules/canvaskit/n...

    * @napi-rs/canvas. This is the fastest binding: https://github.com/Brooooooklyn/canvas?tab=readme-ov-file#pe...

    * node-canvas. Uses Cairo instead of Skia: https://github.com/Automattic/node-canvas

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. windowjs

    Window.js is an open-source Javascript runtime for desktop graphics programming.

    https://windowjs.org is a very similar concept -- it wraps Skia and exposes it as the Canvas API, but also embeds v8 for a very small runtime instead of using Node.

    It was my first open-source project, released about 3 years ago.

    I had plans to also expose WebGL, audio, etc and make it a viable platform for Javascript-based games on desktop.

    Life and other projects happened instead, and development was discontinued. Happy to see this project also making Canvas accessible outside the browser!

  4. SWIG

    SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.

    I understand that a Skia Canvas should work with almost any programming language with just bindings [1]. I don't see anything in particular with Node.

    [1] https://www.swig.org/

  5. jimp

    An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.

    How is it different from jimp?

    https://jimp-dev.github.io/jimp/

    Maybe there are some killer features?

  6. lacqit

    Obj-C utility library

    I'm not claiming I implemented everything from scratch. Since it was a Mac OS X Cocoa app, it would just call the APIs available on that platform, like Apple's original Canvas implementation in WebKit.

    Also since this was a video application running custom scripts written specifically for that host app, there wasn't a big worry about exact compatibility with any other Canvas-using code.

    Anyway, here's the old code that doesn't look like there's anything interesting going on:

    https://github.com/pojala/lacqit/blob/main/Lacqit/LQJSBridge...

    Looks like I misremembered — it's using Cairo rather than CoreGraphics. I don't remember why that was.

  7. opengraph

    A python module to parse the Open Graph Protocol

    How would you render FRED charts with e.g. headless node to generate PNG (or SVG) images for og:image , schema:image , and schema.org/thumbnailUrl so that shared URLs to FRED charts have a PNG (or SVG) image in their social share cards?

    OpenGraph: https://ogp.me/

    schema:thumbnailUrl: https://schema.org/thumbnailUrl

  8. engine

    Discontinued The Flutter engine (by flutter)

    Impeller - Flutter’s rendering library that replaces Skia on iOS and Android - is working on a C API: https://github.com/flutter/engine/blob/main/impeller/toolkit...

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. tela.js

    Graphic library from scratch, with reference implementation of computer graphics algorithms

    I made something similar for node/web, not so complete, but good.

    Check the docs and examples

    https://github.com/pedroth/tela.js

  11. canvas

    High performance skia binding to Node.js. Zero system dependencies and pure npm packages without any postinstall scripts nor node-gyp. (by Brooooooklyn)

    If you're interested in node-compatible canvas implementations, there are several:

    * canvaskit-wasm, from the skia project. I don't think it's gpu-accelerated: https://github.com/google/skia/tree/main/modules/canvaskit/n...

    * @napi-rs/canvas. This is the fastest binding: https://github.com/Brooooooklyn/canvas?tab=readme-ov-file#pe...

    * node-canvas. Uses Cairo instead of Skia: https://github.com/Automattic/node-canvas

  12. node-canvas

    Node canvas is a Cairo backed Canvas implementation for NodeJS.

    If you're interested in node-compatible canvas implementations, there are several:

    * canvaskit-wasm, from the skia project. I don't think it's gpu-accelerated: https://github.com/google/skia/tree/main/modules/canvaskit/n...

    * @napi-rs/canvas. This is the fastest binding: https://github.com/Brooooooklyn/canvas?tab=readme-ov-file#pe...

    * node-canvas. Uses Cairo instead of Skia: https://github.com/Automattic/node-canvas

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • What sort of software would a person use for data visualization? I looked up GraphQL and see how it fits, but how do I legit turn that into a nice, interactive graphic?

    2 projects | /r/learnprogramming | 7 Sep 2021
  • Ask HN: What do you use to create diagrams?

    10 projects | news.ycombinator.com | 12 Mar 2025
  • Datoviz: High-Performance GPU Scientific Visualization Library with Vulkan

    1 project | news.ycombinator.com | 13 Mar 2025
  • Ask HN: Who Are Your Favorite Photography and Generative Coding Artists?

    7 projects | news.ycombinator.com | 26 Feb 2025
  • Art Blocks and the Future of Open Source with Blockchain

    1 project | dev.to | 23 Feb 2025

Did you know that C++ is
the 7th most popular programming language
based on number of references?