Gifsicle codec in WebAssembly.

Usage no npm install needed!

<script type="module">
  import wasmCodecsGifsicle from 'https://cdn.skypack.dev/@wasm-codecs/gifsicle';


@wasm-codecs/gifsicle npm version license downloads

Gifsicle WebAssembly Codec

Table of contents

  1. Installation
  2. Usage
  3. API
  4. Examples
  5. License


npm install @wasm-codecs/gifsicle


  • Node.js 10 or later


import encode from '@wasm-codecs/gifsicle';

(async () => {
  const encodedImage = await encode(image, encodeOptions);


encode(image, encodeOptions?): Buffer

Returns a buffer containing the compressed image data.

image: Buffer

Buffer of a GIF image.

encodeOptions?: EncodeOptions

All encoding options are optional and fall back to the default values.

type EncodeOptions = {
  optimizationLevel?: number;
  interlaced?: boolean;
  colors?: number;
  width?: number;
  height?: number;


Using Node.js

import fs from 'fs';
import encode from '@wasm-codecs/gifsicle';

(async () => {
  // read input image as a buffer
  const data = fs.readFileSync('in.gif');

  // encode the image using @wasm-codecs/gifsicle
  const output = await encode(data);

  // save the image to the file system
  fs.writeFileSync('out.png', output);


Licensed under the MIT license.

© Copyright Cyril Wanner