QR codes
Generate QR codes for your documents that encode durable short-ID links and survive slug renames.
EveryPage generates QR codes for any document on any plan. Scan the code to open the document in your browser, and the view is attributed to the qr source in your readership analytics.
What the QR encodes
The QR code contains your document's durable short-ID URL with ?via=qr appended. This attribution parameter ensures that views triggered by scanning the code appear as the qr source in your audience breakdowns, distinct from direct link clicks or other referral sources.
The code never encodes your vanity slug. A printed QR code cannot be reissued, but slugs can be renamed, so a code built on a slug would break the first time the slug changed. Encoding the short ID means a rename does not touch it. (Documents without a short ID — those created before short IDs existed — get their UUID instead.)
Durability across changes
Because the QR links to the durable short-ID form, it also survives content replacement. When you swap out a document's contents, every printed code keeps working — the short-ID always resolves to the current document behind that link.
The host in the encoded link is not fixed, however. If your account has an active custom domain at the moment the code is generated, the code encodes the short-ID link on that domain. A code printed while a custom domain was active therefore depends on that domain staying verified and on Pro — if the domain is removed or the plan drops below Pro, the branded host stops serving and only codes generated on everypage.co keep resolving.
Downloading and using QR codes
Open a document's Configure & Share page, expand the Share panel and choose "QR Code". The modal shows the code and offers "Download QR Code", which saves it as a PNG. The button is available before a document is claimed, so anonymous uploaders can take a code away with the link.
The image is generated per request at /api/files/{id}/qr-code and served with Cache-Control: public, max-age=86400, so consumers that hotlink it (notably Notion databases, which re-request the image on every table render) cache it for a day rather than re-fetching each time.
The same handler is also mounted at /api/files/{id}/qr-code.png. It serves an identical image and headers; some consumers — including Notion, which renders an external URL as an image thumbnail only when the path carries an image extension — need the extension. Both forms encode the durable short-ID URL.
The same code is available to integrations at GET /api/v1/files/{id}/qr-code with an API key holding the files:read scope.
Attribution and analytics
Scans report source: qr in your readership data, so codes on printed material can be separated from direct link visits in the source breakdown. Attribution comes from the ?via=qr parameter in the encoded link, so it applies to anyone who opens that exact URL — including someone who copies it out of a scan rather than scanning it themselves.
Related
- Share links and short IDs — how short-ID links work
- Vanity slugs — custom URL paths and why they do not appear in QR codes
- Dynamic links — content replacement and link durability
- Audience breakdowns — view your readership by source