Website profiles · Technology insights · Alternatives

qrilo.app

Generate free QR codes instantly. Upgrade to dynamic QR codes you can edit after printing, with real-time scan analytics.

Paid content
Visit website
Profile views 10 Outbound visits 6 Normal
qrilo Full homepage screenshot

At a glance

Category
Resources & Utilities
Language
English
Paid-content signal
Paid contentObserved
Registered
2025
Hosting
CloudflareInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is qrilo?

qrilo is a free QR code generator with optional scan tracking. You can create a static QR code in seconds without signing up, and the download includes PNG, SVG and PDF formats with no watermark. If you need a code whose destination can be changed after printing, you can create a dynamic QR code with a free account, which also records scans.

What it covers

qrilo supports a wide range of QR code types, including:

  • URL / Website
  • WiFi (network name, password, security type)
  • vCard / Contact
  • Restaurant Menu
  • PDF Document
  • Plain Text
  • Email, Phone Number, SMS
  • Social media and review links (Instagram, TikTok, Google Review, Yelp, Tripadvisor and others)
  • Event, location, YouTube, WhatsApp, app download, payment and booking links

Static vs dynamic

Static Dynamic
Account needed No Yes, free
Edit destination after printing No Yes
Scan tracking No Yes
Free allowance Unlimited Up to 5 codes
Scan history — 14 days

The trade-off is straightforward: static codes are simpler and unlimited, but once printed they are fixed. Dynamic codes cost you a sign-up and are limited on the free plan, but they let you fix a wrong link or redirect a campaign without reprinting anything.

A practical scenario

Suppose you run a small subscription box business and print a QR code on every insert card. With a static code, a typo in the URL means throwing away the cards. With a dynamic code, you correct the destination in the dashboard and the printed cards keep working. If you also want to know whether customers actually scan, the scan history gives you that signal, though on the free plan it only goes back 14 days.

If you only need a one-off code for a flyer or a WiFi password, the static generator is the faster route. If the code will live on physical material you cannot easily reprint, start with a dynamic code.

How do I make a QR code with qrilo without signing up?

Open qrilo and choose a QR code type, enter the content, then click Generate QR Code. No account is required for this step, and the resulting static code is free with no watermark on the PNG, SVG or PDF downloads.

What you can put behind a static code

qrilo lists 42 types, so you rarely need to hand-build a URL. Common choices:

  • URL / Website — the general-purpose option
  • WiFi — network name, password and security type, so guests join without typing
  • vCard / Contact — name, phone, email, company, job title
  • Restaurant Menu, PDF Document, Plain Text
  • Email, Phone Number, SMS / Text Message
  • Social and payment profiles — Instagram, TikTok, Spotify, LinkedIn, PayPal, Venmo, Cash App and others
  • Event, location and booking types, plus Google Review and Google Form

You can also adjust colours, shapes and a call-to-action frame in the design section, and the preview updates as you type.

The trade-off to understand before you print

A static code is fixed. Once it is on a poster, a menu or a product label, the destination cannot be changed and scans are not counted. If either matters, the same generator offers dynamic codes: you edit the destination after printing and see scan activity, with a free account covering up to 5 dynamic codes and 14 days of scan history. qrilo also publishes pricing and a page aimed at subscription-box use cases, so the paid tier exists for people who outgrow those free limits.

A practical decision rule

Use a static, no-signup code when the destination will never change — a WiFi password for a guest room, a vCard on a conference badge, a link to a document you control at the same address. Use a dynamic code when the code is already printed, when you want to count scans, or when the destination might move: a seasonal menu, a campaign landing page, a review link you may swap later.

Next step

Generate the static code first and test it with two phones before you commit it to print. If you find yourself wanting scan counts or a changeable destination, create the free account then and convert that use case to a dynamic code rather than reprinting.

When should I choose a dynamic QR code instead of a static one?

Choose a dynamic QR code when the destination may change, when you need to know whether anyone scanned it, or when you plan to print the code somewhere you cannot easily replace. Choose a static code when the link is final, you want zero dependency on a third-party service, and tracking is irrelevant.

The practical difference

