How to Use
Enter your data in the input field on the left, and a QR code will be generated in real time on the right. Click the download button to save the image.
Enter your data in the input field on the left, and a QR code will be generated in real time on the right. Click the download button to save the image.
Type or paste the content you want to encode into the input field, and the tool will generate a corresponding QR code image in real time. Supported content types include:
https://devtool.tech — scanning the code will open the link automaticallyWIFI:T:WPA;S:NetworkName;P:Password;; format — scanning will allow one-tap WiFi connectionOnce content is entered, the preview area refreshes immediately. Longer content results in a denser QR code.
After generating a QR code, you can adjust the following options to customize its look:
Once you are satisfied with the generated QR code, click the download button to save the image locally. The export format is PNG, ready for use in web pages, documents, or print materials.
If you need a larger image, adjust the size parameter before downloading to avoid blurriness from upscaling later.
This site provides a public API for QR code generation:
# Generate a QR code
$ curl -L devtool.tech/api/qrcode?data=https://www.baidu.com
Live Demo: https://devtool.tech/api/qrcode?data=https://shanyue.tech&width=200
$ npm i qrcode
Using it in JavaScript:
const QRCode = require('qrcode')
const dataurl = await QRCode.toDataURL('https://shanyue.tech')
A QR code's storage capacity depends on its version (Version 1 through Version 40) and error correction level. The maximum capacity is Version 40-L, which can store approximately 7,089 numeric characters or 4,296 alphanumeric characters. For double-byte characters such as Chinese, the maximum is around 1,817 characters. In practice, it is best to keep content to a few hundred characters — excessively long content results in a very dense QR code that may be difficult to scan reliably.
Error correction determines how much of the QR code can be damaged or obscured while still being readable. There are four levels: L (Low, ~7% recovery), M (Medium, ~15%), Q (Quartile, ~25%), and H (High, ~30%). If the QR code will be used on printed materials or in outdoor environments, choose Q or H to handle wear and tear. If you plan to place a logo in the center, you must use H, since the logo will cover part of the data area. For typical digital use, M is a good default.
Yes, you can customize both the foreground and background colors, but you must maintain sufficient contrast. Scanners rely on the brightness difference between dark modules and the light background to read data, so the foreground color should be darker than the background. Avoid low-contrast combinations (such as light gray on white), and avoid inverted schemes (light foreground on dark background) — some older devices may not recognize them. After customizing colors, test scanning with multiple devices to ensure readability.
This tool generates static QR codes where the data is encoded directly in the pattern itself, with no dependency on any server. Therefore, they have no expiration date and can be used indefinitely. As long as the QR code pattern is intact and clearly visible, it can be scanned at any time. Note that if the QR code encodes a URL, the linked webpage may go offline — this is not the QR code expiring, but the target link becoming unavailable.
There are several common reasons: the encoded content is too long, making the QR code too dense — tiny modules become hard to read on low-resolution screens or prints; insufficient contrast between foreground and background colors; the image is too small or has been compressed and blurred; an oversized logo covers too much of the data area, exceeding the error correction capacity. Solutions include: shortening the encoded content, increasing the error correction level, enlarging the output size, ensuring adequate color contrast, and keeping the logo area to no more than 10% of the total QR code area.
Fast image compressor with no size or quantity limits
Extract dominant color palette from uploaded images
Image Grayscale generator
Batch convert images between PNG, JPG, and WebP with quality control and ZIP download
Use Github repository as your personal image hosting
Image placeholder generator and API, customizable height, width, color, etc.