QR code for Instagram
Paste your profile address and download a code that opens your Instagram. Saved to an account it becomes dynamic, so you can change the handle behind it, send it to a post for a week, and see how many people scanned.
Dynamic & Editable
Change where it points after printing, and see who scans it.
Type a destination to download.
This is an example code. Style it now — yours takes its place as you type.
Design
Style
Colour#000000
Shapesquare
Body shape
Corner shape
Inside shape
Framelabel-below
Logonone
Print settingsECC M
Your handle can change; the sticker in the window cannot
An Instagram code gets printed on a window, a stall sign, a sticker sheet or the back of a card, and it stays there for a year or two. What sits behind it moves much faster than that: the account gets renamed, a giveaway ends, the shop link matters more than the profile this month. A dynamic code keeps the picture and lets the destination move.
Rename the account, keep the stickers
A rebrand changes your handle and breaks every printed link with it. Change the address in your account instead, and the window, the stall sign and the last box of cards open the new profile from the next scan.
Find out which sign brings people
Give the window, the stall and the flyer a code each. Their scan counts sit side by side, so you know which one earns its print run and which one nobody ever noticed.
Point it at the thing you are pushing
A giveaway post while it runs, the shop when stock lands, the profile the rest of the time. One printed code covers all three, because only the address behind it changes.
From the sticker in the window to the tap that followed
The address lives in your account, not in the print
Type a new destination, save, and the picture stays exactly as it was printed. Every address the code has had is kept, dated, with a button to put it back.

One code for every network you post on
A QR Menu is a page of buttons behind a single code: Instagram, TikTok, the shop, a message. People choose the one they already use, instead of you guessing which logo to print.
QR codes with multiple links
Which button people actually press
Opens for the page, taps for each row. When one network takes three times the taps of the rest, the next print run can carry two buttons instead of six.

Scans by day, against the day you posted
A bar for every day, with totals above it. Free keeps 90 days of history; from Starter and up the breakdown adds device, browser and where the scan came from.