A static QR code encodes the destination itself. The pattern is the URL or text, so any scanner reads it directly — no redirect, no account, no expiry. A dynamic code encodes a short redirect link instead; the provider maps that link to your destination and logs each scan. That redirect is what makes editing and analytics possible, and it is also the single point of failure.

Situation Static Dynamic
Destination is fixed forever Good fit Unnecessary
Destination might change after printing Bad fit — reprint required Built for this
You need scan counts or timing Not possible Core feature
Poster, menu, packaging, vehicle wrap Fine if the link is permanent Preferred
One-off handout, business card, event slide Fine Optional
You want no reliance on a vendor staying online Preferred Trade-off

Where dynamic earns its keep

Print is expensive to redo. If a code sits on a restaurant table tent, a trade-show banner, a product box, or a fleet of delivery vehicles, a dynamic code lets you fix a typo, swap a seasonal menu, or point to a new landing page without touching the physical item. Analytics add a second reason: you learn whether the placement actually gets scanned, and when. Comparing two poster locations or two print runs is a legitimate use, not vanity metrics.

The cost is dependency. If the redirect service goes down, changes its terms, or you stop paying, every printed code pointing through it stops working. Static codes have no such tail risk.

A reader scenario

Suppose you run a small subscription box and print a card in every shipment. A static code to a fixed "manage your subscription" page works indefinitely and costs nothing. But if you rotate seasonal offers, want to know what share of recipients scan, or expect the signup page URL to change, a dynamic code saves a reprint. qrilo's free tier covers this kind of low-volume test: static codes need no account, and dynamic codes with editing and scan history are available on a free account for a limited number of codes and a limited history window, with paid plans for more. Treat the free tier as a trial of the workflow rather than a permanent home for codes on long-lived print.

How to decide

  1. Will this exact destination still be correct in 12–24 months? If yes, static.
  2. Is the code going somewhere costly or slow to reprint? If yes, lean dynamic.
  3. Do you need to prove the code was scanned, or compare placements? If yes, dynamic.
  4. Can you accept that the code breaks if the provider disappears or you stop paying? If not, static.
  5. Is this a short campaign where you will change the offer anyway? Dynamic.

A middle path: use a static code that points to a URL you control, such as a page on your own domain, and change the content of that page instead. You keep permanence and gain flexibility, though you lose per-scan tracking unless you add your own analytics.

If you want to test the dynamic workflow before committing printed material, generate one dynamic code for a single poster and check the scan report after a week — that tells you more than any feature comparison. For general background on how these codes work, see Wikipedia.

How can I edit a QR code's destination after it has been printed?

You cannot change a printed static QR code itself. A static QR code encodes the destination directly into its pattern, so the only way to "edit" it after printing is to have created a dynamic QR code, which points to a short redirect URL you control. You then change the destination in your dashboard, and the same printed code resolves to the new address.

qrilo states this distinction plainly: static codes are free and need no account, while dynamic codes let you edit the destination after printing and count scans, with a free account covering up to 5 dynamic codes and 14 days of scan history.

What to check before you print

  • Confirm the code is dynamic. If the generator only offered a static download, reprint is the only fix.
  • Test the redirect on the final printed material. Scan the proof with two phones and a camera app, not just the built-in scanner.
  • Keep the short link stable. Editing the destination is fine; changing or deleting the short link breaks the code.
  • Check the plan limits. Scan history and code counts are usually tiered, so decide whether long-term analytics matter before a large print run.

Static vs. dynamic, in practice

Static Dynamic
Destination editable after printing No Yes
Scan counting No Yes
Works without an account Yes Usually needs one
Risk if the provider shuts down Low — data is in the code The redirect must keep resolving

A realistic scenario

A café prints 5,000 table tents with a menu QR code. If the menu changes seasonally, a dynamic code lets them swap the linked PDF each time without trashing the tents. If the menu never changes, a static code is simpler and has no dependency on any service staying online.

For a one-off poster or a code on a product that will never change, generate a static code and skip the account. For anything printed in volume, embedded in packaging, or likely to need updates, create the dynamic code first and verify the redirect works before the print run.

What scan analytics does qrilo show me for my QR codes?

