← Free SEO tools

QR code generator with UTM

A QR code that shows up
in your analytics.

Build a tracked link and its QR code in one step, so scans from print and posters show up in your analytics.

Your tracked link

    Your QR code

    The code appears here once the URL is valid.

    Static code: it holds the URL shown above and nothing counts scans; measure the visits in your analytics. Runs in your browser; nothing is sent anywhere. Scan the final code with two phones before you print.

    Only need the tagged link? Use the UTM builder.

    More tools: UTM builder · URL slug generator · Article schema generator · All free tools

    Free, no account, nothing leaves your browser.

    How to use it

    1. 1
      Enter the page and the UTM tags

      Put in the full address you want people to land on, then source (for example flyer), medium (qr) and campaign (spring-launch). Term and content are optional. Leave the UTM box off to make a plain QR code for the URL.

    2. 2
      Check the tracked link and the code

      The tagged URL and the QR code update as you type. The code contains exactly the URL shown above it, so what you see is what a phone will open.

    3. 3
      Download it, then scan it before you print

      Download a PNG or SVG. Test the printed or on-screen code with at least two phones and make sure the tagged URL opens the right page. Keep the white border and print it large enough to scan.

    Questions

    Why add UTM parameters to a QR code?

    A QR code only holds a link, and a visit from a scan looks like direct traffic in analytics unless the link says otherwise. UTM tags in the link let Google Analytics and similar tools report those visits under the source, medium and campaign you chose, for example flyer, qr and spring-launch.

    Does the QR code count scans for me?

    No. This is a static QR code: it holds the URL itself, with no redirect in between, so nothing counts scans. What you can measure is the visits that reach your site with your UTM tags, in your analytics. That also means the code never expires and never depends on this site.

    Which UTM parameters are required?

    Google Analytics 4 documents utm_source, utm_medium and utm_campaign as the core three; utm_term and utm_content are optional. Values are case sensitive ("QR" and "qr" are two mediums), so keep them lowercase. The tool can lowercase them for you.

    Which error correction level should I pick?

    Error correction lets a code still scan when part of it is dirty or covered. L recovers about 7% of the code, M about 15%, Q about 25% and H about 30%, under the QR standard. Higher levels make the code denser, which is harder to scan at small sizes. M is a sensible default; use Q or H only if you plan to put a logo over it, and test it.

    How big should I print it?

    As a rule of thumb, scanners need each dot to be a few printed millimetres at reading distance, and a long URL makes the dots smaller. Keep the URL short, keep the white quiet border, use dark dots on a light background and test the real print. This tool warns when the URL is long enough to make a dense code.

    Can I change the colours?

    Yes, but keep strong contrast: dark dots on a light background. Many scanners cannot read light dots on a dark background (an inverted code), and pale colours fail in poor light. The tool warns on low contrast or an inverted pair; it cannot test every phone, so scan your final code.

    Is the QR code correct?

    The encoder follows the QR Code Model 2 specification for byte-mode text (versions 1 to 40, four error correction levels, the eight masks) and was checked by decoding generated codes with an independent QR reader. Even so, always scan the final code yourself before you print it.

    Does this tool keep my URLs?

    No. The URL, the tags and the code are built in your browser. Nothing is sent or stored. Do not put personal data in a UTM value: the tags are visible to anyone who scans the code.

    Should I use UTM tags on links inside my own site?

    No. Tagging internal links can overwrite the original source of a visit. Use them on links that bring people in from outside: print, posters, packaging, email, social posts and ads.

    More free SEO and GEO tools

    AI visibility checkerGEO

    Does ChatGPT search or Google AI Overviews cite your site? Who do they cite instead?

    AI crawler checkerGEO

    Is your robots.txt blocking ChatGPT, Claude, Perplexity or Gemini? 16 AI bots checked, plus llms.txt.

    Robots.txt and sitemap checkerSEO

    Can Google and Bing crawl your site? Is your sitemap valid and listed in robots.txt?

    Robots.txt generatorGEO

    Build a robots.txt with your sitemap and blocked paths, plus presets to block AI training bots and keep AI search.

    llms.txt generatorGEO

    Create an llms.txt in the llmstxt.org format. A community proposal; Google Search ignores it, and the page says so.

    Schema markup generatorSEO

    JSON-LD for FAQPage, Article, LocalBusiness and Organization, with required-field hints. No fake review schema.

    Open Graph tag generatorSEO

    Write og: and Twitter card tags, preview the share card and catch long titles and non-https images.

    Blog post ideasContent

    Real searches your site could write a post for, with approximate monthly volume and a suggested post format.

    SERP snippet checkerSEO

    Preview your title and meta description in Google, with the pixel widths Google truncates at.

    Meta description length checkerSEO

    Count characters and estimate pixel width for a meta description. Google sets no character limit, so the pixel line is a labelled approximation.

    Keyword combinerSEO

    Combine up to three keyword lists into every long-tail variation, ready to copy.

    Keyword density checkerContent

    Paste an article: see the words and phrases it repeats most, and spot keyword stuffing.

    Word counter and reading timeContent

    Live word, character, sentence and paragraph counts, reading time, and rough length guides for titles, meta descriptions and posts.

    Readability checkerContent

    Flesch reading ease, grade level, sentence length, long sentences and a passive-voice hint for English text. Syllables are estimated.

    UTM builderSEO

    Add source, medium and campaign to any link so analytics shows where each visit came from. Copy the tagged URL.

    Title case converterContent

    Switch any headline or paragraph to title case, sentence case, UPPERCASE or lowercase. Acronyms and brand names you typed are kept.

    hreflang generatorSEO

    List your language versions and copy the full set of hreflang link tags, with an optional x-default.

    Heading structure checkerContent

    Paste HTML or markdown and see the H1 to H6 outline, with missing or multiple H1s, skipped levels, empty and long headings flagged as guidance.

    Robots meta tag generatorSEO

    Build a robots meta tag and X-Robots-Tag header with noindex, nosnippet and max-snippet, plus Apache and nginx snippets. Directives documented by Google.

    Image alt text checkerContent

    Paste HTML and list every image with its alt text. Flags missing alt, empty alt to double-check, file names, long text and filler phrases as guidance.

    Keyword grouperSEO

    Paste up to 2,000 keywords and group them by shared words into a first draft of topic clusters. Groups by words, not search intent. Copy or download CSV.

    Link and anchor text checkerContent

    Paste HTML and list every link with its anchor text and rel values. Flags generic and empty anchors, placeholder hrefs and mixed anchors as guidance.

    SEO content brief generatorContent

    Turn a keyword, intent and reference URLs into a brief template: title options, outline, questions, on-page checklist and E-E-A-T prompts. Copy or download markdown.

    301 redirect generatorSEO

    Paste old and new URLs and get redirect rules for Apache, nginx, Netlify and Cloudflare _redirects and Vercel. Validates input and flags duplicates, chains and loops.

    IndexNow generatorSEO

    Make an IndexNow key, the key file and GET, POST and curl requests for your changed URLs. Builds the request only; Google is not a listed participant.

    Sitemap URL extractorSEO

    Paste sitemap.xml and list every URL and lastmod. Flags more than 50,000 entries, invalid dates, duplicates, non-http(s) URLs and mixed hosts. Copy or CSV.

    Canonical tag checkerSEO

    Paste page HTML and check its rel=canonical: head vs body, multiple tags, relative URLs, fragments, http/https and www mismatches, noindex and og:url.

    FAQ schema generatorSEO

    Paste your questions and answers and copy valid FAQPage JSON-LD, safely escaped. Valid markup only: Google no longer shows FAQ rich results.

    Article schema generatorSEO

    Article, BlogPosting or NewsArticle JSON-LD with several images and authors, date checks and a checklist of what Google documents as recommended. Parsed back before you copy.

    Breadcrumb schema generatorSEO

    Type your breadcrumb trail and copy BreadcrumbList JSON-LD with numbered positions and the last-item rule from Google's docs. Parsed back before you copy.

    JSON-LD checkerSEO

    Paste page HTML or a snippet and list every ld+json block: JSON syntax errors, @context, @type and @graph items. Parsed in your browser.

    Keyword cannibalization finderSEO

    Paste a Search Console export with Query and Page columns and list queries where two or more of your pages got impressions, with clicks and position per page. CSV export, in your browser.

    Striking distance keyword finderSEO

    Paste a Search Console export and list the queries ranking just off the top of page one, positions 8 to 20 by default, sorted by impressions. CSV export, in your browser.

    Content decay finderSEO

    Paste two Search Console exports, an earlier period and a recent one, and list the pages or queries that lost the most clicks. CSV export, in your browser.

    Question query finderContent

    Paste a Search Console export and list the queries phrased as questions, grouped by question word and sorted by impressions. CSV export, in your browser.

    Low CTR finderSEO

    Paste a Search Console export and list the queries or pages that rank high but earn few clicks, with your own position, impressions and CTR limits. CSV export, in your browser.

    CTR by position bucketSEO

    Paste a Search Console export and see impressions, clicks and CTR grouped by average position: 1, 2, 3, 4-5, 6-10, 11-20 and 21+. CSV export, in your browser.

    New vs lost queriesSEO

    Paste two Search Console exports and list the queries that appear only in the recent period and the ones only in the earlier one, with click and impression changes. CSV export, in your browser.

    Branded vs non-branded queriesSEO

    Paste a Search Console queries export and your brand terms and see queries, clicks, impressions, CTR and position for branded and non-branded searches. CSV export, in your browser.

    llms.txt validatorGEO

    Paste an llms.txt and check it against the llmstxt.org proposal: H1, summary, H2 link lists, Optional section, link format. A community proposal, not an official standard. In your browser.

    XML sitemap validatorSEO

    Paste sitemap XML and check well-formedness, urlset or sitemapindex, absolute loc URLs, the 50,000 URL and 50MB limits, lastmod format, duplicates and mixed hosts. In your browser.

    Internal link opportunity finderContent

    Paste your page URLs and titles and an article, and see which pages share words with it, with the phrase to link. Plain word matching, not a relevance score. In your browser.

    hreflang validatorSEO

    Paste the head HTML of each language version, or a sitemap with xhtml:link entries, and check codes, absolute URLs, self-reference and return links. Based on Google's documented rules. In your browser.

    URL structure checkerSEO

    Paste a list of URLs and flag upper case, underscores, unencoded characters, fragments used as routes, odd or many parameters and ID-number segments, against what Google documents. In your browser.

    HTTP header checkerSEO

    Paste response headers (curl -sIL) and check the status, redirect chain, X-Robots-Tag directives and Link header canonical and hreflang values, against what Google documents. In your browser.

    Structured data property checkerSEO

    Paste page HTML or JSON-LD and check Product, BreadcrumbList, LocalBusiness, Article, Organization and review markup for the required and recommended properties Google documents. In your browser.

    Redirect map checkerSEO

    Paste old URL to new URL pairs and find loops, chains, self redirects and conflicting sources, then copy a flattened map that skips the middle hops. In your browser.

    Duplicate title and meta description finderSEO

    Paste a crawl export of URL, title and description and find pages that share a title or description, plus missing ones. Exact matches only. In your browser.

    Sitemap diff checkerSEO

    Paste an old and a new sitemap and see which URLs were added, which were removed and which lastmod values changed. Exact URL matching. In your browser.

    Robots.txt diff checkerSEO

    Paste two robots.txt versions and see the rules added or removed under each user agent, changed sitemap lines, and a warning if the new file blocks the whole site. In your browser.

    Googlebot log analyzerSEO

    Paste access-log lines and see the hits claiming to be Googlebot by status code and day, with the URLs that returned redirects, 404s and 5xx. Claimed, not verified. In your browser.

    Robots.txt testerSEO

    Paste a robots.txt, a user agent and URLs and see allowed or blocked with the deciding rule. Google's documented matching: longest rule wins, allow wins ties, * and $. In your browser.

    Table of contents generatorContent

    Paste HTML or Markdown and get an anchor-linked table of contents with slugged heading ids, as HTML or Markdown. Copy it, in your browser.

    Meta tag checkerSEO

    Paste page HTML and list its title, meta description, viewport, charset, lang, canonical, robots, Open Graph and Twitter tags, with notes from Google's docs.

    Sitemap generatorSEO

    Paste a list of URLs and download a valid sitemap.xml: duplicates removed, one site, XML-escaped, 50,000-URL warning.

    SEO checklist for blog postsContent

    An interactive pre-publish checklist: intent, on-page, technical and after-publish checks, saved in your browser, with a free tool linked where one helps.

    Content calendar generatorContent

    Turn a list of topics into a dated publishing schedule. Pick the start date, weekdays and pace; copy it or download a CSV.

    URL slug generatorSEO

    Turn any title into a short, clean, SEO-friendly URL slug, in any language.

    SEO content cost calculatorContent

    Cost per blog post and per month: freelancer, agency, in-house, AI tools or Balzac. Your numbers, editable.

    Let Balzac write the articles.

    Type your website. Balzac finds the searches you can win, writes articles built to rank on Google and get cited by ChatGPT, and publishes them for you.

    3 free articles · No card needed