Skip to main content
OpenQRS
Tools
Current language: English
100% Private

Make a QR code
your own.

A link, a little personality, and you’re ready to share.

URL settings

The scheme is optional — anything entered without one is encoded as https://. Only http and https links are accepted.

Design

Module shape
Presets
Corner frame
Add a centre logo
Choose an image, or drop one herePNG, JPEG, WebP or GIF, up to 1000 KB

The image is read in this page and embedded in the code as a data: URL. It is not uploaded, and it stays inside the file you download.

More design options

The dark half of the code. Keep it well below the background in lightness.

Covers the quiet zone as well as the gaps between modules. A transparent background leaves it out of the file, so nothing is drawn with it.

Contrast 11.5:1 between the modules and the background.

Presets

PNG and WebP keep an alpha channel; the SVG simply omits the background rectangle. Whatever the code is placed on becomes the light half of the contrast.

Gradient

A gradient fills the dark modules only. Its lighter end sets the contrast a scanner actually gets, so both ends have to stay dark.

The second colour, used only while a gradient is selected. It is measured for contrast alongside the first.

45°

Degrees clockwise from a left-to-right sweep. A radial gradient spreads from the centre outwards, so the angle applies to a linear one only.

Module shape

Rounded shapes cover less of each cell. The centre stays covered, which is where a decoder samples, but a small print of a dense code reads more reliably as squares.

Corner frame

The ring of the three finder patterns.

Corner centre

The eye inside each finder pattern.

4 modules

The blank margin around the code, measured in modules. 4 is the specified minimum.

Higher recovery survives more damage and costs capacity, so the same content produces a denser symbol.

No logo, so the whole recovery budget is available for print damage. This symbol would allow one up to 17% wide, spending about 32% of it.

Live preview & export

Export

Export

Raster, for screens

Files are built in this page and saved straight to your device.

Export size and encoded text
Payload
19 bytes
Symbol
Version 2, 25 by 25 modules
Recovery
M

Symbol built

Export size

Between 64 and 4096 pixels. Exporting at 1024 px.

Encoded text
https://openqrs.com

When scannedThe reader shows the full address and offers to open it in the browser. Nothing loads until the person scanning agrees.

More types

Why these codes do not expire

Communication & social

Hand someone a network, a contact card, a chat or a profile in one scan.

Business, local & events

Menus, reviews, maps, calendar invites and meeting links for physical places.

Payments & crypto

Payment links and wallet addresses printed once and scanned forever.

Files, web & utilities

Links, documents, phone numbers, coupons and plain offline text.

Why these codes do not expire

A QR code that stops working was never carrying its own payload. It was carrying a short address belonging to a service, and the service stopped answering — because a subscription lapsed, a trial ended or a company closed. Every code built here carries the payload instead, so there is nothing in the middle that can stop answering.

  • The password, the address or the contact card is in the modules, not in a database.
  • No account is created, so no account can lapse and take the printed code with it.
  • Wi-Fi, contact card, plain text, phone and calendar payloads need no network at all when they are read.
  • The honest cost: a static code cannot be repointed after printing. If you need that, point it at a short path on a domain you own and redirect it yourself.