二维码生成器 API

修改内容、颜色、圆角、形状、Logo、尺寸与 PNG/SVG 格式,即可获得对应的二维码图片 URL,可将二维码 URL直接嵌入网页、邮件。

GEThttps://api.imgrender.net/v1/qrcode无需 API Key · URL 永不过期

二维码生成器

内容类型

扫码后:打开链接或显示文本

形状

实时预览

PNG · 150×150

正在生成预览…

当前参数

格式
png
尺寸
150
边距
4
纠错级别
M
前景色
#000000
背景色
#FFFFFF
形状
方块
中心图
未设置

二维码生成器 API 解决什么问题

网页、邮件、文档需要二维码时,常见流程是先用生成器出图,再下载、上传后才能引用。

二维码生成器 API 把这一步省掉:GET 一条 URL 即返回图片,URL 本身就是这张二维码。写入 <img src> 或邮件即可展示,无需下载、上传或自行渲染。

使用前需要准备什么

只需一段待编码内容(网址或文本)。样式由 URL 参数控制:格式、尺寸、静区、纠错级别、颜色、码点形状、中心 Logo。

data 必须 URL 编码;颜色仅为十六进制,# 写成 %23。WiFi、vCard、mailto 等由调用方拼成标准字符串后传入,详见下方 API 文档。

二维码生成器 API 文档

01

请求

GET 请求,参数通过 query 传递,成功时直接返回图片。可直接在浏览器中访问。

https://api.imgrender.net/v1/qrcode?data=https%3A%2F%2Fwww.imgrender.net

更多参数见下文。

02

参数

全部为 query 参数。data 必填,其余可选。字符串枚举大小写不敏感。datafrontcolor / backcolorshape 的取值与格式见后续说明。

参数
类型
默认
说明
data
string
必填
要编码的内容,需 URL 编码;空串非法。内容类型见后续说明
format
string
png
png / svg / base64(base64 固定返回 PNG 的 data URI)
size
integer
150
输出边长(像素),1–4096
margin
integer
4
静区(模块数),0–100
ecLevel
string
M
L / M / Q / H;带中心图建议 H
frontcolor
string
000000
码点颜色,十六进制,可带 #;格式见后续颜色说明
backcolor
string
FFFFFF
背景色;8 位且 alpha 为 00 即透明底,格式见后续颜色说明
shape
string
square
square / rounded-square / circle / diamond / horizontal / vertical,见后续说明
centerImage
string
中心 Logo:公开 http(s) 图片 URL 或 data URI(仅 base64)
centerImageSizeRatio
number
0.3
中心图占码比例,0–1,仅配合 centerImage

未知参数会被忽略。

03

data 内容类型

data 支持网址、纯文本,以及 WiFi、vCard、mailto 等由调用方拼成的标准字符串。扫码后的行为取决于编码格式,常见类型如下。

内容类型
编码格式 / 示例
扫码后的行为
URL / 纯文本
https://www.imgrender.net
打开链接或显示文本
WiFi 网络
WIFI:T:WPA;S:SSID;P:pwd;H:false;;
自动连接 WiFi
名片 vCard
BEGIN:VCARD ... END:VCARD
导入联系人
邮件 mailto
mailto:addr?subject=...&body=...
打开邮件客户端并预填
短信 SMS
smsto:+8613800000000:消息
打开短信应用并预填
日历事件
BEGIN:VCALENDAR ... END:VCALENDAR
添加到日历
地理位置
geo:37.77,-122.42
打开地图定位
支付
bitcoin:地址?amount=... / 各支付链接
唤起支付
应用商店
App Store / Google Play 链接
跳转应用下载页
04

frontcolor / backcolor 颜色

frontcolor backcolor 仅十六进制(3/6/8 位);可省略 #,若携带须写成 %23。8 位且 alpha 为 00 即透明底。不接受颜色名、rgb()

  • 3 位:f00
  • 6 位:ff0000
  • 8 位透明底:FFFFFF00
05

shape 码点形状

shape 码点形状取值如下:

square

方块

rounded-square

圆角方块

circle

圆形

diamond

菱形

horizontal

横向条

vertical

纵向条

06

成功响应

