FWC-1§12Informative

Versioning & roadmap

How the format grows without breaking the icons already in the wild.

Extension rules

  • Reserved flag bits (2–7) are for backward-compatible additions within version 1: features a v1 decoder can safely ignore, such as a hint bit. A new bit MUST NOT change how existing fields are interpreted.
  • The version byte is for incompatible changes: a different compression algorithm, a longer header, a new carrier. Bumping it guarantees v1 decoders stop with unsupported rather than misparse.
  • The magic bytes never change. Any future container is still identifiable as a Favicon Web Container by its first two bytes.

Candidates for a future version

IdeaMechanismStatus
Brotli compressionNew flag bit once DecompressionStream("brotli") ships in browsersBlocked on platform
Multi-frame ICOSpread one container across the frames of an .ico, larger capacity at the same tab-icon sizeExploring
Content type fieldv2 header byte so payloads other than HTML (Markdown, JSON, WASM) are self-describingProposed
Configurable KDF costv2 envelope field with a decoder-enforced ceilingProposed
Signed containersEd25519 signature over header ‖ body so a host can prove authorship without encryptionProposed

Change log

VersionDateChanges
FWC-1 draft2026-09Initial public specification: 12-byte header, noise and lsb carriers, deflate-raw, PBKDF2 + AES-256-GCM