What the code opens, and what to paste for it
A QR code holds one address. Which address is worth printing depends on what you want from the person holding the phone.
| What you want scanned | You paste | When it is the right one |
|---|---|---|
| Your profile | instagram.com/yourname | The default ask on a window, a stall or a flyer: follow us. |
| One post or reel | instagram.com/p/… or instagram.com/reel/… | A giveaway, a launch, a recipe you keep being asked for. |
| Every network at once | A QR Menu you build here | Instagram, TikTok, WhatsApp and the shop as buttons, each counted. |
| Something else this month | Any address: a shop, a booking page, a form | The same printed code, pointed elsewhere while a campaign runs. |
The code carries an instagram.com address, so the phone decides what opens it: the app where it is installed and set up to handle those links, the browser where it is not. That choice belongs to the phone, and nothing here changes it.
The handle you print today may belong to someone else later
This is the failure worth thinking about before a sticker order, and it is quiet: nothing breaks, the code still scans, and it simply stops being yours.
A static code has the profile address baked into the pattern itself. Change your name on Instagram, or close the account, and every printed copy keeps sending people to that old address for as long as the sticker survives — and if the name is later taken by somebody else, your stall sign is quietly advertising a stranger.
A dynamic one carries a short address we answer for, which means the profile it opens is simply a field you own. Renaming the shop becomes a one-line edit rather than a reprint, and if you ever leave Instagram entirely, the same sticker can point at whatever replaced it.
The same logic covers the smaller accidents: a typo in the handle spotted after the print run, a code made from a link that opened the app’s internal address instead of the public profile, or a giveaway post that was deleted. None of those need new stickers.
Three spots in a small shop, three different destinations
The same account, printed three times, rarely wants the same landing place. Each spot catches somebody at a different moment.
The window, after closing
Whoever is reading this is outside, the door is locked, and the profile is the right answer: hours, photos, a message button. This is the one code worth making first, and the one most likely to outlive a rebrand.
The counter, mid-purchase
Somebody already buying does not need convincing to look at photos. Point this one at the page with the loyalty sign-up, the ordering link and the review form as buttons, and watch which of them gets pressed.
The parcel or the market stall
A scanner here is holding something you made. A single post — the recipe, the maker’s story, this month’s giveaway — beats a profile, and a dynamic code lets that post change every season without new inserts.
Three codes rather than one also mean three counts, which is the only way to learn that the window does the work and the parcel insert does not — or the other way round, which happens just as often.
Scans are yours to read; followers are Instagram’s
The two numbers answer different questions, and neither one alone tells you whether the print run worked.
- A scan is someone lifting a phone to your sign. Counted here the moment it happens, with the day and a rough place. It measures the sign, the wording beside it and the spot you put it in.
- A follow happens after that, inside Instagram. Whatever the app reports about profile visits and new followers is the other half. Read it against the days your scans climbed.
- Two codes beat one guess. The same profile behind a window code and a flyer code, counted separately, settles an argument that no single number can.
- What is never kept. No raw IP address is stored at any point. Somebody who scans twice is matched inside a single day and no longer, by a hashed value thrown away each night, so no picture of a person accumulates here.
Check it at the source
- Instagram Help Center: find and customize the QR code of your Instagram profile. Instagram’s own profile code, made inside the app
Last reviewed , against the product as it works today.
What an Instagram code costs
A static code costs nothing and asks for no account. Free adds 3 editable items — the window, the stall and one flyer — while Starter, $12 each month, is where a second shop, a domain of your own and a year of history begin.
Free
Free
Unlimited static codes. Three editable ones that never expire.
- Unlimited static QR codes, forever
- 3 editable items in total — dynamic QR codes, QR Menus and QR Forms share them
- Dynamic codes never expire, and each comes with a short link
- Short links on their own, no QR code needed
3dynamic codes
Starter
$12/mo
For one business with codes out in the world.
- 5 QR Menus
- QR Forms
- Advanced tracking and analytics
- Live map of scans as they happen
100dynamic codes
Pro
Most chosen$39/mo
For agencies and teams running codes at scale.
- 50 QR Menus
- Unlimited analytics history
- 10 custom domains
- API access
600dynamic codes
Business
$99/mo
For organisations running codes across many brands.
- 400 QR Menus
- 50 custom domains
- Up to 25 team members and team management
- Up to 10 workspaces
2,000dynamic codes
Unlimited scans on every plan. Cancel online in two clicks. Compare every plan and feature
The rest of the toolbox
Open a row to see the screen and which plan has it.
Custom domains
Short links on your own domain, chosen code by code.Starter and up
Codes open go.yourbrand.com/menu rather than a link with our name in it, so the address under the code is yours. You add two DNS records and we check them. Then pick the domain for each code as you make it, or move a whole list of codes onto it at once.
Starter and up
QR codes on your own domain
Bulk QR code generator
A spreadsheet in, one dynamic code per row out.Starter and up
Paste or upload a list of names and links, match the columns, and get a dynamic code for every row - one per table, stall, badge or product - each with its own scans and destination.
Starter and up
The bulk generator
Change many codes at once
Tick the codes, then pause, tag, file or move them together.Pause and resume on every plan · folders and tags on Starter and up
Tick codes in the list, or pick every code with a tag, and pause or resume them, add or remove tags, move them to a folder or onto your own domain, or add campaign tags, in one go. The API does the same in one request.
Pause and resume on every plan · folders and tags on Starter and up

