Help Center
Learn how f29.us handles dynamic QR codes, static QR codes, styling, downloads, analytics, subscriptions, and account security.
Overview
f29.us creates and manages QR codes for the web. There are two flavors:
- Dynamic QR codes point to a managed short URL hosted on f29.us. The destination behind that short URL can be changed at any time without reprinting the QR image.
- Static QR codes encode the final payload (text, Wi-Fi, email, or vCard) directly into the image. Once printed they are permanent — f29 cannot change them later.
Some features depend on your plan. View current plans and pricing for details.
Dynamic QR Codes
A dynamic QR code encodes an f29 short link such as https://f29.us/abc123.
When somebody scans it, f29 redirects them to whatever destination you have currently configured.
You can update that destination at any time, and every existing printed copy will follow the change.
You can:
- Edit the destination URL after the QR is in the wild.
- Pause and resume a link without losing its history.
- Archive a link to stop redirects and free up your active-QR quota.
- Restore an archived link if capacity is available.
- See a full destination history and restore a previous destination.
- Collect scan analytics (subject to your plan's retention window).
Best for:
- Marketing campaigns
- Printed flyers
- Business cards
- Signs
- Any QR code where the destination may change later
Static QR Codes
Static QR codes bake the payload directly into the QR image. They are not saved to your account, do not collect scan analytics, and do not consume your active-QR quota. Once downloaded, the code is permanent — there is no way to change it afterward.
Supported templates:
- Text / URL — any URL or short piece of plain text.
- Wi-Fi — let visitors join your network by scanning (supports WPA, WEP, and open networks).
- Email — open the user's mail app with a pre-filled recipient, subject, and body.
- vCard — a digital business card with name, company, phone, email, and website.
Use static QR codes when the destination will never change — Wi-Fi credentials, contact cards on a business card, a one-time email link, or short plain text.
QR Styling
Both dynamic and static QR codes share the same styling controls, gated by plan.
Colors
You can pick a foreground (dot) color and a background color. Strong contrast between them is required for reliable scanning — f29 enforces a minimum WCAG contrast ratio and rejects identical fg/bg pairs.
Transparent background
Both PNG and SVG output can render a transparent background, so the QR code can sit on top of a colored or patterned layout. Place transparent QR codes on a light, high-contrast surface and always test before printing.
Module styles
The shape of the dark modules can be:
- Classic squares — the most compatible default.
- Gapped squares — smaller centered squares for a modern, spaced look.
- Circles — rounded dot style.
The three finder patterns (the large square eyes in the corners) always remain classic full squares regardless of the chosen module style. This is intentional — scanners rely on those eyes to locate and orient the code.
Logo
On supported plans, QR codes can have a logo image composited into the center. When a logo is enabled the error-correction level is raised automatically so the code stays scannable. Static QR logos are not currently available — they need temporary upload handling that is still in design.
Scan reliability tips
- Keep contrast high — dark dots on a light background scan most reliably.
- Avoid very light foregrounds, busy backgrounds, or oversized logos.
- Test the printed or rendered code at typical scanning distance before deployment.
Downloads
PNG
PNG downloads are raster (pixel) images. You can pick the output size from a fixed list based on your plan:
- 512 px
- 1024 px
- 2048 px
- 4096 px
Output is rendered at the exact requested pixel dimensions. PNG filenames include
the size so multiple downloads do not collide, for example
f29-qr-{name}-{slug}-1024px.png for a dynamic QR, or
f29-static-qr-{type}-{timestamp}-1024px.png for a static QR.
SVG
SVG is a vector format — it scales cleanly to any size with no quality loss. Use SVG
for print artwork, signage, or wherever the QR code will be resized. SVG export is
available on plans that include can_export_svg.
Analytics
Every redirect from a dynamic QR's short link is logged so you can see how the code is being scanned. Analytics include:
- Total scans for a date range
- Daily scan counts
- Device-type breakdown
- Top referrers
- Optional bot filtering
Your plan controls how far back analytics can be queried. Analytics export to CSV is
available on plans that include can_export_analytics.
Static QR codes are not tracked by f29 — scans of static QR codes happen entirely between the scanner and the encoded payload.
Plans and Entitlements
Your plan controls limits and feature access, including:
- Maximum number of active QR codes
- Whether you can pick a custom short slug
- Whether you can edit a QR code's destination after creating it
- PNG and SVG export
- Analytics retention and CSV export
- Custom colors, transparent background, and module styles
- Logo upload for dynamic QR codes
- Maximum PNG download size
View current plans and pricing for the current per-plan values.
Account Settings
Manage your account at Account Settings.
- Profile — display name and other profile fields.
- Email — change the email address on the account. Requires your current password and a re-verification step on the new address.
- Password — change your password. Requires your current password.
- Email verification — new accounts and email changes send a verification link; some features stay limited until the address is verified.
- Password reset — if you're locked out, use Forgot password to receive a one-time reset link.
- Remember me for 30 days — the login page includes an optional "Remember me for 30 days" checkbox. When selected, f29.us can restore your login after your browser session ends. Logging out clears the remembered login for that browser; logging out on one device does not sign you out elsewhere. If you're using a shared computer, leave the checkbox unchecked.
- Security — review session and security-relevant settings on Account Security.
Billing and Subscriptions
Paid subscriptions are processed through Stripe Checkout when Stripe is enabled on the deployment. The price you see during checkout is the price you pay.
After a successful checkout, your subscription becomes active once f29 receives the Stripe webhook confirming payment. The browser success page alone does not activate paid access — the webhook is the source of truth. This usually takes a few seconds.
You can cancel a Stripe subscription from your subscription page. Cancellations take effect at the end of the current billing period — you keep paid-plan access until that period ends.
Moderation and Abuse
f29 maintains a blocked-domain list and may disable short links that violate the Acceptable Use Policy. Disabled links stop redirecting and their public scan page shows a generic unavailable message.
If you encounter a malicious or abusive f29.us short link, please report it at /abuse. Include the short URL and a brief description of the problem.
Security and Privacy
- Static QR codes are not stored — generating one does not write anything to your account or the database.
- Dynamic QR scan analytics are limited to operational data needed to render the scan dashboards (timestamp, device type, referrer, hashed IP context). Sensitive fields are hashed or omitted.
- Login throttling and scan-context bookkeeping use hashed IP addresses, not plaintext IPs.
- All authenticated POST routes are protected by CSRF tokens.
The following policy pages provide more detail:
Frequently Asked Questions
Can I change a QR code after printing it?
Only dynamic QR codes can be changed after printing. They encode an f29 short link whose destination can be updated at any time. Static QR codes bake the payload into the image and cannot be changed after download.
Do static QR codes collect analytics?
No. Static QR codes are not stored or tracked by f29.
Do archived QR codes count against my limit?
No. Archived QR codes are kept for history but do not count against your plan's active-QR limit. You can restore them later if capacity allows.
What is the difference between PNG and SVG?
PNG is a pixel (raster) image at a fixed size. SVG is a vector format that scales cleanly to any size with no quality loss. Use SVG for print artwork; use PNG for quick web embeds or anywhere a raster image is required.
Why does my subscription not update immediately after checkout?
Paid access activates when f29 receives the Stripe webhook confirming payment — not when the browser returns to the success page. This is usually a few seconds. If your subscription page still shows the old plan after a minute or two, refresh and check your subscription.
Can I use a logo in my QR code?
Logo upload is available on supported plans for dynamic QR codes. Logo support for static QR codes is not currently implemented — it requires temporary upload handling that is still being designed.