Sharing Links

Load a design from a single URL parameter.

Favycons loads icon settings from one query parameter, iconconfig:

https://app.favycons.com/?iconconfig=<base64url-json>

The value is base64url(utf8(JSON.stringify(iconSettings))) — same shape and schema as the export pipeline (includes schemaVersion). After a valid iconconfig loads, Favycons strips it from the URL; the design lives in the local session.

This parameter is mainly for loading generated links and integration tests. The in-app style-sharing control is hidden for launch while the sharing workflow is revisited.

Generate one programmatically

function encodeIconConfig(iconSettings) {
  const json = JSON.stringify(iconSettings);
  const bytes = new TextEncoder().encode(json);
  let binary = '';
  for (const b of bytes) binary += String.fromCharCode(b);
  return btoa(binary)
    .replace(/\+/g, '-')
    .replace(/\//g, '_')
    .replace(/=+$/g, '');
}

const url = `https://app.favycons.com/?iconconfig=${encodeIconConfig(iconSettings)}`;

Errors and limits

  • Invalid iconconfig (decode / JSON / schema): editor loads defaults and shows a warning banner.
  • Legacy per-field params (icon=, bgColor=, …) are no longer supported — same fallback.
  • Very large configs may hit URL length limits in some clients.