Short links, with your own ending
The link on its own, for a bio, an email or an ad.Every plan · custom endings on Business
Paste a link and get a short one you can change, route and count, with no QR code unless you want one. Every dynamic code already has its short link beside it, and a short link gets its QR code in one click - the same link, so clicks and scans count together. On Business you choose how the link ends, like /spring-menu, instead of random letters.
Every plan · custom endings on Business
The URL shortener
GS1 Digital Link for products
The retail code that carries your GTIN and still opens a web page.Every plan, Free included
Your domain and the GTIN from under the barcode, with batch, serial and dates if you want them, in the link format GS1 set for retail. A phone opens your page; the product data rides along in the address. The GTIN’s check digit is checked before anything is made.
Every plan, Free included
QR codes for packaging
Wi-Fi, contact cards, email, phone and SMS
Networks, contacts, calendar dates and places, not only links.Every plan, Free included
A website, plain text, a Wi-Fi network, an email, a phone number, a text message, a contact card, a GS1 Digital Link, a PDF, a location, a calendar event and more. Most download free, with no account; the few marked “Editable only” need one.
Every plan, Free included
Contact card codes
PDF codes you can update
Upload a PDF, print the code, swap the file later.Every plan, Free included
We host the file and the code opens it. Upload a new version and the same printed code opens that one, with the old file kept in its history in case you need it back.
Every plan, Free included
PDF to QR code
Your logo in the middle
Upload any image; we size it so the code still scans.Every plan, Free included
PNG, JPEG, WebP or GIF, up to 15 MB - we shrink it ourselves, so nobody has to compress a file first. Error correction goes up to make room, and the logo is never allowed to cover more of the pattern than the code can lose.
Every plan, Free included

Print-ready downloads
PNG and SVG on every plan, and a PDF for the printer.PNG and SVG on every plan · PDF on Starter and up
PNG for screens and quick jobs, SVG for anything that gets scaled, and a print-ready PDF on Starter and up.
PNG and SVG on every plan · PDF on Starter and up

Folders and tags
Keep one location’s or one campaign’s codes together.Starter and up
Put codes in a folder per shop, listing or campaign and filter the list by it. Deleting a folder never deletes a code - they move to No folder, and you can undo it.
Starter and up

Campaign presets
Saved UTM parameters, so printed scans are not “direct”.Starter and up
A printed code arrives in your web analytics as direct traffic. A preset fills in source, medium and campaign in one click, so the flyer and the table tent show up as themselves.
Starter and up

City-level scan locations
Which towns the scans came from, not only which countries.Pro and Business
Scans by city and region for each code, and towns on the live map. Coarse on purpose: the place the phone’s network reports, never a street or a precise position.
Pro and Business

CSV export
Daily scans per code, in a spreadsheet.Pro and Business
Download scans and unique visitors by day for one code or all of them - with each code’s name and short link - as CSV for your own reports, or for whoever asked how the campaign did.
Pro and Business

Webhooks
Your server hears about every scan and every change.Business
Pick the events - a scan, a code made or changed, a form answered, a QR Menu edited - and give us an address. Each one arrives as a signed POST, retried if your server is down, and every delivery is listed with the response it got.
Business
The API and webhooks
Separate workspaces
One subscription, a workspace per brand or client.Business
Each workspace has its own codes, team and analytics, so a client never sees another client’s. Up to 10 under one subscription.
Business

Priority email support
Paid plans’ emails are answered first.Starter and up
A person reads every message. On a paid plan yours is answered before free accounts’ - an order we keep, not a promised hour. Your plan and workspace go along with it, so nobody has to ask which account is yours.
Starter and up

Your data, to take or delete
A full export any time, and deletion you can take back.Every plan, Free included
Download everything - codes, history, scans, form answers and the files you uploaded - as one .zip with spreadsheets inside. Deleting the account gives you 30 days to change your mind, and your printed codes keep working until then.
Every plan, Free included