qrilo tracks scans on dynamic QR codes, not on the static codes you can generate without an account. The free tier includes scan history for up to 14 days, and the page's headline promise is "see every scan." So if you need analytics, the key decision is whether to create the code as dynamic from the start — a static code printed on a poster cannot be retrofitted with tracking.

What the page shows

The product page presents scan tracking as the reason to choose dynamic codes ("Why go dynamic?"), and lists a free allowance of 5 dynamic codes with 14 days of scan history. It does not itemise the individual metrics (unique vs. total scans, device, location, time-of-day), so treat the exact dashboard fields as something to confirm inside the app after creating a code.

A practical way to judge it

Before committing a printed code, create one dynamic code, scan it yourself from two devices, and check whether the dashboard distinguishes the two. That tells you quickly whether the reporting is granular enough for your use case — for example, a restaurant wanting to know whether menu scans peak at lunch, versus a marketer wanting unique-versus-repeat counts.

Your situation Static code Dynamic code
One-off flyer, no reporting needed Fine — free, no account Unnecessary
Printed material you may need to re-point Not editable after print Editable destination
You want scan counts or trends No tracking Tracked, 14-day history on the free tier

For longer histories or more than 5 tracked codes, the site points to an upgrade; check qrilo's pricing page for what each tier includes rather than assuming. If scan data is central to your campaign, it is also worth comparing a dedicated link-tracking tool, since QR analytics are usually a subset of what a full link shortener reports.

Which QR code type should I use for a restaurant menu, WiFi, or contact card?

For a restaurant menu, use the URL/Website type; for guest WiFi, use the WiFi type; for a person or business contact, use the vCard/Contact type. These three map directly to the common generators offered by qrilo, and the same logic applies in most QR tools.

Goal QR type What the scan does Watch out for
Restaurant menu URL / Website Opens your menu page in the phone's browser The menu must be hosted online; if the URL changes, a static code breaks
Guest WiFi WiFi Joins the network without typing a password Requires the exact network name (SSID), password and security type; hidden networks need an extra setting
Contact card vCard / Contact Offers to save name, phone, email and company to the phone Keep fields short; some phones handle photos and long notes inconsistently

Why dynamic matters here

Menus change, WiFi passwords get rotated, and staff move roles. A static code is printed once and cannot be edited. A dynamic code lets you change the destination after printing, which is the main reason to choose it for a menu or a contact card that may be updated. qrilo's page states that dynamic codes are editable and trackable, with a free tier covering up to 5 dynamic codes and 14 days of scan history; static codes need no account.

Choosing in practice

  • Menu: if the menu changes seasonally, go dynamic. If it is a fixed PDF that rarely changes, a static URL code is enough.
  • WiFi: use the WiFi type even for a one-off event; typing a long password is the main friction you are removing.
  • Contact card: use vCard for networking, but if you mainly want people to follow or message you, a social or messaging type may fit better.

A useful next step: write down what should happen after the scan, then pick the type that performs that action. For example, "open the lunch menu" is a URL code; "join the guest network" is a WiFi code; "save my details" is a vCard code.

Related questions

More questions →
What Is AI Programming and How Are Developers Actually Using It?

AI programming is the practice of using machine-learning models to generate, complete, review, or test code inside a developer's existing workflow. It covers everything from a single-line autocomplete suggestion in an IDE to a chat assistant that explains an unfamiliar function to an autonomous agent that opens a pull request on its own. The practical dividing line is not the model but the level of human oversight: the more a tool acts without review, the narrower the tasks it should be trusted with.

The four things AI actually does in a codebase

Most day-to-day use falls into a few recognizable activities:

  • Completion — predicts the next line or block as you type, based on the file and surrounding context.
  • Generation — produces a function, class, config file, or migration script from a natural-language description.
  • Explanation and review — summarizes what a piece of code does, flags suspicious patterns, or suggests a refactor.
  • Testing and debugging — writes unit tests for existing code, proposes fixes for a failing test, or traces a stack trace back to a likely cause.

These are not separate products so much as separate modes. The same assistant that autocompletes a loop can also be asked to write the test for it.

Tool categories and where each fits

