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.
- 二维码生成器
- 免费名片设计器
- 可打印的 WiFi 卡片
- 批量 CSV (500 个码)
- 40 种模板
- 20 种语言
此条码格式仅以前景色和背景色单色渲染。模板、点/眼形状、渐变、边框和中心徽标仅适用于二维码,此处已隐藏。
显示更多 30 个模板
使用上面的按钮保存样式,以便将您最喜欢的样式保存在此处。
或者选择内置图标:
显示更多 108 个图标
以降低的不透明度渲染在 QR 背后。自动强制 EC=H,使 QR 仍可通过照片扫描。
批量生成
上传 CSV 文件,一次最多可生成 500 个二维码。每一行都会生成独立的二维码——您可以选择模板,也可以逐行自定义 21 项属性:颜色、边框、点/眼/眼球样式、渐变、透明度、尺寸、纠错等级、格式、内置 logo 等。
21 列:type, data, filename, frametext, frame, template, fgcolor, bgcolor, size, ec, dotstyle, eyestyle, format, logo, gradient, g2, gtype, gangle, transparent, eyeball, eyecolor。仅 type 和 data 为必填项。使用 | 分隔 data 内的字段(例如 ssid|password|WPA)。
支持全部 20 种二维码类型,包括 URL、WiFi、vCard、MeCard、Email、SMS、Event、Location、UPI、SEPA、PayPal、Crypto、Micro QR 和 rMQR。下载示例 CSV,查看所有列、40 个模板、11 种边框样式以及 12 个内置 logo 的实际效果。
1. 下载示例 CSV · 2. 在 Google Sheets、Excel、Numbers 或任意文本编辑器中编辑 · 3. 在此上传
将整个二维码——类型、所有字段值、样式、框架、徽标、名片设计——保存为单个 .qr.json 文件。稍后加载它以一键重新创建所有内容。
输入内容以生成您的二维码
在法庭上也能成立的电子签名
Abundera Sign 超越了基本的电子签名。每份文件都获得加密证明、独立验证和防篡改证据包。
- 自动生成的法庭就绪证据包
- 个人文件封印 — 即时检测篡改
- 固定在 5 个独立系统上 — 无单点故障
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.
支持 26 种语言
完全翻译的界面、原生字符渲染,以及对阿拉伯语和乌尔都语的从右到左支持。
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.