Skip to content
AnimQR

URL API

Every option of the generator can be driven by the page URL. Opening a link with a data (or text) parameter generates the code immediately, applies the style and starts the animation. Use Copy shareable link in the app to get a link for any design.

Examples

Parameters

ParameterDescriptionExample
data / textContent to encode (required to generate). URL-encode it.https%3A%2F%2Fexample.com
ecError correction: L · M · Q · HH
sizeExport size in px (128–2048)512
marginQuiet zone in modules (0–10)4
fg / bgForeground / background colour (hex, # optional). bg also accepts transparent%23ff5500
gradientlinear-<angle>-<from>-<to> or radial-<from>-<to>linear-45-ff0-f0f
modulesquare · rounded · dots · diamond · star · vbars · hbarsdots
eyesquare · rounded · circle · leafrounded
eyeColorColour of the three corner eyes800020
logohttp(s) image URL — the server must send CORS headershttps://…/logo.png
logoSizeLogo width as a fraction of the code (0.08–0.3)0.22
framenone · square · rounded · labellabel
frameText / frameColorLabel text (max 40 chars) and frame colourSCAN%20ME
animnone · pulse · wave · fade · rotate · colorCycle · scan · reveal · particlepulse
durationLoop duration in ms (300–10000)2000
fpsFrames per second (5–60)15
loopGIF loop count, 0 = forever0
formatpng · svg · jpeg · gif · webm · mp4 — preselected download formatgif
c / configFull config as lz-string (compressToEncodedURIComponent) or base64url JSONN4Ig…
embed1 = show only the code (for iframes)1

Parameter names are case-insensitive. Invalid values are ignored and fall back to defaults. Simple parameters override values inside c, so you can tweak a shared link by appending e.g. &anim=scan.

Safety & limits

  • Content is limited to 2048 characters (and to what fits in a QR code at the chosen error-correction level).
  • Content from a link starting with javascript:, vbscript:, data: or file: is blocked.
  • Logos must be http(s) URLs (or images uploaded in the app). Colours must be hex values.
  • Everything is rendered locally in the browser; no data is sent to any server.