QR codes for real estate
A code for the board, the window card and the flyer that opens the listing on a phone. Point it at the next property when this one sells, and see which piece of print people actually 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
The board outlives the listing
Boards, window cards and flyer stock are bought in runs and used for years; a listing is live for a few weeks. Print the listing’s address into the code and the two are tied together, so the sale that ends the listing also kills the sign. A dynamic code cuts that tie: the board stays as it is and the address behind it moves to whatever you are selling now.
One board, listing after listing
When the property goes under offer, send its code to the next instruction on the same street, or to everything you have in that area. The board comes off one gate and goes onto another with nothing reprinted.
Which sign is doing the work
Give each printed piece a code of its own and each one keeps its own count. That turns "we marketed it widely" into a figure you can put in front of a vendor at the next valuation.
Your agency’s name on the link
A scanner sees the address before the page loads. With Starter and up the code’s short link sits on a domain of yours, like go.youragency.com, rather than a name they have never met.
What this looks like across a patch of listings
Every board and drop as its own code
Two properties, an open-house flyer and a neighbourhood drop, each with where it points, how many scans it has had, and which listing it belongs to.

The code on the back of your card
It opens your profile, your current instructions, or a valuation form. Change your mobile number or your photo and the cards in your pocket keep up.
Business card QR codes
Quiet for weeks, then a weekend
Scans by day show the shape of a campaign: nothing much, then a sharp run over the days the boards went up and the doors were open. Compare two streets, or this instruction against the last.

The agency’s name on every link you print
Choose a subdomain such as go.youragency.com, add the two records the screen gives you at your registrar, and the checker confirms it for you. Starter covers 1; Pro covers 10, which is one for each office or brand you run.
Custom domain QR codes
A code for each thing you print
Everything below is the same trick — the address lives in your account — but the job is different each time, and so is the kind of code that does it best.
Yard sign or board
The listing itself, on the portal or your own site, for the person standing at the gate.
Window card
The same listing after hours, when the office is shut and the phone is in their hand.
Flyer or letterbox drop
Its own code, so a drop on one street can be told apart from the board outside the house.
Brochure or floor plan
A PDF we host, replaced when the plan or the price changes, with no new QR code.
PDF QR codesOpen-house arrow board
A pin on the door you want people at, handed to whichever maps app that phone already uses.
Location QR codesYour own card
A contact card a buyer saves in one scan, with a number you can change without reordering.
Business card QR codesPoint it at the portal, or at a page you own
Both work, and the choice decides how often you will be editing. It is worth making deliberately before a hundred boards are printed.
Straight to the portal advert
A buyer lands on the advert they would have found anyway, with the photos and the enquiry form already built. The catch is that the address belongs to the portal: when the advert is withdrawn, renumbered or moved to a different portal, the code has to be repointed. On a dynamic code that is one edit, which is precisely why it should not be a static one.
To your own property page
The address stays yours, the branding is yours, and you decide what a scanner sees first: the video tour, the floor plan, the booking form. It means keeping that page alive for as long as the board is out, and it is the version that survives a change of portal without anybody touching the sign.
Either way, scan the printed proof before the run is approved, from the distance a buyer really stands at — across a front garden, or through glass at night. A code that works on a screen at arm’s length can still be unreadable on a board at the end of a drive, and that is the one mistake a dynamic code cannot fix for you afterwards.
Keeping it tidy once there are two hundred of them
A code per board across a whole branch becomes unmanageable quickly, so the account is built to be sorted rather than scrolled.
A folder for each property
Every code for one address — board, window, leaflet, brochure — kept together, so the day it sells you deal with a folder rather than hunting the list. Folders and tags come with Starter and up.
The negotiators who need it
Valuers and negotiators can hold their own logins instead of sharing one: up to 10 people on Pro and 25 on Business, with team management.
Lettings apart from sales
Separate workspaces keep two sides of a business, or two brands after a merger, from sharing one list of codes. Business carries up to 10.
For a vendor report, the figure worth quoting is the one per board per week, taken from each code’s own chart — and, where the branch runs its own website, the same numbers can be pulled out as a CSV or read through the API and dropped into whatever you already send.
From instruction to sold, on the same printed code
A listing goes through five or six states in a few weeks. Each one is a different thing for a scanner to land on, and none of them is worth a trip to the printer.
On the market
The listing
Photos, the plan and the way to book a viewing. The board goes up with the code already pointed there.
Open-house weekend
The viewing details
Set a date rule, on any plan, and the code shows the open-house page on the day and goes back to the listing on Monday.
Price adjusted
The same listing
Nothing to do. The board never carried the price, so it never carried a price that is wrong.
Under offer
What is left
A short line saying it is under offer, with your other instructions nearby, so the gate keeps earning enquiries.
Sold
The next property
Point the code at the new instruction, or at a valuation form for the neighbours who watched the board all month.
A whole book of instructions can arrive in one go: upload the sheet you already keep, up to 1,000 lines of it, and each line comes back as its own named code, ready to hand to the sign maker. The importer comes with Starter and up.
Last reviewed , against the product as it works today.
What this costs an agency
Free is enough to try it on one instruction. Starter at $12 a month gives 100 codes, a domain of your own, folders per listing and 365 days of scan history; Pro adds 10 domains and up to 10 people on the account.
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.

