MakeQR

QR Code Generator for WordPress

Adding a code without installing anything new

  • Free, and no account to create
  • Never expires, unlimited scans
  • Checked to scan before you print it

Free and permanent, but it can never be edited or tracked once printed.

Scan to test

Y
yoursite.com
Print as poster, table card or stickers · free for 14 days with an account

Free, no account. Works forever and never expires.

WordPress core has no QR code feature, and its Media Library blocks SVG uploads by default for security reasons. A PNG code uploads and displays normally through the block editor's Image block; SVG needs either a security-vetted plugin that allows the format or embedding through a Custom HTML block instead.

WordPress core has no QR feature, and a code pointing at a page doesn't need a plugin the way so much else on the platform does. A code made separately and downloaded as an image adds through the standard block editor the same way a photo does, no extra installation required.

The real wrinkle is file format: WordPress blocks SVG uploads to the Media Library by default, a long-standing security setting meant to stop malicious scripts hidden inside SVG files, so a QR code's vector version needs a different route than its raster PNG version. A PNG from any generator uploads and displays normally; SVG needs either a vetted plugin that allows the format or a Custom HTML block instead.

Adding a QR code to a WordPress page or post

  1. Build the code

    Static for a page whose content is settled; dynamic if the destination — a landing page, a downloadable file — might be swapped out later.

  2. Download as PNG for the Media Library

    PNG uploads through the standard Add Media flow with no configuration changes, since it isn't blocked by WordPress's default file-type restrictions.

  3. Add it with the Image block

    In the block editor, insert an Image block, upload the PNG, and resize it using the block's own width controls.

  4. Use SVG only if uploads are already enabled

    A site with a vetted plugin or code snippet allowing SVG can upload it the same way as PNG; otherwise, embed the SVG's markup directly inside a Custom HTML block instead of uploading the file.

Why SVG uploads are blocked in the first place

WordPress disallows SVG in the Media Library by default because an SVG file can contain embedded JavaScript, which is a real cross-site-scripting risk on a platform where anyone with upload access could otherwise introduce a script into a page. It's a deliberate security default, not a bug, and it applies regardless of what the SVG actually contains — including a harmless QR code.

PNG is the path of least resistance

For most sites, a QR code doesn't need vector scaling on a web page the way it might in a print layout — it's displayed at one size, and a PNG exported at that display size looks identical to an SVG version on screen. That makes PNG the practical default for a WordPress page unless the code also needs to be reused somewhere it will be resized or printed.

Getting SVG onto the page anyway

Two routes exist without touching core WordPress security settings carelessly: a well-maintained plugin that specifically allows and sanitizes SVG uploads, or pasting the SVG's own markup directly into a Custom HTML block, which sidesteps the Media Library's file-type check entirely since nothing is being uploaded as a file.

What the embedded code contains

A static code holds its destination directly in the image — a page URL, a download link — with nothing to update later. A dynamic code holds a short link that can be repointed if the underlying content moves.

Inside the code
https://example.com/latest-post

Displaying a code on a page versus printing it

A code shown only on screen doesn't need the same physical-size math as a printed one, but if the same code is also printed on a flyer or card, the usual floor applies: about 20 mm on a side, with scanning distance around ten times the printed width.

Print it at least 20 mm (2.0 cm) wide

Where WordPress uploads trip people up

  • Trying to upload SVG without checking the site's settings first

    A default WordPress install rejects the file outright — worth confirming a vetted plugin allows it before assuming the upload will work.

  • Installing an unmaintained plugin just to enable SVG

    A plugin that hasn't been updated in years to unblock a file type WordPress restricts for security reasons can introduce more risk than it solves.

  • Uploading a tiny PNG and letting the block editor stretch it

    The Image block's resize handles can enlarge a small file well past its native resolution, softening the code's edges.

Static fits most published content

A code linking to a published post or page that already exists is fine as a free static code. A code meant to survive a site restructure, or reused across multiple posts with different intended destinations, is a better fit for a dynamic code.

How dynamic QR codes work

Where a code shows up on a WordPress site

  • A blog post footer linking to a newsletter sign-up page.
  • A product page on a WooCommerce store linking to a support page.
  • A printed flyer promoting the site, linking back to a landing page.
  • An About page linking to a downloadable media kit.

A QR code that still works next year

Most of what goes wrong with a QR code happens after it is printed. These six things are why ours does not.

  • Checked before you print

    We decode every code you make and read it back. If a logo covers too much or a colour is too faint for paper, you find out here — not after the print run.

  • Unlimited scans, every plan

    Including the free one. A scan cap kills a printed code at the moment it starts working, which is why we do not have one.

  • We do not switch off your codes

    Two dynamic codes stay yours permanently, whatever you pay us. Cancel a paid plan and you keep them — the rest pause after 30 days, with three warnings first, and a paused code shows a neutral page, never a sales page.

  • Made on your device

    Static codes never reach our servers. Your WiFi password, your contact details and your logo stay in the browser — which is also why there is no limit.

  • Ready for the printer

    SVG for anything that gets scaled, and PNG at 1024px so the edges stay hard. Both free, no account.

  • Available in English, Norwegian Bokmål, Danish, Swedish, German, French, Dutch, Italian, Spanish, Finnish, Portuguese, and Polish

    The generator and every page speak English, Norwegian Bokmål, Danish, Swedish, German, French, Dutch, Italian, Spanish, Finnish, Portuguese, and Polish. More languages follow as each one is reviewed by a native speaker.

See what happens after you print

A dynamic code points at a short link you own. Change where it goes without reprinting anything, and see how often each code has been scanned and when the last scan was.

  • Change the destination any time, as often as you like
  • A scan count and the last scan for every code
  • No scan limit, on any plan
  • Cancel and you keep two codes permanently — the rest pause after 30 days
Start free

2 codes free. Paid from $7/month. Compare plans

MakeQRCNCafe Nord

Analytics

Aug 14 – Sep 12

7D30D90D1Y

Total scans

11,875

18%

Unique scanners

8,431

14%

Active codes

24

3

Scans per day

396

18%

Scans over time

0
200
400
600
800
Aug 14Aug 21Aug 28Sep 4Sep 11

Devices

62%

of scans came from an iPhone

  • iPhone62%
  • Android34%
  • Other4%

QR Code Generator for WordPress: questions and answers

Short answers to what people ask before they print. Anything else, write to us.

Ask us something else

Does WordPress have a built-in QR code generator?

No. A code is generated elsewhere and added through the block editor's Image block, the same as any other picture.

Why won't WordPress let me upload an SVG QR code?

WordPress blocks SVG uploads by default because the format can contain embedded scripts, a security precaution that applies to all SVG files, not just QR codes.

Can I still use an SVG QR code on my WordPress site?

Yes, either through a vetted plugin that safely allows SVG uploads, or by pasting the SVG's markup into a Custom HTML block instead of uploading a file.

Is PNG good enough for a QR code on a web page?

For on-screen display at a fixed size, yes — a PNG exported at that display size looks identical to a vector version. SVG matters more when the same code will also be printed.

Can I change a QR code's destination after publishing the post?

Only with a dynamic code, since a static code's destination is fixed in the image file. A dynamic code's short link can be updated without touching the post.

Make a code that still works next year

Free static codes with no account, two permanent dynamic codes, unlimited scans on every plan, and a check that tells you it scans before you print it.

Make a QR code

No account for static codes. Nothing to cancel.