Category Typical form Best for Main trade-off
IDE copilot Inline suggestions in the editor Boilerplate, repetitive patterns, unfamiliar syntax Suggestions arrive without context about your architecture
Chat-based assistant Side panel or separate window Explaining code, drafting a design, debugging a stack trace You must paste or describe context manually
Autonomous agent Runs commands, edits files, opens PRs Multi-file changes, dependency upgrades, test scaffolding Highest blast radius; needs the tightest review

The categories overlap, and many tools now span more than one. The useful question is not which category is best but how much of the change you are willing to accept without reading it line by line.

What a realistic workflow looks like

A common pattern, for example when adding a new API endpoint:

  1. Describe the endpoint in a comment or chat prompt — method, path, expected input and output.
  2. Let the assistant draft the handler and the data model.
  3. Read the draft and correct the parts that assume an API or library version you don't use.
  4. Ask the assistant to generate tests for the happy path and at least one failure case.
  5. Run the tests, then review the diff as you would any teammate's pull request.

The assistant compresses the first draft; it does not remove steps 3 and 5. Teams that skip the review step are the ones that report the worst outcomes.

Where it breaks down

The limitations are consistent enough to plan around:

  • Hallucinated APIs. Models invent function names, parameters, and library methods that look plausible and compile-fail or, worse, silently do the wrong thing.
  • Insecure suggestions. Generated code may interpolate user input into queries, disable certificate checks, or hardcode credentials because the training data contained those patterns.
  • Licensing and provenance. Suggestions may closely resemble licensed source; teams need a policy on what is acceptable to commit.
  • Data privacy. Pasting proprietary code into a hosted assistant may send it to a third party. Check whether your tool runs locally, offers an enterprise tier with data controls, or is approved for your codebase.
  • Stale knowledge. Models have a training cutoff and will confidently describe an older version of a framework.

None of these make the tools unusable. They make verification mandatory.

How to verify AI-generated code

Treat every suggestion as an untrusted contribution:

  • Compile and run it. A suggestion that doesn't build is a cheap failure; catch it before review.
  • Check every external call. Confirm the function exists, the signature matches, and the version is the one you depend on.
  • Read for security. Look specifically at input handling, authentication, secrets, and anything touching the network or filesystem.
  • Test the edges. Ask for failure cases, not just the happy path, and add the ones the model missed.
  • Keep the diff small. A 20-line suggestion is reviewable; a 400-line agent-generated refactor is not, at least not in one pass.

How teams adopt it gradually

The lowest-risk entry point is tasks where a mistake is cheap and visible: writing tests for existing code, generating documentation comments, scaffolding a config file, or translating a snippet between languages. From there, teams typically move to in-editor completion for routine code, then to chat-based assistance for debugging and design questions. Autonomous agents that modify multiple files tend to come last, and usually behind a branch-and-review gate rather than direct commits.

The pattern that holds up: start where you would notice an error immediately, expand only after the review habit is established, and keep a human accountable for anything that reaches production.

What Is qrilo and What Can It Do?

qrilo is a browser-based QR code generator that creates static QR codes for free with no sign-up, and dynamic QR codes that can be edited after printing and tracked for scans. The dynamic option requires a free account and covers up to 5 codes with 14 days of scan history. If you only need a code that points to a fixed destination, the free static generator is enough; if you expect the destination to change or want to count scans, you need the dynamic path.

Static vs. dynamic QR codes

The core distinction on qrilo is between two kinds of codes:

Static Dynamic
Cost Free Free account
Sign-up required No Yes
Editable after printing No Yes
Scan tracking No Yes (14 days of history)
Limit Not stated Up to 5 codes
Watermark on downloads None None

A static code encodes the destination directly into the pattern, so once it is printed or shared, the destination is fixed. A dynamic code points to a short redirect that qrilo controls, which is what allows you to change the destination later and see scan activity. The trade-off is that dynamic codes depend on qrilo's redirect staying live.

What you can generate