An API for the codes you print
A REST API for your own code: make dynamic codes and short links, change where they go, render SVG, PNG or PDF, add your domains and change hundreds of codes in one request. No-code tools like Zapier, Make and n8n can call it too, with a plain HTTP step. The API comes with Pro and up, and every request carries your key.
Render a code · Pro and up
curl -o code.svg \
-H "Authorization: Bearer $QRSALT_KEY" \
"https://app.qrsalt.com/api/qr?data=https://example.com"An SVG back, ready for a label, a template or an image tag.
Re-point a printed code · Pro and up
curl -X PATCH https://app.qrsalt.com/api/v1/codes/{id} \
-H "Authorization: Bearer $QRSALT_KEY" \
-H "content-type: application/json" \
-d '{"destination":"https://example.com/winter"}'The printed code opens the new page, and the old one is kept in its history. Keys can only ever touch their own workspace.
Change many codes at once · JavaScript
// Move a campaign's codes onto your own domain
await fetch('https://app.qrsalt.com/api/v1/codes/bulk', {
method: 'POST',
headers: {
authorization: `Bearer ${process.env.QRSALT_KEY}`,
'content-type': 'application/json',
},
body: JSON.stringify({ ids, action: 'domain', domain: 'go.example.com' }),
})Pause, tag, file or move codes in one call. The answer lists what changed and what was skipped.

Instagram codes, answered
- How do I turn my Instagram profile into a QR code?
- Paste your profile address, instagram.com/yourname, above and download the code. Save it to an account to make it dynamic, which is what lets you change the account or post behind it later and count the scans.
- Will it open the Instagram app or a web page?
- The code holds your instagram.com address. A phone with the app installed usually hands that address to the app; a phone without it opens the page in the browser. Either way the code itself does not change.
- Can I change which account or post it opens after printing?
- Yes, on a dynamic code, as often as you like and at no extra cost. The next scan of every sticker already stuck to a window follows the new address, and the old ones stay in the code’s history.
- Can one code hold Instagram, TikTok and my shop?
- That is what a QR Menu is for: a small hosted page whose buttons you choose, reached by the single code you printed, with the taps counted button by button. Free covers 1 of them, taken from its 3 editable items.
- Can I put my own logo in the middle of the code?
- Yes, on every plan, and you can set the colours, the module shape and the frame with its own line of text. Test the finished code with a phone before it goes to print: a logo that covers too much of it is the usual reason a code reads slowly.
- How many people scanned my Instagram code?
- A dynamic code counts every scan by day and by country. Free keeps 90 days of that history, Starter keeps 365 days, and the top plans keep it all.
- Is an Instagram QR code free?
- Yes, if a static one suits you: unlimited, account-free, and fixed forever on the address you typed. The editable kind needs an account — 3 of them cost nothing, and 100 come with Starter at $12 each month.
- Does scanning it need a data connection?
- An editable code does, because the scan passes through a short address we answer before the profile opens — which is exactly what lets you move it later. A static one carries the address inside the pattern and is read with no signal at all, but it can never be changed or counted. Market stalls in bad reception are the one place that trade-off is worth thinking about.
- Can I make one for an account that is not mine?
- Yes — a public profile address works whoever owns it, which is how a poster credits a collaborator or a stockist points at the maker. Every destination is screened when it is saved, and anyone can report a code that is being used for something it should not be.
- Does making the account private break the code?
- No. The code opens the same address whatever your privacy setting is, and the scan is counted here either way. What a signed-out visitor is shown when they arrive is Instagram’s decision rather than anything the code controls.
- Can I change how the code looks after it is printed?
- The picture is fixed the moment it is printed: new colours, a new logo or a different frame mean new artwork for the next run. Only the destination stays editable, which is usually the half that needs to move. PNG and SVG downloads are on every plan — send a designer the SVG — and print-ready PDF comes with Starter and up.
- What happens to the sticker if I stop paying?
- Your last paid day is not the last working day: for 30 days after it, a scan still lands wherever the code was last pointed, and an email tells you before that runs out. After it the code pauses on a page explaining why, waits there until the account has a plan again, and is never deleted — so the sticker in the window never becomes wrong, only quiet.
Several links, one code
Several networks behind the one sticker? That is a QR Menu, explained on QR codes with multiple links. Putting the same code on the back of a card as well? See business card QR codes.