FIRST CH TOOLS / Other / 30 QR CODE GENERATOR
QR Code Generator
Type a URL or a message and it becomes a QR code straight away, ready to download as SVG or PNG. The SVG stays sharp at any size, so it can go directly into artwork for business cards, flyers and posters. If the print may get smudged or folded, raise the error correction level. Everything runs on this page — what you type never reaches a server.
The size is the edge length of the PNG you download (the SVG is vector, so this only sets its initial display size). The quiet zone is the white border around the code; the standard recommends 4 modules. Scanners use it to tell where the code ends, so dropping it to 0 can break scanning over a patterned background.
| Item | Value | What it means |
|---|
Nothing you type leaves the browser — the encoding, the error correction maths and the image export all run on this page. You can also call it straight from a URL: /en/qr/?text=https%3A%2F%2Fexample.com%2F or /en/qr/?text=…&ec=H&size=512&margin=2
How to Use
- Enter the contentA URL or plain text — the code is redrawn on every keystroke. For set formats such as Wi-Fi or email, insert a template with the buttons and edit the values.
- Pick the size and strengthA higher error correction level survives more damage but makes the code finer. Use Q or H for print, M for screens.
- Save itUse SVG for print and design files, PNG for the web and social posts. Once saved, scan it with a real phone before you ship it.
About This Tool
The whole code is assembled on this page.Your text is turned into UTF-8 bytes, prefixed with the mode and character-count bits, extended with Reed–Solomon error correction, laid out around the finder patterns, timing patterns and version information, and finally masked with whichever of the eight patterns scores best. There is no API and no image server behind it, so an internal URL or a client's contact details never leave your machine.
SVG or PNG.An SVG stores shapes rather than pixels, so it stays razor-sharp from business card to poster — use it for print and design files. A PNG is written at the pixel size you choose, which suits web pages, social posts and slide decks. Module edges in the PNG are rounded to whole pixels, so you never get a half-grey seam between modules.
Error correction is how much damage the code survives.A QR code carries spare data so it can be read even when part of it is missing. The four levels run from L (about 7%) to H (about 30%); raising the level makes the code denser for the same content. Choose Q or H for anything printed, exposed outdoors, abraded on a label, or overlaid with a logo. For a code shown on screen, M is plenty — and a coarser code is easier to scan from a distance.
The encoding mode follows your content.Digits alone use numeric mode and uppercase alphanumerics use alphanumeric mode, both of which fit more into the same version. Everything else — lowercase letters, other scripts, most punctuation — goes into UTF-8 byte mode, where a Japanese character costs 3 bytes and fills the code much faster than a URL does. If the content no longer fits, the tool says so (the ceilings are 7,089 digits, 4,296 alphanumeric characters or 2,953 bytes, all at level L).
Keep the quiet zone.Scanners rely on the plain border around a code to find its edges. The standard recommends 4 modules and that is the default here. If layout pressure makes you trim it, at least keep a margin wherever the background is not plain white.
To go the other way and read a code out of an image, use the QR Code Reader. It is useful both for checking that a code you made holds the string you intended, and for inspecting a suspicious code from a flyer or a letter without visiting it (decoded URLs are never opened automatically).
To shrink the images around it, see the WebP converter; to check the print colours, the contrast checker; to add tracking parameters to the link, the URL parameter editor.
Where QR codes go wrong
Shorter URLs scan better
More characters means a higher version, which means smaller modules at the same printed size — so a long URL printed small becomes unreadable. Strip tracking parameters down to the ones you actually need before generating the code.
Wi-Fi strings need escaping
WIFI:T:WPA;S:MyNetwork;P:my-password;;
If the password contains ; : \ , or ", put a \ in front of it. Open networks use T:nopass, and a hidden SSID needs H:true; at the end.
Always test the print, not the screen
Ink spread and paper tint can break a code that scanned perfectly on a monitor. Test at the real size, on the real stock, under the real lighting. As a rule of thumb, modules below 0.4 mm are hard work for a phone camera.
Do not invert or wash out the colours
Scanners expect a dark code on a light background. Inverting it, or using a pale foreground, loses some devices — which is why this tool never produces a white-on-black code. If the design demands colour, keep it genuinely dark and test on real hardware.
A printed code cannot be edited
Once a code is on paper, the URL inside it is fixed. If the destination might change, point the code at a redirect you control so you can change where it lands later.
From AI Agents
The same generator is available as the qr_generate tool on the MCP (Model Context Protocol) server @first-ch/tools-mcp, so an AI agent can call it without a browser and write the SVG straight to a file. See Using these tools from AI agents for setup details.
Install
claude mcp add firstch-tools -- npx -y @first-ch/tools-mcp
Examples
# Turn a URL into an SVG QR code qr_generate(text="https://tools.first-ch.com/qr/") # Print-ready: stronger error correction, written to a file qr_generate(text="https://example.com/", ecLevel="H", size=1024, outputPath="/tmp/qr.svg") # No quiet zone, plain-text art (readable in a terminal log) qr_generate(text="WIFI:T:WPA;S:office;P:secret;;", margin=0, format="text")
Other Tools
- 01Batch Image → WebPWebP Converter
- 02White Background RemoverWhite BG Remover
- 03WCAG Contrast CheckerContrast Checker
- 04Character CounterCharacter Counter
- 05llms.txt Generatorllms.txt Generator
- 06JSON-LD GeneratorJSON-LD Generator
- 07Markdown → PDFMD → PDF
- 08OGP Meta Tag WizardOGP Wizard
- 09Favicon GeneratorFavicon Generator
- 10TikTok PublisherTikTok Publisher
- 11Encoding & Line Ending ConverterEncoding Converter
- 12Batch Image → AVIF + pictureAVIF Converter
- 13Test Data GeneratorTest Data Generator
- 14Marp Markdown → SlidesMarp Slides
- 15Text & Code Diff CheckerDiff Checker
- 16Cron Explainer & Next RunsCron Explainer
- 17Base64 & Data URI EncoderBase64 & Data URI
- 18URL Parameter Editor & UTM BuilderURL Parameters
- 19HTML Entity Escape & UnescapeHTML Escape
- 20JSON ⇄ YAML ConverterJSON ⇄ YAML
- 21PX ⇄ REM / EM ConverterPX ⇄ REM / EM 単位変換
- 22Color Converter & AlphaColorコード変換&アルファ透過
- 23MD5 / SHA-256 Hash Generatorハッシュ生成
- 24JWT Decoder & Expiry CheckerJWTデコーダー&有効期限チェッカー
- 25User-Agent ParserUser-Agent解析&デバイス判定
- 26UUID & ULID GeneratorUUID (v4) & ULID 一括生成
- 27Aspect Ratio Calculatorアスペクト比計算&サイズ算出
- 28Markdown Table GeneratorMarkdownテーブル整形&CSV/TSV変換
- 29SQL Query FormatterSQL Formatter
- 31Regex Tester正規表現テスター
- 32Unix Timestamp ConverterUNIXタイムスタンプ⇄日時変換
- 33New Tab Memo新規タブメモ帳
- 34Image Resizer & Cropper画像リサイズ&クロップ
- 35EXIF Viewer & RemoverEXIF情報の確認&除去
- 36robots.txt Generatorrobots.txt ジェネレーター
- 37Password Generator安全なパスワード生成
- 38Case Converter文字列ケース変換
- 39CSV/TSV ⇄ JSON ConverterCSV/TSV ⇄ JSON 相互変換
- 40PDF Merge, Split & ExtractPDF結合・分割・ページ抽出
- 41Full-width ⇄ Half-width Converter全角⇄半角変換&テキストクリーナー
- 42X (Twitter) Post CounterX(Twitter)投稿の文字ウェイト計算
- 43CSS clamp() Fluid Typography CalculatorCSS clamp() 計算機
- 44CSS Gradient GeneratorCSSグラデーションジェネレーター
- 45Image Colour Palette Extractor画像からカラーパレット抽出
- 46QR Code ReaderQRコード読み取り
- 47SVG Optimizer & Data URISVG最適化&data URI化
- 48Redirect Generatorリダイレクトルール ジェネレーター
- 49IP / CIDR CalculatorIPアドレス・CIDR計算機
- 50ICS Calendar Event GeneratorICS Generator
- 51cubic-bezier Easing Preview & ComparisonEasing Preview
- 52CSS box-shadow Generatorbox-shadow ジェネレーター
- 53Japanese Dummy Text Generator和文ダミーテキスト生成
- 54Social Media Image ResizerSNS画像サイズ一括書き出し
- 55Time Zone Converter & World Clockタイムゾーン変換・世界時計
- 56Date & Business Day Calculator日数・営業日計算
- 57HTML → MarkdownHTML→Markdown変換
- 58HEIC to JPEG/PNG ConverterHEIC Converter
- 59Print Size & DPI Calculator印刷サイズ・DPI計算機
- 60Color Blindness SimulatorColor Blindness Simulator
- 61SERP Preview & Meta Tag Length CheckerSERPプレビュー&メタタグ文字数チェック
- 62Flexbox & CSS Grid GeneratorFlexbox / CSS Grid ジェネレーター
- 63Text Line Toolsテキスト行操作ツール
- 64Screenshot Frame & Background Makerスクリーンショット枠装飾
- 65Japanese Era ⇄ Western Calendar Converter和暦 ⇄ 西暦変換
- 66URL Slug Generator (Japanese → Romaji)URLスラッグ生成(日本語→ローマ字)
- 67htpasswd Generatorhtpasswd ジェネレーター
- 68OGP Image GeneratorOGP画像ジェネレーター
- 69Stamp Shape Generatorスタンプ形ジェネレーター
- 70Stay Awakeスリープ防止
- 71Screen Recorder with Click Auto-Zoom画面録画+クリック自動ズーム
- 723D Device Mockup Generator3Dデバイスモックアップジェネレーター
- 73OpenAPI Docs & TS Types GeneratorOpenAPI→日本語ドキュメント&TS型定義
- 74Screen Review Board画面レビューボード
- 75AI Decision JournalAI活用案件の判断ログメモ
- 76Card Binder Plannerカードバインダー配置プランナー
- 77e-Stat CSV to Charte-Stat CSV かんたんグラフ化
- 78FAQ Schema (JSON-LD) & Markdown GeneratorFAQ構造化データ(JSON-LD)&Markdown ジェネレーター