qrilo lists 42 QR code types. The main categories include:

  • Links and documents — URL/website, PDF document, plain text, Google Form, Google Review
  • Contact and communication — vCard/contact, email, phone number, SMS/text message, WhatsApp, Telegram, Zoom meeting, Calendly/booking
  • Network and access — WiFi (with WPA/WPA2, WEP, or open network options, plus hidden network support)
  • Business and commerce — restaurant menu, app download, PayPal, Crypto Wallet, Cash App, Amazon, Etsy shop, Venmo
  • Social and media — Instagram, Facebook, X (Twitter), TikTok, Spotify, Apple Music, YouTube, LinkedIn, Snapchat, Pinterest, Discord, Twitch, GitHub
  • Events and reviews — calendar event, Eventbrite, location, Yelp review, Tripadvisor review
  • Personal — resume/CV

Each type has its own input fields. A WiFi code, for example, asks for the network name (SSID), password, and security type; a vCard asks for name, phone, email, company, job title, and website.

Design options

Every code — static or dynamic — can be customized before download:

  • Colors — separate foreground and background, with solid color, vertical, diagonal, or radial gradient, plus pattern fills
  • Shapes — square, rounded, classy, or dots for the body; square, rounded, circle, or leaf for the corners
  • Call-to-action frame — no frame, caption only, banner below, banner above, bordered, or rounded card
  • Live preview — the code updates as you type

Downloads are available as PNG, SVG, and PDF, and the design options apply to all three formats.

How to create a code

  1. Pick a QR code type from the list (or open a dedicated generator page for that type).
  2. Fill in the fields for that type — for a URL code, just the destination link.
  3. Adjust colors, shapes, and frame if you want a custom look. The preview updates live.
  4. Click Generate QR Code. This produces a static code, free and with no account.
  5. Download as PNG, SVG, or PDF.

To make it dynamic instead, create a free account after generating. That unlocks editing the destination after printing and scan counting, within the 5-code and 14-day limits.

When qrilo fits and when it doesn't

Good fit:

  • You need a one-off code for a menu, WiFi network, contact card, or event and want it free with no account.
  • You want a styled code (custom colors, shapes, frame) without paying.
  • You need to change a printed code's destination later, or want basic scan counts, and 5 codes is enough.

Consider alternatives if:

  • You need more than 5 dynamic codes or scan history longer than 14 days — the site points to a paid upgrade, though specific plan pricing is not stated in the available material.
  • You need the redirect to be guaranteed long-term and independent of a third-party service.
  • You need advanced analytics beyond scan counts.

The practical rule: use static codes for anything permanent and free, and reserve dynamic codes for the handful of destinations you genuinely expect to change or measure.

What Do You Get If You Upgrade from qrilo's Free Plan?

Upgrading from qrilo's free plan is only necessary if you need to edit a QR code's destination after it has been printed, or if you need scan tracking beyond 5 codes and 14 days of history. The free plan already covers static QR codes with no sign-up, no watermark, and PNG/SVG/PDF downloads. The paid upgrade is about dynamic codes and analytics, not about removing limits on static generation.

What the free plan already includes

According to qrilo's own page, the free tier is more generous than "trial" software usually is:

  • Static QR codes: free, no account required, no credit card.
  • No watermark on PNG, SVG, or PDF downloads.
  • Design options on every code: foreground/background colors, solid/vertical/diagonal/radial gradients, square/rounded/classy/dots patterns, square/rounded/circle/leaf corners, and call-to-action frames (caption only, banner below, banner above, bordered, rounded card).
  • 42 QR code types, including URL, WiFi, vCard, restaurant menu, PDF, email, phone, SMS, social media, calendar event, location, YouTube, WhatsApp, app download, Google Review, and many more.
  • Dynamic codes with a free account: up to 5 dynamic codes and 14 days of scan history.

So if you only need a fixed QR code that points to one URL forever, you never need to pay.

What upgrading adds

The upgrade is aimed at the two things static codes cannot do:

Capability Free plan Upgraded (dynamic)
Edit destination after printing No Yes
Scan tracking 5 codes, 14 days history Full scan analytics
Static code generation Unlimited Unlimited
Watermark-free downloads Yes Yes

The core trade-off: a static code bakes the destination into the pattern itself, so changing the URL means reprinting. A dynamic code stores a short redirect that you can repoint at any time, and every scan passes through qrilo's servers — which is also what makes scan counting possible.

