QR codes for property: sales boards, lettings and holiday lets

A blank estate agent board on a wooden post outside a Victorian terraced house.

QR codes for property: sales boards, lettings and holiday lets

A single for-sale board is one QR code, and OpenQR already has pages for that: the listing link on the sign, the WhatsApp enquiry, the agent's vCard. An agency is a different shape of problem. Twenty or thirty live listings at once, each on its own board, each needing its own destination, and each one due to change the day it sells rather than the day someone drives past and notices the board is still up. This page is for whoever manages the whole book: importing the listings in one go, watching which boards actually get scanned, and handling lettings and holiday lets, where the code lives on the door rather than on the verge.

Already know which sign you're printing?

The for-sale sign page, the WhatsApp enquiry code and the agent vCard each walk through one board on its own. This page is the layer above them: what changes when you're running thirty boards instead of one.

One code per listing, not one code reprinted

The test that decides everything else is whether each code needs a different destination. A single agent selling one house can reuse the same design principles as any other sign. An agency cannot reuse the same code: every listing has its own address, its own photos, its own status, so every board needs its own code pointing at its own page. Thirty live listings is thirty codes, not one code printed thirty times.

  • One per for-sale or to-let board, pointing at that property's listing page
  • One per window card, so a browser outside opening hours reaches the right gallery
  • One per brochure cover, linking to that property's virtual tour
  • One per let unit, opening check-in instructions rather than a listing
  • One per holiday-let unit, covering appliance manuals and the wifi password instead

Import the book instead of typing thirty destinations by hand

Most agencies already hold the source data: a portal export or a CRM listing feed with an address and a URL for every live property. The bulk generator takes that CSV directly, maps address to label and URL to destination, and shows you the mapping before it generates anything. That last part matters: pasting a portal export the wrong way round produces thirty labels that scan to the word “Address”, and you want to catch that on screen, not on a printed board.

Repoint the board the day it sells, not the day someone notices

A printed board stays up for weeks after the sale completes. Agreeing the sale doesn't take the sign down, conveyancing doesn't take the sign down, and a busy branch reprinting every board the day contracts exchange is not realistic. With a dynamic code, none of that matters: the physical board stays exactly where it is and the destination changes underneath it. A scan on Monday opens the live listing; the same scan on Tuesday opens “Sold, see similar properties” instead of a 404 or a listing that has quietly vanished from the portal. See the dynamic codes guide for how repointing works.

A number you can take to a vendor

Every scan is logged with a date and a rough location, and that turns into something an agent can actually say to a client: your board was scanned 40 times this week. No vendor has ever heard that sentence from an agency before, because until now nobody could produce it. It costs the agency nothing to say and it is a stronger reason to relist with the same branch next time than anything in the fee structure.

That is the most useful idea on this page, and it is worth being precise about what it proves and what it doesn't. A scan means someone stood in front of the board and pointed a phone at it: real, local, physical interest, which is a genuinely different signal from a portal click from a browser three counties away. It does not prove the scanner liked the property, could afford it, or is going to call. Sell it as footfall evidence, not as a lead count, and it holds up.

Free covers a handful, not a portfolio

Static codes are free and unlimited, and suit anything that never changes, such as a vCard on a business card. Repointable, trackable codes are the ones that matter for a live listing book: three free, then Pro at £9/month. An agent running thirty listings needs Pro from the first board, and it's worth saying so up front rather than discovering the cap at listing four. See pricing.

Sizing a board, a V-board and a window card

Size follows how far away the code will be read from, and property signage covers a wider range of distances than almost anything else on this site. A window card is read from the pavement, close to the glass. A V-board on a verge is read by someone walking past on the pavement too, but often from further back to take in the whole board. A large estate-agency V-board on a busy road is sometimes read from a stopped or slow-moving car, which is a different job again: the code needs to be legible at a glance from several metres, not studied.

PlacementTypical scan distanceMinimum code size
Window card0.5-1 m, close to the glass6-8 cm
Brochure or property particulars0.3 m, held in hand3 cm
Pavement for-sale or to-let board2-3 m, walking past20-30 cm
Large V-board on a busier road4-6 m, read from a car40-60 cm

Those figures follow the 10:1 rule: the code should be at least a tenth of the distance it needs to read from. The full working, including error correction and printing at an exact millimetre size, is in the print size guide. Get the V-board wrong and the effect is invisible until someone tells you the sign never worked from the road, which is exactly the scan count this page just told you to start checking.

Lettings and holiday lets: codes at the unit level

A letting agent or a holiday-let owner has the same set-shaped problem, one level down. Instead of one code per listing, it's one code per unit, and instead of pointing at a property page, it points at whatever a tenant or guest needs on arrival: check-in instructions, the appliance manuals for a kitchen full of things a guest has never used before, and the wifi. A wifi QR code handles the last of those on its own, but for a holiday let the more useful move is one dynamic code per unit that opens a short welcome page covering all three, so a guest scans once on arrival rather than hunting for a laminated card.

This is where the set-shaped argument is clearest. A holiday-let owner with six units needs six different destinations, because unit 3's boiler instructions are not unit 5's, and the bin day is different on the other side of the building. Bulk-generating six codes from a short list of unit names takes the same shape as bulk-generating thirty listing codes: paste the list, check the mapping, print.

From listing book to printed boards

  1. 1

    Export the listing book

    Pull address and listing URL as a CSV from your portal feed or CRM, one row per live property or unit.

  2. 2

    Paste it into the bulk generator

    The bulk generator maps the address column to the label and the URL column to the destination, and shows you that mapping before generating anything.

  3. 3

    Size each code for where it will stand

    A window card, a pavement board and a V-board read from a car each need a different minimum size; check them against the table above.

  4. 4

    Repoint on completion, not before

    The day a sale completes, edit that listing's code to a sold page instead of ordering a new board.

  5. 5

    Check the scan count before the next vendor conversation

    A board scanned 40 times in a week is worth mentioning to the seller unprompted, and a board scanned twice tells you something too.

Yes, if you want to repoint it when the property sells or see scan counts per board. A static code that just encodes one fixed URL can be reused as a design, but each listing still needs its own code because each one points somewhere different.

Make the whole set at once

The bulk tool opens seeded with the shape of this job: example rows in your vocabulary, and the filename pattern that suits it. Free, unlimited and with no account for static codes.

Open the bulk generator