QR 编辑器 在线版

代码

导出

读取二维码

正在启动摄像头…

摄像头画面只在你的浏览器中读取,不会录制或发送任何内容。

我的文档

点击文档即可打开。文档只保存在此浏览器中,不会上传。清除浏览器的网站数据会删除它们,请下载需要保留的文档。

AI 助手

任何 AI 都能和你一起工作:ChatGPT、Claude、Gemini、Copilot。

  1. 点击复制提示词。
  2. 将其粘贴到你的 AI 中,并说明二维码应包含什么内容或应是什么样子。
AI 应该

QR 文档放在链接中“#”之后的部分,任何服务器都看不到。你粘贴到 AI 中的内容由其提供商处理。

保存到你的服务器

编辑器可以将每个保存的版本发送到你自己的服务器(Webhook),让你的作品保存在你想要的地方。在此输入地址之前,不会发送任何内容。

你的服务器收到的内容

一个带 JSON 的 POST 请求(你的服务器必须允许来自 https://qr.giit.ch 的 CORS):

{ "editor": "qr", "event": "save", "id": "…", "name": "Guest WiFi",
  "content": "color: #1d2b53\n---\nWIFI:T:WPA;S:Guest;P:sunny-day-42;;",
  "updated": "2026-01-15T09:30:00.000Z" }
将编辑器嵌入你的网站
<iframe src="https://qr.giit.ch/?embed=1" allow="clipboard-write; camera" style="width:100%;height:80vh;border:0"></iframe>
<script>
const frame = document.querySelector('iframe');
addEventListener('message', e => {
  if (e.origin !== 'https://qr.giit.ch' || e.source !== frame.contentWindow) return;
  if (e.data.type === 'qreditor:ready')
    frame.contentWindow.postMessage({ type: 'qreditor:load', name: 'Shop',
      content: 'https://example.com/shop' }, 'https://qr.giit.ch');
  if (e.data.type === 'qreditor:save') saveOnYourServer(e.data.content);
});
</script>

还可以:?src=<URL of a .qr file> 打开文件,&webhook=<URL> 将此文档保存到该地址。编辑器也可以在单独的窗口中打开(?embed=window),你的页面还可以向它提供自己的 AI 提示词和会话密钥,让 AI 把结果发送到你的服务器(qreditor:ai、qreditor:key-request),参见编辑器下方的“在你自己的网站上使用编辑器”。详情见 llms.txt。

帮助

使用说明

  1. 在新建或内容选项卡中选择二维码包含的内容:链接、WiFi、联系人、日程、付款 … 表单会以手机能读取的格式写入内容。
  2. 在设计选项卡中进行设计:颜色和渐变、模块和三个码眼的形状、Logo、说明文字和边框。
  3. 左侧的代码就是完整的 QR 文档:设计行 key: value,一行 ---,然后是与写入二维码完全一致的内容。你也可以直接在那里输入;每次更改都可一步撤销。
  4. 检查:每次更改后,编辑器都会以正常、小尺寸和模糊三种方式读回二维码。二维码上方的标记显示能否扫描;检查选项卡显示对比度、静区、Logo 与纠错能力的对比以及打印尺寸。
  5. 点击二维码下方的说明文字即可直接修改。
  6. 导出可生成任意尺寸的 SVG、PDF 和 EPS(用于打印的矢量图)、PNG、JPEG 或 WebP,还能从表格批量生成二维码:在内容中写入 {{column}},粘贴表格,下载一个 ZIP 或一个 PDF。
  7. 读取二维码:打开、拖放或粘贴图片,或点击扫描使用摄像头。内容会成为一个新文档。

键盘快捷键

Ctrl + Z / Y
撤销 / 重做
Ctrl + S
保存(下载 SVG,或保存到你的服务器)
Ctrl + E
导出
Ctrl + O
我的文档
Ctrl + V
粘贴含二维码的图片以读取它
Alt + Z
在代码中自动换行显示长行

永不过期的免费二维码:可设计、经检查、保护隐私

QR 编辑器可为链接、WiFi、联系人、日程、电子邮件、短信、地点和付款制作二维码。你可以用颜色、渐变、形状、Logo 和说明文字设计二维码,编辑器会读回每个二维码,确保它能被扫描,而且是在你打印之前。可导出用于印刷的 SVG、PDF 和 EPS,或任意尺寸的 PNG。

这些二维码是静态的:内容就在二维码本身,而不是藏在试用期结束后就失效的跳转链接后面。无需注册,没有广告,没有扫描次数限制,一切都在你的浏览器中完成,你输入或扫描的内容都不会上传。

QR 编辑器能做什么

十二种内容

链接、文本、WiFi(WPA、WEP、开放、隐藏网络)、vCard 或 MeCard 格式的联系人、电子邮件、短信、电话、位置、日历日程、比特币和以太坊、SEPA 付款(EPC GiroCode)以及瑞士 QR 账单,每种都有表单和检查。

设计

颜色、线性和径向渐变、透明背景、七种模块形状、四种码眼外框和五种可单独设色的码眼中心、内置图标或你自己图片做的 Logo、说明文字和边框。

经扫描检查

每个二维码都会在浏览器中以正常、小尺寸和模糊三种方式读回。编辑器会检查对比度、静区以及 Logo 与纠错能力的关系,并根据扫描距离算出打印尺寸。

导出用于印刷和网页

SVG、PDF 和 EPS 为带渐变和 Logo 的矢量图;PNG 最大 8192 像素并写入 dpi,另有 JPEG 和 WebP。免费,无需注册。

批量生成二维码

在内容中写入 {{url}} 这样的占位符,粘贴表格,即可下载装有 SVG 或 PNG 文件的 ZIP,或每页一个二维码的 PDF。

读取二维码

打开、拖放或粘贴图片,或用摄像头扫描,深色背景上的浅色二维码也能读取。内容会变成一个可以修改的二维码。

为什么选择静态二维码

许多“免费”二维码生成器制作的是动态二维码:二维码里只是一个指向其服务器的短链接,再由服务器跳转到你的地址。试用期结束或达到扫描次数上限时,他们就会关闭跳转或先显示广告,所有已印刷的二维码都会失效。静态二维码直接包含地址、WiFi 密码或联系人,因此无需任何中间方就能一直使用。QR 编辑器只制作静态二维码,并会在内容是短链接时发出警告。

使用方法

  1. 选择 - 在“新建”中选择一种二维码并填写表单,或直接输入内容。
  2. 设计和检查 - 修改颜色、形状、Logo 和说明文字;二维码上方的标记会显示它是否仍能扫描。
  3. 导出 - 下载 SVG、PDF、EPS 或 PNG,或从表格批量生成二维码。

在你自己的网站上使用编辑器

任何 https 页面(以及 localhost)都可以用 <iframe> 和 ?embed=1 嵌入编辑器,无需注册,无需密钥。嵌入后,编辑器会隐藏这段文字并显示“保存”按钮。如果用户要在其中扫描二维码,请在 iframe 的 allow 中加上 camera。

1. 通过链接打开文件,保存到你的服务器

src= 打开一个 .qr 文件(你的服务器必须允许 CORS),webhook= 让“保存”(Ctrl+S)把 QR 文档发送到该地址。加上 &auto 可在每次更改后保存。

<iframe src="https://qr.giit.ch/?embed=1&src=https://your-site.com/codes/shop.qr&webhook=https://your-site.com/save.php"
        allow="clipboard-write; camera" style="width:100%;height:800px;border:0"></iframe>

Webhook 会收到一个带 JSON 的 POST 请求 { editor: "qr", event: "save", id, name, content, updated };content 是 QR 文档(设计行、---、内容)。

2. 由你的页面保存文档(postMessage)

编辑器发送 qreditor:ready,你的页面回复 qreditor:load,编辑器报告 qreditor:loaded,真正编辑时发送 qreditor:change,用户保存时发送 qreditor:save。你的页面可以发送 qreditor:get(获取当前状态)或 qreditor:save(相当于点击“保存”)。不带设计行的纯内容也是有效的文档。

<iframe id="ed" src="https://qr.giit.ch/?embed=1" allow="clipboard-write; camera" style="width:100%;height:800px;border:0"></iframe>
<script>
const ed = document.getElementById('ed');
const ORIGIN = 'https://qr.giit.ch';
addEventListener('message', e => {
  if (e.source !== ed.contentWindow || e.origin !== ORIGIN) return;
  const m = e.data;
  if (m.type === 'qreditor:ready')
    ed.contentWindow.postMessage({ type: 'qreditor:load', name: 'Table 12',
      content: 'color: #1d2b53\ncaption: Table 12\n---\nhttps://example.com/menu?table=12' }, ORIGIN);
  if (m.type === 'qreditor:save') saveOnYourServer(m.name, m.content);
});
</script>

3. 在单独的窗口中打开,并通过你的服务器使用 AI

window.open("https://qr.giit.ch/?embed=window", "qreditor-17") 会在单独的窗口中打开完整的编辑器,消息相同。你的页面还可以向编辑器提供自己的 AI 提示词、你网站上的一个 https 地址以及本次编辑器会话的密钥(在 qreditor:load 中使用 ai: { label, prompt, endpoint, key },或使用 qreditor:ai);AI 随后会把结果发送到那里。编辑器自己从不发送这个密钥,也从不保存它。

只读显示二维码(查看器)

?viewer=1 只显示完成的二维码以及“下载”和“导出”:无法修改,也不保存任何内容。文档来自链接(#b64=、#qr=、?src=)、来自你页面发送的 qreditor:load,或通过 POST 发送到 post.php(字段 content 或 b64,可选 name)。

完整协议见 llms.txt。其他 giit 编辑器的工作方式相同,只是前缀不同 - editors.giit.ch。

常见问题

我的二维码会过期吗?

不会。QR 编辑器制作的是静态二维码:链接、WiFi 密码或联系人就在二维码本身,而不是放在我们服务器上的跳转后面。只要内容有效,二维码就能一直使用,无需账户、订阅,也没有扫描次数限制。

真的免费吗?

是的。所有内容类型、所有设计选项、SVG、PDF 和 EPS 导出、扫描检查以及从表格批量生成二维码都是免费的,无需注册,没有广告,也没有水印。

我的数据会发送到服务器吗?

不会。二维码在你的浏览器中制作、检查和导出。你扫描的图片和摄像头画面也在浏览器中读取,绝不会上传。

加了 Logo 的二维码还能扫描吗?

编辑器会告诉你。它会把 Logo 遮挡的部分与纠错能力可修复的范围进行比较,并以正常、小尺寸和模糊三种方式读回完成的二维码。如果不能可靠扫描,你会在打印之前就看到。

打印时应该使用哪种文件格式?

SVG、PDF 或 EPS:它们是矢量图,任意尺寸都保持清晰,渐变和 Logo 也一样。如果需要图片,请使用以毫米为单位设定尺寸、300 dpi 的 PNG。

能制作瑞士 QR 账单或 SEPA 付款码吗?

能。表单会检查 IBAN、QR-IBAN 及其 QR 参考号、债权人参考号(RF)以及每个字段的长度。瑞士 QR 账单按标准要求带瑞士十字并使用纠错级别 M 绘制。

能读取二维码吗?

能。打开、拖放或粘贴图片,或通过“扫描”使用摄像头。内容会变成一个可以修改的新二维码。

印刷的二维码应该多大?

大约为扫描距离的十分之一:20 cm 距离需 2 cm,一米距离需 10 cm。“检查”选项卡会计算尺寸,并在一个模块小于 0.4 mm 时发出警告。