Who should upgrade

Upgrade if any of these describe you:

  • You print QR codes on physical materials (menus, packaging, posters, business cards) and may need to change the destination later.
  • You want to know how many people scanned, and when.
  • You run more than 5 trackable codes at once, or need scan history older than 14 days.
  • You are running a campaign, event, or subscription box where the landing page changes over time.

Stay on free if your codes point to permanent destinations and you do not care about scan counts.

What to check before paying

qrilo's page does not state the upgrade price, billing period, or the exact limits of the paid tier beyond "more than 5 codes" and "longer than 14 days." Those details live on the pricing page, so confirm there:

  • The current price and whether it is monthly or annual.
  • How many dynamic codes the paid plan allows.
  • How long scan history is retained.
  • Whether dynamic codes stop working if you cancel (this matters if codes are already printed).

The practical test

Create one dynamic code on the free account, print it or place it somewhere real, then change its destination from the dashboard and scan it again. If the redirect updates and the scan appears in your history, the mechanism works as described. That single test tells you whether the upgrade solves your problem before you spend anything.

What scan tracking does qrilo offer?

qrilo tracks scans only on dynamic QR codes. If you generate a static code, it works forever but reports nothing back — no scan count, no location, no device data. To get scan tracking you need a free account, which covers up to 5 dynamic codes with 14 days of scan history. The tracking itself is real-time, so a scan shows up in your dashboard as it happens rather than after a batch update.

What you get with dynamic codes

A dynamic QR code points to a qrilo redirect URL rather than directly to your destination. That redirect is what makes two things possible at once:

  • Editing after printing. You change the destination in your account and the already-printed code starts sending people to the new place. The code image itself never changes.
  • Scan analytics. Every time someone hits the redirect, qrilo records the scan.

The free tier's scan history window is 14 days. That's the main constraint to plan around: if you need a longer record of activity — say, a year-over-year comparison on a menu or packaging insert — 14 days won't hold it, and you'd be looking at the paid upgrade path rather than the free plan.

Static vs. dynamic at a glance

Static code Dynamic code
Account required No Yes (free account)
Cost Free Free for up to 5 codes
Editable after printing No Yes
Scan tracking None Real-time
Scan history retained — 14 days (free tier)
Downloads PNG, SVG, PDF PNG, SVG, PDF

The design options — colors, shapes, frames, call-to-action banners — apply to both types, including the downloadable files. So you don't lose visual customization by staying static; you only lose editability and tracking.

How to actually turn tracking on

  1. Pick a QR code type (URL, WiFi, vCard, menu, and so on) and enter the content.
  2. Style it if you want, then generate. At this point you have a static code — free, no sign-up, but untracked.
  3. To track it, create a free account and convert the code to dynamic. The destination becomes editable and scans start being counted.
  4. Check the dashboard for scan activity. Expect a delay of essentially zero — the excerpt describes the analytics as real-time.

The step people miss is number three. Generating a code and downloading the PNG feels like the finish line, but a static download will never report a single scan no matter how many people use it.

Choosing between the two

Go dynamic if you're printing the code somewhere expensive or slow to replace — packaging, a storefront sign, a trade show banner — because you'll want to fix a broken link without a reprint, and you'll want to know whether the placement works at all.

Stay static if the destination is permanent, the code lives somewhere disposable like a slide or a receipt, or you simply don't want an account. A static code has no dependency on qrilo staying online for the redirect to resolve, which is a real advantage for anything meant to last years.

If you're testing whether a channel drives traffic, dynamic is the only version that answers the question. If you just need a working code, static costs you nothing and asks for nothing.

Static vs. Dynamic QR Codes on qrilo: What's the Difference?

On qrilo, a static QR code encodes your destination directly into the image — it's free, needs no account, and can never be changed once printed. A dynamic QR code points to a short redirect link instead, so you can edit the destination after printing and see scan analytics; it requires a free account and is free for up to 5 codes with 14 days of scan history. Choose static if your link is permanent and you don't need data; choose dynamic if the destination might change or you want to count scans.

The core difference: where the destination lives

