SkillAgentSearch skills...

Iconvg

IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji.

Install / Use

/learn @google/Iconvg
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

IconVG

The canonical repository's location moved on February 2026, from github.com/google/iconvg to github.com/nigeltao/iconvg

IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji.

WARNING: THIS FORMAT IS EXPERIMENTAL AND SUBJECT TO INCOMPATIBLE CHANGES.

It is similar in concept to SVG (Scalable Vector Graphics) but much simpler. Compared to SVG Tiny, which isn't actually tiny, it does not have features for text, multimedia, interactivity, linking, scripting, animation, XSLT, DOM, combination with raster graphics such as JPEG formatted textures, etc.

It is a format for efficient presentation, not an authoring format. For example, it does not provide grouping individual paths into higher level objects. Instead, the anticipated workflow is that artists use other tools and authoring formats like Inkscape and SVG, or commercial equivalents, and export IconVG versions of their assets, the same way that they would produce PNG versions of their vector art. It is not a goal to be able to recover the original SVG from a derived IconVG.

It is not a pixel-exact format. Different implementations may produce slightly different renderings, due to implementation-specific rounding errors in the mathematical computations when rasterizing vector paths to pixels. Artifacts may appear when scaling up to extreme sizes, say 1 million by 1 million pixels. Nonetheless, at typical scales, e.g. up to 4096 × 4096, such differences are not expected to be perceptible to the naked eye.

Example

Cowbell image

  • cowbell.png is 18555 bytes (256 × 256 pixels)
  • cowbell.svg is 4506 bytes
  • cowbell.iconvg is 1012 bytes (see also its disassembly)

The test/data directory holds these files and other examples.

File Format

  • IconVG Specification
  • Magic number: 0x8A 0x49 0x56 0x47, which is "\x8aIVG".
  • Suggested file extension: .iconvg
  • Suggested MIME type: image/x-iconvg

Implementations

This repository contains:

The original Go IconVG package also implements a decoder and encoder, albeit for an older (obsolete) version of the file format.

Disclaimer

This is not an official Google product, it is just code that happens to be owned by Google.


Updated on February 2026.

Related Skills

View on GitHub
GitHub Stars687
CategoryDevelopment
Updated8d ago
Forks11

Languages

C

Security Score

95/100

Audited on Mar 31, 2026

No findings