QR codes

A QR code you can change after it is printed.

A static code freezes the destination in ink. A GC.MW code encodes the short link, so the destination stays editable, every scan is counted, and the same square can open your digital business card.

formats, PNG for screens and SVG for print
2formats, PNG for screens and SVG for print
edge cache on every code
24 hedge cache on every code
square that opens a link or a card
1square that opens a link or a card
A high contrast QR code with a scan line sweeping across it

Shorten something now

What you get

  • One code, two formats

    A 512 pixel PNG for screens and a vector file for print. Query parameters set size, foreground and background colours.

  • Scans counted separately

    A visit arriving through the QR endpoint is recorded as a scan, so print placements can be compared against digital ones.

  • Short means scannable

    A 10-character link makes a code with fewer modules than a 40-character one. Larger squares survive bad lighting and small print.

  • Logo and colours

    Paid plans place a centre logo and pick brand colours. Error correction stays high enough that the logo cannot break the scan.

  • Point it at a card

    The same square can open your digital business card. One code on a badge, a menu or a name card replaces a stack of paper.

  • Cached for print runs

    Codes are cached for a day at the edge, so a run of 50,000 flyers costs nothing to serve.

How it works

  1. Shorten or claim

    Create a short link for the destination you want to print, or claim the name your digital business card lives on.

  2. Download the code

    Take the vector file for print and the PNG for screens. Set colours with the fg and bg parameters.

  3. Print, then keep editing

    Change the destination any time. The printed square keeps working because it points at the short link, not at the destination.

One platform, two surfaces

A short link and a business card are the same object here.

Point a link at a card and you have a handshake you can print, say out loud or tap across. Both halves report into one dashboard on one plan.

You hand this over

GC.MW/riya

Ten characters. Short enough to say on a call, print on a badge or fit inside an SMS.

It opens this

CARDS.GC.MW/riya

Your digital business card, on its own host, with a contact file the phone can save.

  • One link, one card

    A short link can resolve to your card, so the thing you hand over is 10 characters long.

  • One dashboard

    Links, cards, domains and codes are managed from the same screen under the same login.

  • One analytics view

    Clicks on a link and views on a card read from the same rollups, so a campaign is one number.

  • One plan, one key

    A plan covers both halves and one API key creates either. No second bill and no second vendor.

The other half

Digital business cards

A card that opens in a second, saves to a phone, and never runs out.

Bio page and card

You are here

Short links

Ten characters, an alias you choose, and a click count that updates in seconds.

Branded links on GC.MW

A rising 14-day click chart with top country, referrer and device ranked beside it

Questions people ask

Do the codes expire?

The code works as long as the link does. Links on a paid plan never expire while the plan is active. A free account keeps a link 365 days and an anonymous link lasts 30, so create a lifetime link before anything goes to print.

What size should I print?

At least 2 cm across for arm's-length scanning and larger for posters. Keep a quiet zone of four modules around the code and use the vector file for anything printed.

Can I generate a code for something that is not a link?

Yes. The free generator handles text, Wi-Fi credentials and contact files entirely in the browser. Those codes are static, so they cannot be tracked or edited afterwards.

Can one code open my business card?

Yes. Point the short link at your card and the printed square opens it. Update the card later and the square still works, because the code never encoded the card itself.

QR codes you can re-point after they are printed

The QR code on a laminated table card outlives every decision that produced it. The menu moves, the campaign ends, the agency changes, and the code is still there in the plastic. Whether that is an asset or a liability comes down to one question asked at design time: does the code encode the destination, or does it encode a link you control?

The two URLs

Every gc.mw link has its QR at two addresses. gc.mw/k7Rq.qr returns a PNG, 512 pixels by default. gc.mw/k7Rq.svg returns vector, which is what you send to a printer. Both take size between 96 and 2048, and fg and bg as hex colours, so gc.mw/k7Rq.svg?fg=1a1a2e&bg=ffffff is a complete print asset produced by typing a URL.

Images are cached for a day at the CDN with a week of stale-while-revalidate. A code on 50,000 flyers costs nothing to serve, because the image never changes, the redirect behind it does.

A QR code is a grid of modules. More data means more modules, and at a fixed printed width more modules means each one is physically smaller. Smaller modules are less forgiving of low light, cheap paper, a curved surface, or a camera held at an angle by someone walking past.

A four-character gc.mw code makes https://gc.mw/k7Rq, eighteen characters including the scheme. A typical campaign URL with UTM tags runs past 150. That difference is one or two version steps in the symbol, which is visible as chunkier squares on the same card.

This is the one place where our shorter codes are not a rounding error. Everywhere else, four characters versus seven is a talking point. On a bus shelter it is the difference between a scan and a shrug.

A worked example

A conference printed 400 lanyard backs with gc.mw/sched, an alias, not a random code, because attendees also typed it.

Day one, the schedule page fell over. The destination was re-pointed to a static PDF on another host in about ten seconds; the redirect cache invalidates on save, so the change was live before the next scan. Nobody in the hall knew anything had happened. The lanyards were not the problem, because the lanyards did not contain the answer, they contained a pointer to it.

At the end of the event the split mattered more than the total. Scans on the lanyard code ran ahead of clicks on the same link from the emailed agenda by roughly three to one, which told the organisers where to put their money the following year. One number, and it only exists because scans and clicks are recorded separately.

Error correction, logos and the trade behind them

QR codes carry redundancy so a damaged symbol still reads. More redundancy means more modules, which means smaller squares at the same width, the same trade as link length, arriving from a different direction.

Putting a logo in the centre deliberately damages the symbol and leans on that redundancy to survive. It works, up to a point, and past that point the code scans on your desk and fails on a wall. Our generator caps the logo at a fraction of the symbol and raises the error correction level to match; if you want a bigger logo, print a bigger code rather than a more damaged one.

QR Code Generator

Open the full tool

Wi-Fi credentials, a phone number, a vCard, plain text. These render entirely in your browser, nothing is uploaded, which matters when the payload is your guest network password. They are static by definition, so they cannot be tracked or re-pointed, and that is the correct trade for a code taped inside a cupboard door.

For anything that goes in front of customers, shorten first. Make the link on the branded links page, print the SVG, and keep the destination editable for as long as the print survives, which, in our experience, is always longer than anyone planned.