A static code stores the actual content (URL, WiFi credentials, contact details) inside the pattern itself. The scanner reads it directly — no server involved.

A dynamic code stores a short redirect URL. When someone scans, that URL forwards them to whatever destination you've set in your qrilo account. Because the printed pattern only points to the redirect, you can swap the destination later without reprinting.

That single design choice explains every other difference between the two.

Side-by-side comparison

Dimension Static Dynamic
Cost Free Free for up to 5 codes
Account required No Yes (free account)
Editable after printing No Yes
Scan tracking No Yes — real-time analytics
Scan history None 14 days
Watermark on PNG/SVG/PDF None None
Best for Permanent links, one-off use Campaigns, printed materials that may change

When static is the right call

Pick static when the destination is fixed and you have no interest in who scans it:

  • A WiFi code for your home or office network
  • A vCard you hand out at a one-time event
  • A permanent link on a business card or product label
  • Any situation where you want zero setup and no account

The trade-off is real: once that code is printed on 500 flyers, the destination is locked in. If the URL breaks or the offer expires, those flyers are dead.

When dynamic earns its keep

Go dynamic when either of these is true:

  1. The destination might change. A restaurant menu that gets updated seasonally, a booking link that rotates, a promotion that ends.
  2. You need to know what's happening. Scan counts and timing tell you whether a printed poster, package insert, or table tent is actually being used.

The free tier covers 5 dynamic codes with 14 days of scan history — enough to test whether tracking is worth it before committing further.

How to create each one

Static:

  1. Pick a type from the generator (URL, WiFi, vCard, and 40+ others).
  2. Fill in the content fields — the live preview updates as you type.
  3. Optionally style it with colors, shapes, and a call-to-action frame.
  4. Click Generate QR Code and download as PNG, SVG, or PDF.

Expected result: a working code with no account, no watermark, no expiry.

Dynamic:

  1. Build the code the same way.
  2. Create a free account when prompted.
  3. Set the destination in your dashboard.
  4. Print and distribute.

Expected result: the same scannable pattern, but you can now edit the destination and watch scans come in.

Common sticking points

  • "I generated a static code and now I want tracking." You can't convert it — you'd generate a new dynamic code and replace the printed one. Decide before you print.
  • "My dynamic code stopped working." Check the destination in your dashboard; the redirect is only as good as what it points to.
  • "How long is my scan data kept?" On the free plan, 14 days. Export or note anything you need before it rolls off.
  • Styling is not a paid feature. Colors, shapes, and frames are free on every code, including the PNG, SVG, and PDF downloads.

Website Overview

Page metadata, canonical configuration and social previews work together to provide more consistent search and sharing presentation.

Domain and Registration

Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The domain has about 1 years of registration history; its current configuration provides more context than age alone. The registrar is GoDaddy.com, LLC, a widely used domain service provider. The domain uses the common .app extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Cloudflare Email Routing email service. No CNAME was found; the observed records resolve directly to addresses. SPF and DMARC are configured. DKIM status is unknown. TXT records include verification markers for Google. Such markers may also remain after a service stops being used.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

No X-Powered-By header was found, reducing one common source of backend fingerprinting information. All six checked browser-security headers are present. Their effectiveness still depends on the policy values and application behavior. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers. The Server header identifies cloudflare without an exact version.

Technology Stack Analysis

The public page identifies Google Analytics, Cloudflare without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

Twitter Card metadata is configured. JSON-LD includes Organization data, helping describe the organization as an entity. The title has 49 characters, within a common display range. A meta description is present, with 121 characters. The observed directives allow indexing and link following.

Hosting and Email

DNSCloudflare
HostingCloudflare
EmailCloudflare Email Routing
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.21.71.81

Registration details

RDAP / WHOIS

RegistrarGoDaddy.com, LLC
Registered2025-08-06
Expires2027-08-06
Domain statusclient delete prohibited、client renew prohibited、client transfer prohibited、client update prohibited
Nameserversarvind.ns.cloudflare.com、vivienne.ns.cloudflare.com
DNSSECunsigned

DNS records

DNS