根据请求的 format 参数返回对应内容。图片 URL 没有有效期,同参数结果恒定。成功响应带 Cache-Control: public, max-age=86400 Access-Control-Allow-Origin: *

format
Content-Type
正文
png
image/png
PNG 字节(可直接展示)
svg
image/svg+xml
SVG 文本(可直接展示)
base64
text/plain
data:image/png;base64,…(固定按 PNG 编码)
07

错误响应

状态通过 http status code 返回,原因以纯文本返回。

状态码
典型原因
400
缺/空 data;参数非法或越界;颜色格式非法;data 超容量;centerImage 非法或指向本接口
502
centerImage 远程下载失败
500
内部渲染失败,若遇到此错误请联系我们
08

已知限制与最佳实践

  • 1不能把本接口生成的二维码作为另一张二维码的 centerImage(禁止嵌套)。
  • 2中心图占比建议 ≤30% 并配合 ecLevel=H,生成后务必真机实测可扫;中心图透明区域可能透出码点。
  • 3打印场景建议选大 size、保留足够静区、用 ecLevel=H
09

示例代码

默认 PNG

GET https://api.imgrender.net/v1/qrcode?data=https%3A%2F%2Fwww.imgrender.net

透明底 + 圆形码点 + SVG

GET https://api.imgrender.net/v1/qrcode?data=hello&format=svg&shape=circle&frontcolor=%23f00&backcolor=%23FFFFFF00

带中心图

GET https://api.imgrender.net/v1/qrcode?data=https%3A%2F%2Fexample.com&ecLevel=H&centerImage=https%3A%2F%2Fexample.com%2Flogo.png&centerImageSizeRatio=0.3

HTML(网页直接引用)

<img
  src="https://api.imgrender.net/v1/qrcode?data=https%3A%2F%2Fexample.com"
  width="180"
  height="180"
  alt="二维码图片"
/>

curl(下载 PNG)

curl -o qr.png "https://api.imgrender.net/v1/qrcode?data=https%3A%2F%2Fexample.com&size=512&ecLevel=H&shape=rounded-square&frontcolor=%23007bff"

JavaScript

const qr = document.getElementById('qr');
qr.src = 'https://api.imgrender.net/v1/qrcode?data=' + encodeURIComponent('https://www.imgrender.net') + '&size=256';

Python

import requests
url = "https://api.imgrender.net/v1/qrcode?data=" + requests.utils.quote("https://www.imgrender.net")
open("qr.png", "wb").write(requests.get(url).content)

WiFi 分享(data 为编码后的 WIFI 字符串)

GET https://api.imgrender.net/v1/qrcode?data=WIFI%3AT%3AWPA%3BS%3Amywifi%3BP%3Apass123%3B%3B

示例

以下三张为由二维码生成器 API 真实生成的效果图,改 URL 参数即可复现。

可扫性注意事项

  • 对比度过低:浅色码点配深色背景,或背景色与码点接近,扫码器难以识别;
  • 中心 Logo 过大:中心图建议不超过整体约 30%,并配合 ecLevel=H,生成后务必真机实测;
  • 内容超出容量:data 过长会返回 400,长文本应精简或拆分;
  • 过度样式化:二维码依赖对比和定位图案识别,样式越激进越需要实测。

和其他二维码生成器、接口的区别

  • 普通在线生成器(草料、腾讯优码等):生成后需下载再上传。本接口复制 URL 直接使用即可。
  • 活码 / 动态码平台:内容存在服务端、可后台修改。本接口生成静态码,内容写入图片、不过期;改内容需重新生成 URL。
  • 聚合平台上的二维码接口:通常需注册、付费,返回 JSON 再二次处理,图片地址常有时效。本接口免登录、免 Key,URL 即图、不过期。
  • 前端 JS 库(qrcode.js 等):浏览器本地画码,无服务端依赖,但每处都要写渲染代码。本接口任意语言拼一条 URL 即出图。
  • imgrender 模板渲染 API:本接口只出一张码;要「二维码 + 品牌底图/标题/产品图」的整图,用 /playground 设计模板后调模板渲染接口。

常见问题

不需要。免登录、免 Key,打开即可调用。