CORE QR Transfer は、テキスト・画像・任意ファイルを LZString 圧縮 + 分割して QR にして送信し、カメラで連続スキャンして復元するツールです。オフラインで別端末へデータ移行したいときに超便利。ただし QR の枚数が増えると読み取りが大変になるので、目安は「画像は数十KB〜100KB 程度まで」。CHUNK(1枚あたりの文字数)を小さくすると読み取り安定性は上がりますが枚数が増えます。
この記事で分かること
- CORE QR Transfer のコンセプトと使いどころ
- 送信(Encode → QR生成)の手順
- 受信(カメラで連続読み取り → 復元)の手順(カメラ切替・ライト操作付き)
- 実践的なコツ(CHUNK、誤り訂正レベル、QR色、スマホの設定)
- トラブルシューティングと制限事項
コンセプト:なぜQRで送るのか?
- ネットワーク不要で端末間データ移行ができる(オフライン時に有効)
- 一時的にデータを渡したいとき、USBやクラウドを用いずに安全に渡せる
- 画像やメモ、テキストを「その場で」「瞬間的に」渡すワークフローに向く
送信側 — 使い方(手順)
- アプリを開く(ブラウザは
https://かhttp://localhostを推奨) - データ種別を選択:
text/image/file textの場合は本文を入力。image/fileの場合はファイルを選択(ファイルはdata:URL(base64)化されます)- CHUNK(1QRあたりの文字数)を指定(推奨:300〜600、デフォルト 400)
- QR の誤り訂正レベルを選ぶ(
L/M/Q/H)L:容量アップ(誤り許容最低)M:バランス(推奨)Q/H:誤り許容を高めたい場合に(ただし同じデータでQR枚数は増える)
- 「QR生成」を押す → 圧縮+分割され、複数のQRが生成される(フレーム数表示)
- 送信方法:
- 1枚ずつ手動で見せる(相手が1枚読み取るごとに次へ)
- 自動再生(スライドショー的にQRを切り替える)を使う(連続読み取りに便利)
受信側 — 使い方(手順)
- 受信側で「受信モードを開く」を押す(カメラ権限を許可)
- カメラが起動したら、送信側の QR をカメラに順番に見せる
- 画面上に読み取り状況(転送ID・読み取り済み数)が出るので確認
- すべてのフレームが揃うと自動で結合・復元され、元のファイル/テキストが表示される
- 復元後はダウンロード・ページ表示・テキスト保存などの操作が可能
カメラの切替・ライト(Torch)
- 受信モードに**カメラ切替(◀/▶)**ボタンを用意しています。複数カメラ(前面/背面)がある端末では、使いやすい方を選んでください。
- 一部端末ではライト(Torch)操作も可能です(ブラウザ・機種依存)。ライト操作は内蔵の
getUserMediaのtorch制約を利用するため、サポートしていない機種では無効になります。
実践的Tips(安定して読み取るために)
- CHUNK の目安:400(安定) → 300(より安定、枚数増) → 600(枚数減だが読み取り厳しい場合あり)
- 誤り訂正レベル:まず
Mを試し、読み取りが不安定ならL(ただしLは訂正力が弱い) - QR色:標準的に黒文字/白背景が最も認識良好。カスタムカラーを使う場合はコントラストを十分に。
- 自動再生:スライドショーで 600〜900ms 切替にすると連続で読み取りやすい(端末や光量により調整)
- 光量:屋外直射日光や逆光は苦手。影を作るかライトを点灯してください。
- ファイルサイズの現実的上限:QRは情報密度に弱く、数百KBを越えると枚数が膨大になります。画像は可能ならリサイズ・圧縮してから送ること。
トラブルシューティング
- 読み取れない/エラーが出る → CHUNK を小さく(例:400→300)、誤り訂正レベルを下げる(
M→L)か、QRの色を黒/白に戻して試す。 - カメラ一覧が空 → ブラウザがカメラ列挙を許可していない可能性。設定でカメラアクセスを許可しているか確認。HTTPS または localhost でないとカメラが使えない場合あり。
- ライト(Torch)操作が効かない → 機種・ブラウザで非対応。試せるのは一部の Android(Chrome)や一部ブラウザのみ。
- ファイルが非常に大きい → QRよりも WebRTC / USB / ファイル共有サービスを使う方が実用的。QRは“ちょっとしたオフライン移行”向け。
セキュリティとプライバシー
- 完全にオフラインで送受信できるため、第三者に漏れるリスクが低い(カメラを見る相手が同じ空間にいる必要がある)。
- ただし、表示中のQRは誰でも読み取れるため、公衆の場では注意。機密ファイルはQR経由で渡すのは避けるのが無難。
- アプリはブラウザで完結するため、ローカル保存・ブラウザのセッションに依存する(サーバに送信されません)。
具体的なユースケース
- 旅行アプリの「旅カード」を別端末に移す(例:旅行収支データの移行)
- カメラで撮った写真をすぐに隣の端末に渡す(ネットワーク無し)
- 会議や勉強会で資料の断片(短いテキスト)を瞬時に配布する
- IoT機器の簡易設定データをQRで移す(小さなJSON)
FAQ(よくある質問)
Q. 何枚くらいのQRが発生する?
A. 元データの圧縮後サイズ ÷ CHUNK が目安。たとえば 50KB → base64 で約66KB → 圧縮で減るが、CHUNK=400なら約 66,000 / 400 ≈ 165 枚。実際は圧縮で減るので少し少なくなる。枚数が増えるほど読み取りは大変。
Q. オフラインで安全?
A. QRは視覚的に渡すため、近くにいる人のみが読み取れる。URLやクラウドを使わないなら比較的安全。ただし公共の場での表示は避けて。
Q. 大きいファイルを送りたい
A. QRは不向き。P2P(WebRTC)やクラウド一時保存+短縮URLの併用を検討してください。
まとめ(まとめのまとめ)
CORE QR Transfer は「オフラインで手軽に・瞬時に・サーバなしで」データを渡せるユーティリティです。画像やテキスト、小さめのファイルをその場で渡したい場面で強力。読み取り安定性を上げるには CHUNK を小さめに、誤り訂正レベルを調整し、カメラ切替やライトを活用するのが鍵です。
書き出し(使い方の短い導線)
- 送信側でデータを用意 → 「QR生成」
- 受信側で「受信モード」→ カメラで送信側のQRを順にスキャン
- 受信完了 → ダウンロード or ページ表示