TypeNameValueTTLPriority
Aqrilo.app104.21.71.81300—
Aqrilo.app172.67.143.248300—
AAAAqrilo.app2606:4700:3031::ac43:8ff8300—
AAAAqrilo.app2606:4700:3032::6815:4751300—
MXqrilo.approute2.mx.cloudflare.net30046
MXqrilo.approute1.mx.cloudflare.net30047
MXqrilo.approute3.mx.cloudflare.net30099
NSqrilo.apparvind.ns.cloudflare.com86400—
NSqrilo.appvivienne.ns.cloudflare.com86400—
TXTqrilo.appbrevo-code:ce01b247f52cb06568545d8aabc14daf300—
TXTqrilo.appgoogle-site-verification=ljgdgQwlYliHs64Ei5BS9bhyZvE_IlglJJqgY_lqqso300—
TXTqrilo.appv=spf1 include:_spf.mx.cloudflare.net ~all300—
DMARC_dmarc.qrilo.appv=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:[email protected];300—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectqrilo.app
IssuerGoogle Trust Services
Valid until2026-11-22T02:46 · Remaining when checked: 40 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlno-cache, private
servercloudflare
strict-transport-securitymax-age=15552000; includeSubDomains; preload
content-security-policydefault-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'self'; form-action 'self'; script-src 'self' 'nonce-PifWEKW9dWJhYWCq0jfHOvfD' https://cdn.jsdelivr.net https://cdn.paddle.com https://www.googletagmanager.com; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; img-src 'self' data: https://*.google-analytics.com https://*.googletagmanager.com https://launchnest.io https://saashunt.best; font-src 'self' data: https://cdn.jsdelivr.net https://fonts.scalar.com; connect-src 'self' https://cdn.paddle.com https://*.paddle.com https://*.google-analytics.com https://*.googletagmanager.com https://*.analytics.google.com; frame-src https://cdn.paddle.com https://*.paddle.com; worker-src 'self' blob:
x-frame-optionsSAMEORIGIN
x-content-type-optionsnosniff
referrer-policysame-origin
permissions-policycamera=(), microphone=(), geolocation=(), interest-cohort=()
set-cookieRedacted

Identified technologies

Google AnalyticsCloudflare

Pages, Search and Sharing

Meta descriptionGenerate free QR codes instantly. Upgrade to dynamic QR codes you can edit after printing, with real-time scan analytics.
Canonical URLhttps://qrilo.app
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 1 allowed · 4 disallowed
  • Allow/
  • Disallow/dashboard
  • Disallow/codes
  • Disallow/billing
  • Disallow/p/
oai-searchbot 1 allowed · 4 disallowed
  • Allow/
  • Disallow/dashboard
  • Disallow/codes
  • Disallow/billing
  • Disallow/p/
chatgpt-user 1 allowed · 4 disallowed
  • Allow/
  • Disallow/dashboard
  • Disallow/codes
  • Disallow/billing
  • Disallow/p/
claude-user 1 allowed · 4 disallowed
  • Allow/
  • Disallow/dashboard
  • Disallow/codes
  • Disallow/billing
  • Disallow/p/
claude-searchbot 1 allowed · 4 disallowed
  • Allow/
  • Disallow/dashboard
  • Disallow/codes
  • Disallow/billing
  • Disallow/p/
perplexitybot 1 allowed · 4 disallowed
  • Allow/
  • Disallow/dashboard
  • Disallow/codes
  • Disallow/billing
  • Disallow/p/
perplexity-user 1 allowed · 4 disallowed
  • Allow/
  • Disallow/dashboard
  • Disallow/codes
  • Disallow/billing
  • Disallow/p/
amazonbot 0 allowed · 1 disallowed
  • Disallow/
applebot-extended 0 allowed · 1 disallowed
  • Disallow/
bytespider 0 allowed · 1 disallowed
  • Disallow/
ccbot 0 allowed · 1 disallowed
  • Disallow/
claudebot 0 allowed · 1 disallowed
  • Disallow/
google-extended 0 allowed · 1 disallowed
  • Disallow/
gptbot 0 allowed · 1 disallowed
  • Disallow/
meta-externalagent 0 allowed · 1 disallowed
  • Disallow/

User reviews (0)

  • No reviews yet.