Free HOTP QR Code Generator
Build standard otpauth://hotp/ QR codes for counter-based authenticator apps and hardware tokens. Pure RFC 4226, no server, no signup.
- 79 QR Types
- Free Business Card Designer
- Printable WiFi Cards
- Batch CSV (500 codes)
- 50 Templates
- 26 Languages
This barcode format renders monochrome with foreground and background colours only. Templates, dot/eye shapes, gradients, frames, and centre logos apply to QR codes only and are hidden here.
Show 30 more templates
Save a style with the button above to keep your favourites here.
Or pick a built-in icon:
Show 108 more icons
Renders behind the QR at adjustable opacity. Auto-forces EC=H so the QR still scans through the photo.
Batch Generation
Upload a CSV to generate up to 500 QR codes in a single batch. Each row becomes its own QR — pick a template or override 21 properties on a per-row basis: colors, frames, dot/eye/eyeball styles, gradients, transparency, size, error correction, format, built-in logo, and more.
21 columns: type, data, filename, frametext, frame, template, fgcolor, bgcolor, size, ec, dotstyle, eyestyle, format, logo, gradient, g2, gtype, gangle, transparent, eyeball, eyecolor. Only type and data are required. Use | to separate fields inside data (e.g. ssid|password|WPA).
All 79 QR types supported, including URL, WiFi, vCard, TOTP, Swiss QR-bill, PIX, PromptPay, ZATCA, PayNow, Bitcoin + Lightning, and more. Download the sample CSV to see every column, all 50 templates, 11 frame styles, and 156 built-in logo icons in action.
1. Download the sample CSV · 2. Edit it in Google Sheets, Excel, Numbers, or any text editor · 3. Upload it here
Save the entire QR — type, all field values, style, frame, logo, business card design — as a single .qr.json file. Load it later to recreate everything in one click.
Enter content to generate your QR code
E-signatures that hold up in court
Abundera Sign goes beyond basic e-signatures. Every document gets cryptographic proof, independent verification, and a tamper-evident evidence package.
- Auto-generated court-ready evidence packages
- Personal Document Seal — detects tampering instantly
- Anchored to 5 independent systems — no single point of failure
How HOTP Differs from TOTP
HOTP and TOTP both produce 6- to 8-digit one-time codes from a shared Base32 secret, and both use the same otpauth:// URI scheme. The single difference: TOTP advances the code on time (typically every 30 seconds), while HOTP advances on a counter that the client increments each time it generates a code. The server tracks the same counter and accepts codes within a small look-ahead window.
HOTP is the right choice when you can't trust the device clock, when the device has no clock (hardware tokens), or when codes need to remain valid until they are used (login flows where typing time matters). The trade-off is that the counter can drift if the user generates codes without submitting them — most servers handle this with a re-sync window of 10 to 50 codes.
Where HOTP shines
- YubiKey OTP slot — the original use case. Press the button, the YubiKey emits the next HOTP code as keystrokes.
- Hardware tokens — Feitian c100, RSA SecurID 700-series, programmable tokens from Token2 and Protectimus. All ship with HOTP firmware.
- Air-gapped systems — submarines, remote sensors, factory-floor terminals where time sync is unreliable but a counter is durable.
- Server-side OTP backup — single-use recovery codes are HOTP under the hood, with the counter incremented per use.
Fields explained
- Issuer — service name (e.g. GitHub). Shown as the heading in the authenticator app.
- Account — usually your username or email. Shown as the subheading.
- Secret — Base32-encoded shared secret. 16, 26, or 32 characters typically.
- Algorithm — SHA1 (default), SHA256, or SHA512.
- Digits — 6 (default) or 8.
- Initial counter — usually 0. Set to a higher value if re-provisioning a token that has already been used.
Privacy
The shared secret is sensitive. Abundera QR runs entirely in your browser — the secret never touches a server, never gets logged, never leaves your device. Generate on an offline laptop for maximum paranoia.
Available in 26 Languages
Fully translated UI, native script rendering, and right-to-left support for Arabic and Urdu.
Frequently Asked Questions
Which apps and tokens can read these HOTP QR codes?
Any standards-compliant HOTP implementation: Aegis, Raivo, FreeOTP, FreeOTP+, KeePassXC, Yubico Authenticator, Token2 personalization tools, Protectimus desktop tools, and most modern enterprise IAM platforms (Okta, Auth0, Keycloak). Note: Google Authenticator quietly ignores the counter parameter and treats everything as TOTP — pick a different app for HOTP setups.
How is HOTP different from a YubiKey FIDO2 / WebAuthn key?
Different protocol entirely. HOTP is a shared-secret one-time-code scheme (RFC 4226). FIDO2/WebAuthn is asymmetric public-key authentication. Both are 'second factors' but FIDO2 is phishing-resistant where HOTP is not. HOTP is a fit when the relying party only supports OTP, or when you specifically need a code that can be typed.
What happens if the counter drifts out of sync?
Most servers accept codes within a look-ahead window (typically 10 codes) and resync the counter when a valid forward code arrives. If drift exceeds the window the user has to re-enroll. Some IAM platforms expose a 'resync' admin action that takes two consecutive codes to recompute the offset.
Why does Google Authenticator give wrong codes for HOTP QRs?
Google Authenticator treats every otpauth:// QR as TOTP regardless of the path. The codes it produces are valid TOTP codes against your secret — not HOTP codes — so the server rejects them. Use Aegis, Raivo, Yubico Authenticator, or a hardware token instead.
Can I program a YubiKey OTP slot from this QR?
Not directly. YubiKey OTP slots are programmed with the YubiKey Manager (GUI) or ykman (CLI). You can copy the Base32 secret from the form into ykman: ykman oath accounts add --type HOTP --algorithm SHA1 --digits 6 ISSUER:ACCOUNT <secret>.
What's the maximum counter value?
RFC 4226 allows counters up to 2^63 - 1. Practically, most implementations cap it lower (32-bit on legacy hardware). Hundreds of thousands of presses is fine on any modern token.
Should I use HOTP or TOTP for new deployments?
TOTP for almost everything. HOTP is the right pick only for: hardware tokens that lack a clock, deeply air-gapped environments, or single-use recovery codes. For phone-based 2FA, time-based codes are the standard and the user experience is significantly better.