The simplest way: use a free QR code generator
The fastest route is to paste your link into a free QR code generator, which creates a scannable image in seconds. You do not need to install anything or understand how QR codes work — you just paste the URL, download the image, and use it anywhere.
Popular generators include QR Code Generator (qr-code-generator.com), QR Server (qr.net), and Unitag (unitag.io). Each works the same way: you enter your link in a text box, choose your image size and style if you want to, and download a PNG or SVG file. Most let you customize colors or add a logo, though the default black-and-white square works fine for scanning.
The QR code itself is just an image file. Once you download it, you can email it, print it, put it on a website, or add it to a document. Anyone with a smartphone camera or QR code reader app can scan it and land on your link.
Key Takeaways
- Free online QR code generators like QR Code Generator or QR Server turn any link into a scannable image in one step — no software installation needed.
- The QR code is a static image file (PNG or SVG) that does not change, so the link inside it must be correct before you generate it.
- If you need to change where the QR code points after creating it, you must generate a new QR code with the updated link.
- Dynamic QR codes from services like Bitly or TinyURL let you change the destination link later without regenerating the image.
- QR codes work on any smartphone camera without an app, though older phones may need a dedicated QR reader from the app store.
Understanding static versus dynamic QR codes
A static QR code is the simplest type. The link is baked into the image itself, so once you create it, you cannot change where it points. If you need to update the destination, you generate a new QR code. This is fine for most uses — a printed poster, a business card, a one-time email — because the link does not change.
A dynamic QR code works differently. Instead of encoding your actual link, it encodes a redirect URL from a service like Bitly, TinyURL, or Rebrandly. You can change where that redirect points without touching the QR code image. This is useful if you are running a campaign and want to swap the destination later, or if you want to track how many times the code was scanned.
To create a dynamic QR code, use a URL shortener that offers QR generation. Bitly (bitly.com) and TinyURL (tinyurl.com) both generate QR codes for their shortened links. Create a shortened link first, then generate its QR code. Later, if you log into your account, you can change where that shortened link points, and the QR code will follow automatically.
Generating QR codes from the command line
If you work with code or automate tasks, you can generate QR codes programmatically using Python, Node.js, or other languages. This is useful if you need to create hundreds of QR codes at once or embed QR generation into a larger workflow.
In Python, the qrcode library is the standard choice. Install it with pip install qrcode[pil], then create a QR code with a few lines:
import qrcode qr = qrcode.QRCode() qr.add_data("https://example.com") qr.make() img = qr.make_image() img.save("qrcode.png")
In Node.js, the qrcode npm package works similarly. Install it with npm install qrcode, then generate an image file or embed it directly in a web page. For most people, a web generator is simpler, but command-line tools are faster if you are creating many codes or integrating QR generation into an application.
Adding QR codes to websites and documents
Once you have a QR code image, you can place it anywhere a regular image goes. In a Word document, use Insert > Pictures and select your QR code file. In Google Docs, use Insert > Image and upload the file. On a website, use a standard <img> tag pointing to the image file.
If you are building a website and want to generate QR codes on the fly — for example, a QR code for each product or each user profile — use a QR code library in your web framework. Most frameworks have libraries available: Django has django-qr-code, Rails has rqrcode, and PHP has phpqrcode. These let you generate QR codes dynamically as part of your page rendering.
When placing a QR code in print or on screen, leave clear space around it (at least one-quarter inch on all sides) and make sure it is large enough to scan — typically at least one inch by one inch. A QR code that is too small or too cluttered will not scan reliably.
Tracking scans and changing destinations later
If you want to know how many people scanned your QR code or where they came from, use a URL shortener with analytics. Bitly, TinyURL, and Rebrandly all track clicks and show you geographic data, device type, and referrer information.
Create a shortened link first, generate its QR code, then monitor the link's dashboard. You can see real-time scan counts and change the destination URL anytime without regenerating the QR code. This is especially useful for marketing campaigns, event promotions, or any situation where you want to measure engagement.
Keep in mind that the shortener service must stay online for the QR code to work. If Bitly shuts down or your account is deleted, the QR code stops working. For permanent links that you control, a static QR code pointing directly to your own domain is more reliable.
Troubleshooting QR codes that do not scan
If a QR code will not scan, the most common causes are size, contrast, and damage. Make sure the code is at least one inch by one inch and has strong black-and-white contrast — avoid light colors or gradients. If the code is printed, check that the ink did not smudge or fade.
Test the code yourself before distributing it. Use your phone's camera app (most modern phones scan QR codes natively) or download a free QR reader app from your phone's app store. If it does not scan on your phone, regenerate it and try again.
If you customized the QR code with colors or a logo, that can sometimes interfere with scanning. Try generating a plain black-and-white version to rule out design issues. Also verify that the link inside the code is correct — if you pasted a typo, the code will scan but land on a broken page.
Frequently Asked Questions
Can I change a QR code after I create it?
Not if it is a static QR code — the link is permanent. You must generate a new QR code with the updated link. If you need to change the destination later, use a dynamic QR code from a URL shortener like Bitly instead.
Do I need an app to scan a QR code?
No. Most smartphones made in the last five years can scan QR codes using the built-in camera app — just point the camera at the code and tap the notification that appears. Older phones may need a dedicated QR reader app from the app store.
What format should I save my QR code in?
PNG works for most uses and keeps the file size small. SVG is better if you need to resize the code without losing quality, since SVG is vector-based. Avoid JPG because compression can damage the fine lines in the QR pattern.
Can I put a QR code on a dark background?
Yes, but the QR code itself must stay black and white for reliable scanning. If your background is dark, keep the code white with a black pattern, or add a white border around it. Avoid colored QR codes or codes with low contrast to the background.
How long does a QR code last?
A static QR code lasts forever — it is just an image. A dynamic QR code lasts as long as the shortener service keeps it active. If you stop paying for a premium shortener account or the service shuts down, the code may stop working.