Real estate codes, answered
- How do I put a QR code on a property listing?
- Paste the listing’s web address above, set the agency’s colours and a line such as "See this property" under the code, then download it for whoever makes your boards. Save it to an account first, or the property behind it can never be changed.
- What should the code on a board open?
- Whichever page reads well on a phone at the gate: the portal listing, your own property page, or a viewing booking form. Scan the proof yourself before the boards are made, from the distance somebody would really stand.
- Can I reuse the same board for the next property?
- That is the point of a dynamic code. Change where it goes when the sale completes and the same board, on a different gate, opens the new listing from the next scan.
- How do I know which sign brought the enquiries?
- Give every printed piece a code of its own — the sign at the gate, the card in the window, the leaflet through the door — and read their daily counts against each other. It is the closest thing to an honest answer about where an enquiry began.
- Can the codes carry my agency’s own web address?
- Yes, with Starter and up. Add a subdomain such as go.youragency.com, copy two DNS records, and every code and short link uses it. Pro includes 10 and Business 50, which is a domain per office or brand.
- I have forty listings. Do I add them one at a time?
- No. Send the sheet you already keep through the importer, then download the finished links as a CSV for your sign maker or your web developer. It handles 1,000 lines a file and comes with Starter and up.
- Is it free?
- Static codes are free with no account, but they can never be repointed, which is the whole reason to use one here. Free includes 3 editable codes; Starter at $12 a month holds 100, enough for a board, a card and a flyer on thirty instructions.
- A whole terrace just completed. Do I repoint them one by one?
- No. Select the codes in the list and change them together — up to 500 in a single action — which is how a branch clears a week of completions in one sitting rather than opening thirty codes in turn.
- Can I take a code out of service without losing it?
- Yes. Pause it, and a scan meets a short page saying so instead of an advert that is no longer true, while the code, its history and its scan record stay exactly where they are. Un-pause it when the property comes back to the market, which happens often enough to be worth the habit.
- What file does the sign maker need?
- PNG and SVG downloads come with every plan, and SVG is the one to send for anything board-sized, since it can be enlarged without softening at the edges. A print-ready PDF comes with Starter and up, which is what most trade printers ask for.
- What if a property sells and nobody updates its code?
- It goes on opening the old advert, which is the failure worth guarding against rather than the plan running out. Two habits prevent it: keep one folder per address so the whole set is repointed in a single sitting, and set a date rule in advance so the code moves itself around the day you expect completion.
- What happens to the boards out on the street if I cancel?
- They keep opening whatever each code last pointed at for 30 days beyond the paid period, and we email you before that runs out. After it, a scan meets a page explaining the code is paused rather than an error, and paying again restores every one of them.