QR Studio

API Reference

QRコード画像生成 API 仕様

URLにパラメータを渡すだけで、QR・Micro QR・rMQRコードの画像を生成して返すシンプルなHTTP APIです。認証は不要で、<img> タグやスクリプトからそのまま利用できます。

概要

3種類のコードを生成する3つのエンドポイントを提供します。すべて GET リクエストで、レスポンスは画像(PNG または SVG)です。クエリパラメータでエンコードする内容や見た目を指定します。

エンドポイント用途特徴
GET /qr通常のQRコードURL・長文まで幅広く。バージョン1〜40
GET /microqrMicro QRコード小さな面積・少量データ向け。M1〜M4
GET /rmqrrMQR(矩形Micro QR)横長・帯状。狭いスペース向け
💡
まず動きを試したいときは各プレイグラウンド(QR / Micro QR / rMQR)で組み立て、「API URLをコピー」ボタンから呼び出しURLを取得できます。

共通仕様

  • メソッド: すべて GET。リクエストボディは使いません。
  • 認証: 不要です。
  • レスポンス: 成功時は画像を直接返します。Content-Type は PNG が image/png、SVG が image/svg+xml
  • 文字コード: data はUTF-8。URLエンコードして渡してください(例: 半角スペースは %20)。
  • 色: 前景は黒 #000000、背景は白 #ffffff 固定です。
  • クワイエットゾーン: QRはコード周囲に4モジュール、Micro QR・rMQRは2モジュールの余白を含みます。
🔒
入力した data は、画像を生成するためにサーバーへ送信されます。機微な情報を含める際はご注意ください。
GET/qr

QRコード

最も一般的なQRコードを生成します。バージョン1〜40に対応し、URLや長めのテキストまで扱えます。

# 例: URLを256pxのPNGで生成
GET /qr?data=https://qr.shogo82148.com&size=256
パラメータ説明
data必須 文字列 コードにエンコードする内容。
size任意 整数 1〜4096 出力画像の幅・高さ(px、正方形)。PNGではコードの自然な幅(クワイエットゾーン込み)以上が必要で、その最小値はデータとバージョンにより29〜185pxの範囲になります。SVGは全範囲を受け付けます。省略時はモジュール等倍。
format任意 png / svg 出力形式。既定は png
level任意 L / M / Q / H 誤り訂正レベル。高いほど汚れや欠けに強くなりますが、その分データ容量は減ります。大文字・小文字どちらも可。
version任意 整数 1〜40 QRコードのバージョン(サイズ)。指定した値がデータに必要な最小バージョンより大きい場合のみ適用されます。省略時は自動選択。
GET /qr?data=https://qr.shogo82148.com
       &size=220&level=H&format=png
QRコードの生成例
GET/microqr

Micro QRコード

少量のデータを小さな面積に収めるMicro QRコードを生成します。パラメータは /qr と共通で、levelversion の取りうる値が異なります。

# 例: 数字を256pxのPNGで生成
GET /microqr?data=12345&size=256
パラメータ説明
data必須 文字列 コードにエンコードする内容。容量が小さいため短いデータ向けです。
size任意 整数 1〜4096 出力画像の幅・高さ(px)。PNGでは自然な幅(2モジュールのクワイエットゾーン込み、15〜21px)以上が必要です。SVGは全範囲可。
format任意 png / svg 出力形式。既定は png
level任意 check / L / M / Q 誤り訂正レベル。利用できる値はバージョン(M1〜M4)によって異なります。check は誤り検出のみ。
version任意 整数 1〜4 Micro QRのバージョン(M1〜M4に対応)。指定値がデータに必要な最小バージョンより大きい場合のみ適用。省略時は自動選択。
GET /microqr?data=1234567
       &size=176&level=M
Micro QRコードの生成例
GET/rmqr

rMQR(矩形Micro QR)コード

横長で高さの低い帯状のrMQRコードを生成します。狭いスペースへの印字に向いています。size は幅を指定し、高さはアスペクト比から自動計算されます。

# 例: URLを256px幅で生成
GET /rmqr?data=https://qr.shogo82148.com&size=256
パラメータ説明
data必須 文字列 コードにエンコードする内容。
size任意 整数 1〜4096 出力画像の(px)。高さはrMQRのアスペクト比から計算されます。PNGでは自然な幅(2モジュールのクワイエットゾーン込み)以上が必要。SVGは全範囲可。
format任意 png / svg 出力形式。既定は png
level任意 M / H 誤り訂正レベル。既定は M
version任意 rMQRバージョン名 32種類のrMQRバージョン名のいずれか(R7x43R17x139、例: R11x27)。省略時は自動選択。
priority任意 area / height / width 自動選択時にどのバージョンを優先するかの基準。既定は area(面積最小)。height は高さ最小、width は幅最小を優先。
GET /rmqr?data=https://qr.shogo82148.com
       &size=300
rMQRコードの生成例

エラー応答

パラメータが不正な場合や、指定内容でコードを生成できない場合は、画像ではなくエラーメッセージ(text/plain)を返します。

ステータス主な原因
400 Bad Request size が範囲外(1〜4096以外)/PNGの最小サイズ未満、formatlevelversionpriority が不正な値、データが指定バージョンの容量を超過、など。
500 Internal Server Error 画像エンコード時など、サーバー内部での予期しない失敗。

PNGでサイズが小さすぎる場合は、必要な最小サイズを含むメッセージ(例: size must be at least 33 for this QR code)が返ります。