[{"data":1,"prerenderedAt":8586},["ShallowReactive",2],{"blog-\u002Fblog\u002Fwelcome":3,"blog-list-ja":102},{"id":4,"title":5,"author":6,"body":7,"category":87,"coverImage":87,"description":88,"draft":89,"extension":90,"locale":91,"meta":92,"navigation":93,"noindex":93,"path":94,"publishedAt":95,"seo":96,"slug":97,"stem":98,"tags":99,"updatedAt":95,"__hash__":101},"blog\u002Fblog\u002Fwelcome.md","Zerosend ブログを始めます","Zerosend Editorial",{"type":8,"value":9,"toc":79},"minimark",[10,14,18,21,24,47,50,68,71],[11,12,13],"h2",{"id":13},"はじめに",[15,16,17],"p",{},"Zerosend の公式ブログを開始します。このブログでは、プライバシーファーストな Web ツールを作る中で得た知見、ブラウザ内処理の技術、そしてデータを「送らない」という選択についての考察を記録していきます。",[11,19,20],{"id":20},"扱うテーマ",[15,22,23],{},"主に次のテーマを扱います。",[25,26,27,35,41],"ul",{},[28,29,30,34],"li",{},[31,32,33],"strong",{},"ブラウザ内処理の技術",": WebAssembly、Web Worker、Canvas API、File System Access API の実用例",[28,36,37,40],{},[31,38,39],{},"プライバシー設計",": CSP、アップロード不要のアーキテクチャ、Network タブで検証できる実装",[28,42,43,46],{},[31,44,45],{},"各ツールの舞台裏",": 画像圧縮 \u002F PDF 編集 \u002F 動画変換 \u002F ファビコン生成などの内部実装",[11,48,49],{"id":49},"更新頻度",[15,51,52,53,57,58,62,63,67],{},"不定期ですが、ツールの追加・改善に合わせて更新します。記事の一覧は ",[54,55,56],"a",{"href":56},"\u002Fblog"," から、または ",[54,59,61],{"href":60},"\u002Fblog\u002Ffeed.xml","RSS"," \u002F ",[54,64,66],{"href":65},"\u002Fblog\u002Ffeed.json","JSON Feed"," で購読できます。",[11,69,70],{"id":70},"まとめ",[15,72,73,74,78],{},"まずはこの 1 本から。引き続き ",[54,75,77],{"href":76},"\u002F","Zerosend"," のツール群もよろしくお願いします。",{"title":80,"searchDepth":81,"depth":81,"links":82},"",2,[83,84,85,86],{"id":13,"depth":81,"text":13},{"id":20,"depth":81,"text":20},{"id":49,"depth":81,"text":49},{"id":70,"depth":81,"text":70},null,"ブラウザ内で完結するプライバシーファーストなオンラインツールを配信する Zerosend の公式ブログを開始します。扱うテーマと更新頻度について説明します。",false,"md","ja",{},true,"\u002Fblog\u002Fwelcome","2026-04-19",{"title":5,"description":88},"welcome","blog\u002Fwelcome",[100],"お知らせ","qWeGVg9xXJwmBE_vTgt8kwzVFyh4hc5kXl0dsfTAuew",[103,273,470,746,1088,1373,1627,1871,2071,2289,2514,2730,2928,3134,3280,3510,3702,3922,4152,4386,4626,4802,5051,5255,5557,6377,6592,6861,7293,7908,8297,8347],{"id":104,"title":105,"author":6,"body":106,"category":259,"coverImage":87,"description":260,"draft":89,"extension":90,"locale":91,"meta":261,"navigation":93,"noindex":89,"path":262,"publishedAt":263,"seo":264,"slug":265,"stem":266,"tags":267,"updatedAt":263,"__hash__":272},"blog\u002Fblog\u002Fqr-code-business-card.md","QRコード付き名刺を無料で作成する方法｜初心者でも5分で完成",{"type":8,"value":107,"toc":250},[108,112,115,118,121,124,128,131,137,143,149,155,157,160,170,177,181,214,216,220,223,229,235,241,243],[11,109,111],{"id":110},"qrコード付き名刺が今どき求められる理由","QRコード付き名刺が今どき求められる理由",[15,113,114],{},"名刺交換の場面で「URLが長くて打ち込むのが大変」「SNSのプロフィールを伝えたいけど口頭では難しい」と感じたことはないでしょうか。QRコードを名刺に載せておくと、スマートフォンをかざすだけでWebサイト・ポートフォリオ・SNSページへ誘導できます。相手の手間が大幅に減るため、展示会や商談、フリーランスの営業活動など幅広いシーンで活用が広がっています。",[15,116,117],{},"また、QRコードを使うメリットはアクセスのしやすさだけではありません。URLを後から変更したい場合でも、QRコードが指すリンク先（自分のプロフィールページなど）を更新すれば対応できるため、名刺を刷り直す手間を減らせることも見逃せないポイントです。",[15,119,120],{},"一方で「QRコードってどうやって作るの？」「無料でちゃんとしたものが作れるの？」という疑問を持つ方も多いでしょう。結論から言えば、専用ソフトを購入したりデザイン会社に依頼したりしなくても、無料のオンラインツールで十分なクオリティのQRコードが作れます。",[122,123],"hr",{},[11,125,127],{"id":126},"qrコードを無料で作成するときに気をつけたいこと","QRコードを無料で作成するときに気をつけたいこと",[15,129,130],{},"無料ツールは数多く存在しますが、選ぶ際に注意したい点がいくつかあります。",[15,132,133,136],{},[31,134,135],{},"画質・サイズの問題","\n名刺に印刷するQRコードは、画面表示とは異なり一定以上の解像度が必要です。低解像度のPNGしか出力できないツールだと、印刷時にぼやけて読み取りエラーが起きることがあります。SVG形式（拡大しても劣化しないベクター形式）で出力できるツールを選ぶと安心です。",[15,138,139,142],{},[31,140,141],{},"個人情報の取り扱い","\n名刺に載せるURLには、自分のWebサイトや連絡先ページなど、ある程度個人に紐づいた情報が含まれます。ツールによっては入力した文字列をサーバーに送信・ログとして記録しているケースもあるため、プライバシーの観点から確認が必要です。",[15,144,145,148],{},[31,146,147],{},"登録不要かどうか","\nメールアドレス登録やアカウント作成が必須のツールは、手軽さという面でハードルが上がります。すぐに試せる登録不要のツールを選ぶと、作業効率が上がります。",[15,150,151,154],{},[31,152,153],{},"有料機能への誘導","\n「無料で使えると思ったら、ダウンロードだけ有料だった」というパターンも珍しくありません。出力まで完全無料かどうかを事前に確認しましょう。",[122,156],{},[11,158,159],{"id":159},"ブラウザだけで完結する無料ツールを使った作成手順",[15,161,162,163,169],{},"上記の注意点をまとめると、「高解像度出力・プライバシー配慮・登録不要・完全無料」の4条件を満たすツールが理想的です。そのひとつとして紹介したいのが、",[54,164,168],{"href":165,"rel":166},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fqr-create",[167],"nofollow","QR コード生成ツール","です。",[15,171,172,173,176],{},"このツールの大きな特徴は、",[31,174,175],{},"入力したテキストやURLをサーバーに送信しない","点です。QRコードの生成処理がすべてブラウザ内で完結するため、入力した情報が外部に漏れる心配がありません。名刺に載せるURLや連絡先情報を扱う場合、この「ローカル処理」という仕組みは安心感につながります。",[178,179,180],"h3",{"id":180},"実際の操作手順",[182,183,184,190,196,202,208],"ol",{},[28,185,186,189],{},[31,187,188],{},"ツールページを開く","\nブラウザでツールにアクセスします。アカウント登録やインストールは不要です。",[28,191,192,195],{},[31,193,194],{},"テキスト・URLを入力する","\n名刺に載せたいURL（自社サイト、ポートフォリオ、SNSプロフィールなど）を入力欄に貼り付けます。vCard形式のテキストを入力すれば、連絡先情報をまとめてQRコードに埋め込むこともできます。",[28,197,198,201],{},[31,199,200],{},"プレビューを確認する","\n入力と同時にQRコードのプレビューが表示されます。スマートフォンのカメラで試し読みして、正しくリンク先に飛べるか確認しましょう。",[28,203,204,207],{},[31,205,206],{},"ダウンロードする","\n問題がなければダウンロードボタンからQRコード画像を保存します。PNG・SVGなど用途に合わせて形式を選べます。名刺印刷用にはSVGを選ぶと、印刷会社に入稿する際に拡大・縮小しても画質が落ちません。",[28,209,210,213],{},[31,211,212],{},"名刺デザインに配置する","\nダウンロードした画像をIllustratorやCanva、Word、PowerPointなど使い慣れたソフトの名刺テンプレートに貼り付ければ完成です。QRコードのサイズは名刺上で最低でも1.5cm角を確保すると読み取りやすくなります。",[122,215],{},[11,217,219],{"id":218},"名刺qrコードをより効果的に使うための3つのコツ","名刺QRコードをより効果的に使うための3つのコツ",[15,221,222],{},"QRコードを名刺に入れるだけで満足せず、もう一歩工夫すると効果が高まります。",[15,224,225,228],{},[31,226,227],{},"① リンク先をスマートフォン対応ページにする","\nQRコードを読み取るのはスマートフォンがほとんどです。リンク先のページがモバイル非対応だと、せっかくアクセスしてもらっても離脱されてしまいます。リンク前にスマートフォンで表示確認をしておきましょう。",[15,230,231,234],{},[31,232,233],{},"② QRコードの近くに一言添える","\n「詳細はこちらから」「ポートフォリオを見る」など、QRコードの下に小さくテキストを入れると、読み取る動機づけになります。特に年配の方や普段QRコードを使い慣れていない方への配慮として有効です。",[15,236,237,240],{},[31,238,239],{},"③ 定期的にリンク先をチェックする","\nURLが変わった、ページを削除したなどの理由でQRコードが無効になるケースがあります。名刺を大量に印刷する前に、そして印刷後も定期的にリンク先が有効かどうか確認する習慣をつけましょう。",[122,242],{},[15,244,245,246,249],{},"QRコード付き名刺は、紙の名刺とデジタル情報をつなぐシンプルながら強力な手段です。無料ツールを使えば費用をかけずに導入できるので、まだ試していない方はぜひ一度作成してみてください。プライバシーを気にする方には、ブラウザ内処理で安全に使える",[54,247,168],{"href":165,"rel":248},[167],"が選択肢のひとつになるはずです。",{"title":80,"searchDepth":81,"depth":81,"links":251},[252,253,254,258],{"id":110,"depth":81,"text":111},{"id":126,"depth":81,"text":127},{"id":159,"depth":81,"text":159,"children":255},[256],{"id":180,"depth":257,"text":180},3,{"id":218,"depth":81,"text":219},"tech","QRコード付き名刺を無料で作る手順を分かりやすく解説。ブラウザだけで完結するツールを使えば、個人情報をサーバーに送らず安全に作成できます。",{},"\u002Fblog\u002Fqr-code-business-card","2026-05-14",{"title":105,"description":260},"qr-code-business-card","blog\u002Fqr-code-business-card",[268,269,270,271],"業務","プライバシー","ツール","Web制作","hrm-tYjDGxrWDI7oF94te57zkkMH6fyHYcsGGqLe9PM",{"id":274,"title":275,"author":6,"body":276,"category":259,"coverImage":87,"description":458,"draft":89,"extension":90,"locale":91,"meta":459,"navigation":93,"noindex":89,"path":460,"publishedAt":461,"seo":462,"slug":463,"stem":464,"tags":465,"updatedAt":461,"__hash__":469},"blog\u002Fblog\u002Fogp-image-size-optimization.md","OGP画像のサイズ最適化ガイド｜SNSでキレイに表示される設定と作り方",{"type":8,"value":277,"toc":452},[278,282,285,293,300,302,306,309,314,328,333,344,349,357,362,367,374,377,379,383,386,391,394,399,402,407,416,421,424,426,430,437,440,443,450],[11,279,281],{"id":280},"ogp画像が崩れる切れる原因はサイズ指定にある","OGP画像が「崩れる」「切れる」原因はサイズ指定にある",[15,283,284],{},"SNSでURLをシェアしたとき、サムネイル画像が途中で切れていたり、極端に小さく表示されたりした経験はないでしょうか。あるいは、自分のサイトをX（旧Twitter）やFacebookに投稿したら、想定と全く違う画像が表示された、というケースもよく聞かれます。",[15,286,287,288,292],{},"こうした問題の多くは、OGP（Open Graph Protocol）画像のサイズが各プラットフォームの仕様と合っていないことが原因です。OGPはHTMLのmetaタグで設定するもので、",[289,290,291],"code",{},"og:image","に指定した画像がSNSカードのサムネイルとして使われます。しかし、画像サイズや縦横比が規定から外れていると、プラットフォーム側でトリミングされたり、表示をスキップされたりします。",[15,294,295,296,299],{},"さらに見落とされがちなのが、",[31,297,298],{},"ファイルサイズ（容量）の上限","です。画像の縦横ピクセル数が正しくても、ファイルが重すぎるとSNSのクローラーが取得に失敗し、画像なしのカードとして表示されることがあります。OGP画像の最適化は「ピクセル寸法」と「ファイル容量」の両方を意識する必要があります。",[122,301],{},[11,303,305],{"id":304},"各snsプラットフォームの推奨サイズ一覧","各SNS・プラットフォームの推奨サイズ一覧",[15,307,308],{},"OGP画像の最適なサイズはプラットフォームによって異なります。主要サービスの推奨値をまとめました。",[15,310,311],{},[31,312,313],{},"X（旧Twitter）",[25,315,316,319,322,325],{},[28,317,318],{},"Summaryカード（小さいサムネイル）：144×144px以上、縦横比1:1",[28,320,321],{},"Summary Card with Large Image（横長サムネイル）：300×157px以上、縦横比2:1",[28,323,324],{},"推奨サイズ：1200×628px",[28,326,327],{},"ファイルサイズ上限：5MB（JPG\u002FPNG\u002FWebP）",[15,329,330],{},[31,331,332],{},"Facebook \u002F Meta",[25,334,335,338,341],{},[28,336,337],{},"最小サイズ：200×200px",[28,339,340],{},"推奨サイズ：1200×630px（縦横比1.91:1）",[28,342,343],{},"推奨ファイルサイズ：1MB以下",[15,345,346],{},[31,347,348],{},"LinkedIn",[25,350,351,354],{},[28,352,353],{},"推奨サイズ：1200×627px",[28,355,356],{},"ファイルサイズ上限：5MB",[15,358,359],{},[31,360,361],{},"Slack \u002F チャットツール",[25,363,364],{},[28,365,366],{},"og:imageを取得してプレビュー表示。1200×630px前後が無難",[15,368,369,370,373],{},"これらを横断的に見ると、",[31,371,372],{},"1200×630px（または1200×628px）"," という解像度がほぼすべてのサービスに対応できる事実上の標準サイズです。縦横比は約1.91:1を維持しつつ、JPEG品質を80〜85程度に抑えてファイルサイズを300KB以内に収めると、どの環境でも安定して表示されます。",[15,375,376],{},"ただし、既存の画像を流用する場合や、デザイン素材が別のアスペクト比で作られている場合は、リサイズ作業が必要になります。",[122,378],{},[11,380,382],{"id":381},"実践ogp画像を正しいサイズにリサイズする手順","実践：OGP画像を正しいサイズにリサイズする手順",[15,384,385],{},"OGP画像のリサイズ自体は難しい作業ではありませんが、いくつか気をつけたいポイントがあります。",[15,387,388],{},[31,389,390],{},"① 元画像の縦横比を確認する",[15,392,393],{},"元画像が正方形（1:1）や縦長の場合、単純にリサイズすると1200×630pxに収まらず、余白が生じたり主要な被写体が切り取られたりします。リサイズ前に、画像をどこを中心にトリミングするかを先に決めておくと作業がスムーズです。",[15,395,396],{},[31,397,398],{},"② 出力形式はJPEGかWebPを選ぶ",[15,400,401],{},"OGP画像には透過（アルファチャンネル）が不要なケースがほとんどです。PNGは品質が高い反面ファイルが重くなりやすいため、JPEGかWebPで書き出すのが現実的です。SNSのクローラーはWebPにも対応していますが、古いクローラーを考慮してJPEGを第一候補にするのが無難です。",[15,403,404],{},[31,405,406],{},"③ ツールを選ぶ：Photoshopがなくても問題ない",[15,408,409,410,415],{},"プロ向けの画像編集ソフトがなくても、ブラウザだけで完結するツールが充実しています。その一つとして ",[54,411,414],{"href":412,"rel":413},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fimage-resize",[167],"画像リサイズツール"," があります。このツールの特徴は、アップロードした画像がサーバーに送信されない点です。画像データはブラウザ内だけで処理されるため、社内資料や未公開のバナー画像を扱う場合でも、情報漏洩リスクを気にせず使えます。縦横のピクセル数を数値で直接指定できるので、1200×630pxに合わせる作業が直感的に行えます。",[15,417,418],{},[31,419,420],{},"④ リサイズ後にOGPキャッシュをクリアする",[15,422,423],{},"画像を差し替えても、SNS側のキャッシュが残っていると古い画像が表示され続けます。Xであれば「Card Validator」、Facebookであれば「Sharing Debugger」を使ってキャッシュを強制更新してください。ツールにURLを入力して「スクレイプ」または「デバッグ」を実行するだけで、新しい画像が反映されます。",[122,425],{},[11,427,429],{"id":428},"ogp画像の最適化がseoにも影響する理由","OGP画像の最適化がSEOにも影響する理由",[15,431,432,433,436],{},"OGPはSNS表示のための仕様であり、Googleの検索順位に直接影響するわけではありません。しかし、",[31,434,435],{},"間接的にSEOへのプラス効果","が期待できます。",[15,438,439],{},"SNSでシェアされたときに魅力的なサムネイルが表示されれば、クリック率が上がり、リンクが拡散されやすくなります。これがサイトへの流入増加につながり、滞在時間や被リンク獲得に好影響を与えます。また、画像ファイルのサイズを適切に絞ることはページの読み込み速度改善に直結し、Googleが重視するCore Web Vitalsの指標（特にLCPやFID）にも貢献します。",[15,441,442],{},"OGP画像を「SNS用の飾り」として後回しにしがちですが、サイトのパフォーマンスとブランド品質を底上げする実務的な施策として捉えると、優先度が変わってくるはずです。",[15,444,445,446,449],{},"まず手元にあるキービジュアルやアイキャッチ画像を1200×630px・300KB以内に整えるところから始めてみてください。専用ソフトが不要な環境であれば、前述した ",[54,447,414],{"href":412,"rel":448},[167]," のようなブラウザベースのツールを活用すると、余計な手間をかけずに作業を完結できます。",[122,451],{},{"title":80,"searchDepth":81,"depth":81,"links":453},[454,455,456,457],{"id":280,"depth":81,"text":281},{"id":304,"depth":81,"text":305},{"id":381,"depth":81,"text":382},{"id":428,"depth":81,"text":429},"OGP画像の推奨サイズや各SNSの仕様を解説。Twitterやog:imageが正しく表示されない原因と、ブラウザだけで完結する無料ツールを使った具体的な対処法を紹介します。",{},"\u002Fblog\u002Fogp-image-size-optimization","2026-05-12",{"title":275,"description":458},"ogp-image-size-optimization","blog\u002Fogp-image-size-optimization",[466,467,271,468],"画像","リサイズ","SEO","mIit_bdGiULblUiC2FeigxS7qW8uxuS9f-pKvrNhJKM",{"id":471,"title":472,"author":6,"body":473,"category":259,"coverImage":87,"description":735,"draft":89,"extension":90,"locale":91,"meta":736,"navigation":93,"noindex":89,"path":737,"publishedAt":738,"seo":739,"slug":740,"stem":741,"tags":742,"updatedAt":738,"__hash__":745},"blog\u002Fblog\u002Fwebp-convert-seo.md","WebP変換でSEOを改善する方法｜画像最適化の効果と手順を解説",{"type":8,"value":474,"toc":720},[475,479,486,493,500,502,506,509,513,520,523,527,534,538,541,543,547,550,557,570,573,576,578,582,589,592,595,598,605,693,697,700,702,706,709,716],[11,476,478],{"id":477},"画像が重いはseoの大敵見落とされがちなボトルネック","「画像が重い」はSEOの大敵——見落とされがちなボトルネック",[15,480,481,482,485],{},"Webサイトのパフォーマンス改善に取り組む際、JavaScriptの最適化やキャッシュ設定に目が向きがちです。しかし実際には、",[31,483,484],{},"画像ファイルの容量","がページ速度のボトルネックになっているケースが非常に多く見られます。",[15,487,488,489,492],{},"Google Search Consoleや PageSpeed Insights でサイトを計測してみると、「画像を次世代フォーマットで配信してください」という指摘を受けた経験がある方も多いでしょう。ここで言う「次世代フォーマット」とは、主に ",[31,490,491],{},"WebP（ウェブピー）"," のことを指します。",[15,494,495,496,499],{},"JPEGやPNGと比較して、WebPは同等の画質を保ちながらファイルサイズを ",[31,497,498],{},"平均25〜35%程度削減"," できると言われています。この差は、特に画像を多く使うECサイトやブログ、ポートフォリオサイトでは非常に大きなインパクトをもたらします。",[122,501],{},[11,503,505],{"id":504},"webp変換がseoに与える具体的な効果","WebP変換がSEOに与える具体的な効果",[15,507,508],{},"WebPに変換することがSEOにどう効くのか、具体的なポイントを整理してみましょう。",[178,510,512],{"id":511},"core-web-vitalsのスコアが改善する","① Core Web Vitalsのスコアが改善する",[15,514,515,516,519],{},"Googleは2021年からCore Web Vitals（CWV）を検索順位の評価指標に加えています。その中でも特に重要な ",[31,517,518],{},"LCP（Largest Contentful Paint）"," は、ページ内で最も大きな要素が表示されるまでの時間を測るものです。多くの場合、LCPの対象はメインビジュアルや商品画像など、大きな画像要素です。",[15,521,522],{},"WebPへの変換によってこれらの画像ファイルが軽くなれば、ダウンロード時間が短縮され、LCPスコアが改善します。結果として、Googleからの評価が高まりやすくなります。",[178,524,526],{"id":525},"ページの読み込み速度が体感レベルで上がる","② ページの読み込み速度が体感レベルで上がる",[15,528,529,530,533],{},"SEOの指標改善だけでなく、",[31,531,532],{},"ユーザー体験（UX）"," への直接的な効果も見逃せません。ページの表示が速くなれば直帰率が下がり、セッション時間が延びる傾向があります。Googleはこうしたユーザー行動のシグナルも評価に組み込んでいると考えられており、間接的にSEOへも好影響を与えます。",[178,535,537],{"id":536},"モバイル環境での優位性が上がる","③ モバイル環境での優位性が上がる",[15,539,540],{},"スマートフォンからのアクセスが主流となった現在、モバイル環境でのパフォーマンスは特に重要です。モバイル回線はWi-Fiよりも通信速度が不安定なことが多く、画像の軽量化がより体感しやすい差として現れます。WebPはモバイルファーストインデックスへの対応という観点でも有効な施策です。",[122,542],{},[11,544,546],{"id":545},"実際にどうやってwebpへ変換するか","実際にどうやってWebPへ変換するか",[15,548,549],{},"WebPへの変換方法はいくつかあります。サーバー側でImageMagickやlibwebpを使ってバッチ処理する方法、CMSのプラグインを使う方法、そしてブラウザ上で動作する変換ツールを使う方法などです。",[15,551,552,553,556],{},"サーバー環境を持たない方や、手軽に試してみたい方には、",[31,554,555],{},"ブラウザ上で完結する変換ツール","が最も手軽です。",[15,558,559,560,565,566,569],{},"その選択肢の一つとして、",[54,561,564],{"href":562,"rel":563},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fimage-convert",[167],"画像形式変換ツール"," があります。このツールの特徴は、",[31,567,568],{},"ファイルをサーバーに送信せず、ブラウザ内だけで処理する","という点です。",[15,571,572],{},"業務で扱う画像の中には、公開前の商品写真や社内資料のスクリーンショットなど、外部に送信したくないものも含まれることがあります。クラウド型のサービスでは、アップロード時にファイルがサーバーを経由するため、情報漏えいのリスクをゼロにはできません。一方、ブラウザ内処理であれば、その心配がありません。",[15,574,575],{},"操作はシンプルで、変換したい画像ファイルをドラッグ＆ドロップし、出力形式としてWebPを選択するだけです。JPEGやPNGはもちろん、複数形式に対応しているため、様々な用途で活用できます。",[122,577],{},[11,579,581],{"id":580},"webp変換を運用に組み込むためのポイント","WebP変換を運用に組み込むためのポイント",[15,583,584,585,588],{},"WebPへの変換は一度やれば終わりではなく、",[31,586,587],{},"継続的な運用","として組み込むことが大切です。",[178,590,591],{"id":591},"既存ページと新規ページの両方に対応する",[15,593,594],{},"まず既存の記事や製品ページに使われている画像を洗い出し、ファイルサイズの大きいものから優先的に変換していきましょう。次に、新規コンテンツを作成する際のルールとして「アップロード前にWebP変換を行う」というフローを定めておくと、徐々に全体の最適化が進みます。",[178,596,597],{"id":597},"ブラウザの対応状況を確認する",[15,599,600,601,604],{},"WebPは主要なモダンブラウザではほぼすべて対応していますが、ごく一部の古いブラウザでは表示されない場合があります。HTMLの ",[289,602,603],{},"\u003Cpicture>"," タグを使ってWebPとJPEGをフォールバックとして両方指定する方法が、安全性の高い実装です。",[606,607,611],"pre",{"className":608,"code":609,"language":610,"meta":80,"style":80},"language-html shiki shiki-themes github-light github-dark","\u003Cpicture>\n  \u003Csource srcset=\"image.webp\" type=\"image\u002Fwebp\">\n  \u003Cimg src=\"image.jpg\" alt=\"説明テキスト\">\n\u003C\u002Fpicture>\n","html",[289,612,613,629,658,683],{"__ignoreMap":80},[614,615,618,622,626],"span",{"class":616,"line":617},"line",1,[614,619,621],{"class":620},"sVt8B","\u003C",[614,623,625],{"class":624},"s9eBZ","picture",[614,627,628],{"class":620},">\n",[614,630,631,634,637,641,644,648,651,653,656],{"class":616,"line":81},[614,632,633],{"class":620},"  \u003C",[614,635,636],{"class":624},"source",[614,638,640],{"class":639},"sScJk"," srcset",[614,642,643],{"class":620},"=",[614,645,647],{"class":646},"sZZnC","\"image.webp\"",[614,649,650],{"class":639}," type",[614,652,643],{"class":620},[614,654,655],{"class":646},"\"image\u002Fwebp\"",[614,657,628],{"class":620},[614,659,660,662,665,668,670,673,676,678,681],{"class":616,"line":257},[614,661,633],{"class":620},[614,663,664],{"class":624},"img",[614,666,667],{"class":639}," src",[614,669,643],{"class":620},[614,671,672],{"class":646},"\"image.jpg\"",[614,674,675],{"class":639}," alt",[614,677,643],{"class":620},[614,679,680],{"class":646},"\"説明テキスト\"",[614,682,628],{"class":620},[614,684,686,689,691],{"class":616,"line":685},4,[614,687,688],{"class":620},"\u003C\u002F",[614,690,625],{"class":624},[614,692,628],{"class":620},[178,694,696],{"id":695},"変換後はpagespeed-insightsで効果を確認する","変換後はPageSpeed Insightsで効果を確認する",[15,698,699],{},"変換前後でPageSpeed Insightsのスコアを比較することで、改善の効果を数値として確認できます。特にモバイルのスコアに注目しながら、優先度の高いページから順に対応を進めると効率的です。",[122,701],{},[11,703,705],{"id":704},"まとめ小さな変換が大きな差を生む","まとめ——小さな変換が、大きな差を生む",[15,707,708],{},"WebPへの変換は、特別な技術知識がなくても取り組めるSEO改善施策の一つです。ファイルサイズを削減することで、Core Web Vitalsの改善、ページ速度の向上、そしてユーザー体験の向上につながります。",[15,710,711,712,715],{},"「まずは手元の画像を一枚変換してみる」という小さな一歩から始めることが、継続的な改善への入り口になります。プライバシーを気にしながら手軽に試したい方は、ブラウザ内処理で動作する ",[54,713,564],{"href":562,"rel":714},[167]," を一度使ってみてください。ツールを使った体験を通じて、変換の効果を実感するのが一番の近道です。",[717,718,719],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":80,"searchDepth":81,"depth":81,"links":721},[722,723,728,729,734],{"id":477,"depth":81,"text":478},{"id":504,"depth":81,"text":505,"children":724},[725,726,727],{"id":511,"depth":257,"text":512},{"id":525,"depth":257,"text":526},{"id":536,"depth":257,"text":537},{"id":545,"depth":81,"text":546},{"id":580,"depth":81,"text":581,"children":730},[731,732,733],{"id":591,"depth":257,"text":591},{"id":597,"depth":257,"text":597},{"id":695,"depth":257,"text":696},{"id":704,"depth":81,"text":705},"WebPへの変換がSEOに与える効果を具体的に解説。ページ速度の改善やCore Web Vitalsへの影響、無料ツールを使った実践的な変換手順まで分かりやすく紹介します。",{},"\u002Fblog\u002Fwebp-convert-seo","2026-05-07",{"title":472,"description":735},"webp-convert-seo","blog\u002Fwebp-convert-seo",[468,743,744,271],"変換","Core Web Vitals","ohRygyiARrZiiJTtMjcj1pIeCMmom8JQlMu5cJV0TS8",{"id":747,"title":748,"author":6,"body":749,"category":259,"coverImage":87,"description":1078,"draft":89,"extension":90,"locale":91,"meta":1079,"navigation":93,"noindex":89,"path":1080,"publishedAt":1081,"seo":1082,"slug":1083,"stem":1084,"tags":1085,"updatedAt":1081,"__hash__":1087},"blog\u002Fblog\u002Fpdf-email-compress.md","PDFがメールで送れない時の圧縮方法｜ファイルサイズを簡単に減らすコツ",{"type":8,"value":750,"toc":1061},[751,755,758,761,805,808,811,824,831,833,837,840,843,881,884,887,894,897,899,902,913,920,924,933,939,945,948,951,989,992,994,997,1000,1004,1007,1011,1014,1018,1025,1027,1029,1032,1051],[11,752,754],{"id":753},"pdfがメールで送れない原因はファイルサイズにある","PDFがメールで送れない原因はファイルサイズにある",[15,756,757],{},"仕事でPDFをメール添付しようとしたら「ファイルサイズが大きすぎます」と弾かれてしまった――そんな経験は誰にでもあるはずです。",[15,759,760],{},"一般的なメールサービスの添付ファイル上限はおおむね次のとおりです。",[762,763,764,777],"table",{},[765,766,767],"thead",{},[768,769,770,774],"tr",{},[771,772,773],"th",{},"サービス",[771,775,776],{},"添付上限の目安",[778,779,780,789,797],"tbody",{},[768,781,782,786],{},[783,784,785],"td",{},"Gmail",[783,787,788],{},"25 MB",[768,790,791,794],{},[783,792,793],{},"Outlook \u002F Hotmail",[783,795,796],{},"20 MB",[768,798,799,802],{},[783,800,801],{},"社内メールサーバー",[783,803,804],{},"5〜10 MB が多い",[15,806,807],{},"スキャンした書類や図版を多く含むPDFは、あっという間に数十MBに膨らみます。特に「カラースキャン＋高解像度」で作成したファイルは要注意です。",[15,809,810],{},"上限を超えたときの主な対策は以下の3つです。",[182,812,813,818,821],{},[28,814,815],{},[31,816,817],{},"ファイルを圧縮してサイズを小さくする",[28,819,820],{},"クラウドストレージ（Google Drive など）のリンクで共有する",[28,822,823],{},"ファイル転送サービスを使う",[15,825,826,827,830],{},"このうち「すぐに・安全に・無料で」できる方法が ",[31,828,829],{},"圧縮"," です。本記事では、圧縮の仕組みと具体的な手順を分かりやすく説明します。",[122,832],{},[11,834,836],{"id":835},"pdf圧縮の仕組みとどのくらい軽くなるかの目安","PDF圧縮の仕組みと「どのくらい軽くなるか」の目安",[15,838,839],{},"PDFの圧縮とは、ファイル内の画像データや埋め込みフォントを最適化して、全体のデータ量を減らす処理です。テキスト中心のPDFはそもそもサイズが小さいため効果は限定的ですが、画像を含むPDFは大幅に軽量化できます。",[178,841,842],{"id":842},"圧縮率の目安",[762,844,845,855],{},[765,846,847],{},[768,848,849,852],{},[771,850,851],{},"元のファイルの種類",[771,853,854],{},"圧縮後のサイズ感",[778,856,857,865,873],{},[768,858,859,862],{},[783,860,861],{},"カラースキャン（300 dpi以上）",[783,863,864],{},"50〜80% 削減も可能",[768,866,867,870],{},[783,868,869],{},"図版・グラフを含む資料",[783,871,872],{},"30〜60% 削減",[768,874,875,878],{},[783,876,877],{},"テキストのみ",[783,879,880],{},"5〜15% 程度",[15,882,883],{},"ポイントは「画質をどこまで許容するか」です。印刷用の高精細データが不要なら、Web表示に適した解像度（96〜150 dpi）に落とすだけで劇的にサイズが縮みます。メール添付用途であれば、画質の低下はほとんど気にならないレベルに収まることがほとんどです。",[178,885,886],{"id":886},"オンラインツールを使う際に気をつけたいこと",[15,888,889,890,893],{},"PDFには、契約書・請求書・個人情報など機密性の高い内容が含まれることも少なくありません。一般的なオンライン圧縮ツールは、ファイルをクラウドサーバーへアップロードして処理するため、",[31,891,892],{},"「誰かのサーバーにデータが送られている」"," という事実を忘れがちです。",[15,895,896],{},"利用規約をよく読まずに使うと、意図せずデータが保存・利用されるリスクがあります。業務で扱うPDFを圧縮するなら、プライバシーへの配慮があるツールを選ぶことを強くおすすめします。",[122,898],{},[11,900,901],{"id":901},"ブラウザだけで完結する安全な圧縮ツールの使い方",[15,903,904,905,912],{},"そこで紹介したいのが、",[31,906,907],{},[54,908,911],{"href":909,"rel":910},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fpdf-compress",[167],"Zerosend の PDF 圧縮ツール"," です。",[15,914,915,916,919],{},"このツールの最大の特徴は、",[31,917,918],{},"ファイルを一切サーバーへ送信しない"," という点です。圧縮処理はすべてブラウザ内（ローカル）で完結するため、外部にデータが漏れる心配がありません。インストール不要で、Windows・Mac・スマートフォンを問わずブラウザさえあれば使えます。",[178,921,923],{"id":922},"実際の使い方3ステップ","実際の使い方（3ステップ）",[15,925,926,929,932],{},[31,927,928],{},"ステップ1：ツールを開く",[54,930,909],{"href":909,"rel":931},[167]," にアクセスします。",[15,934,935,938],{},[31,936,937],{},"ステップ2：PDFをアップロードする","\n画面中央のエリアにPDFファイルをドラッグ＆ドロップするか、「ファイルを選択」ボタンをクリックして対象のファイルを選びます。",[15,940,941,944],{},[31,942,943],{},"ステップ3：圧縮してダウンロードする","\n圧縮品質（高・中・低）を選択し、「圧縮する」ボタンを押すと処理が始まります。完了したらそのままダウンロードボタンをクリックするだけです。",[15,946,947],{},"操作はこれだけ。アカウント登録もログインも不要で、1分もあれば作業が終わります。",[178,949,950],{"id":950},"圧縮品質の選び方",[762,952,953,963],{},[765,954,955],{},[768,956,957,960],{},[771,958,959],{},"品質設定",[771,961,962],{},"おすすめの用途",[778,964,965,973,981],{},[768,966,967,970],{},[783,968,969],{},"高（Low compression）",[783,971,972],{},"印刷や長期保存が必要な場合",[768,974,975,978],{},[783,976,977],{},"中（Balanced）",[783,979,980],{},"メール添付の標準的な用途",[768,982,983,986],{},[783,984,985],{},"低（High compression）",[783,987,988],{},"とにかくサイズを小さくしたい場合",[15,990,991],{},"メール添付が目的なら「中」から試して、サイズが足りなければ「低」に切り替えるのがおすすめです。",[122,993],{},[11,995,996],{"id":996},"圧縮してもサイズが減らないときの追加対策",[15,998,999],{},"圧縮ツールを使っても思ったほどサイズが小さくならないケースもあります。そのような場合は、以下の方法を組み合わせてみてください。",[178,1001,1003],{"id":1002},"_1-pdfのページを分割して送る","1. PDFのページを分割して送る",[15,1005,1006],{},"複数ページにまたがる大きなPDFは、前半・後半などに分けて2通のメールで送るのがシンプルな回避策です。分割ツールも同様にブラウザ内処理のものを選ぶと安心です。",[178,1008,1010],{"id":1009},"_2-クラウドストレージのリンク共有を活用する","2. クラウドストレージのリンク共有を活用する",[15,1012,1013],{},"Google Drive・OneDrive・Dropbox にアップロードして共有リンクをメール本文に貼る方法です。相手がアカウントを持っていなくても、リンク共有設定を「全員が閲覧可能」にしておけばアクセスできます。ただし、機密文書の場合は共有設定のミスに注意が必要です。",[178,1015,1017],{"id":1016},"_3-スキャン設定を見直す","3. スキャン設定を見直す",[15,1019,1020,1021,1024],{},"そもそもスキャン時の解像度が高すぎる場合は、設定を ",[31,1022,1023],{},"150〜200 dpi・カラーではなくグレースケール"," に変更するだけでファイルサイズが大幅に減ります。次回以降のスキャン時に設定を見直しておくと、圧縮の手間自体が省けます。",[122,1026],{},[11,1028,70],{"id":70},[15,1030,1031],{},"PDFがメールで送れないときの解決策をおさらいします。",[25,1033,1034,1040,1046],{},[28,1035,1036,1039],{},[31,1037,1038],{},"まずは圧縮を試す","：画像を含むPDFなら、50〜80%のサイズ削減が期待できる",[28,1041,1042,1045],{},[31,1043,1044],{},"ツール選びはプライバシーを重視する","：業務文書はサーバー送信なしのブラウザ内処理ツールが安心",[28,1047,1048],{},[31,1049,1050],{},"それでも無理なら分割・クラウド共有を検討する",[15,1052,1053,1054,1060],{},"ファイルを外部サーバーに送らずに圧縮できる ",[31,1055,1056],{},[54,1057,1059],{"href":909,"rel":1058},[167],"PDF 圧縮ツール（Zerosend）"," は、機密情報を扱うビジネスシーンでも安心して使える選択肢です。ブックマークしておくと、次に困ったときにすぐ使えて便利です。",{"title":80,"searchDepth":81,"depth":81,"links":1062},[1063,1064,1068,1072,1077],{"id":753,"depth":81,"text":754},{"id":835,"depth":81,"text":836,"children":1065},[1066,1067],{"id":842,"depth":257,"text":842},{"id":886,"depth":257,"text":886},{"id":901,"depth":81,"text":901,"children":1069},[1070,1071],{"id":922,"depth":257,"text":923},{"id":950,"depth":257,"text":950},{"id":996,"depth":81,"text":996,"children":1073},[1074,1075,1076],{"id":1002,"depth":257,"text":1003},{"id":1009,"depth":257,"text":1010},{"id":1016,"depth":257,"text":1017},{"id":70,"depth":81,"text":70},"PDFがメールの添付上限を超えて送れない場合の対処法を解説。ブラウザだけで完結する無料圧縮ツールを使えば、個人情報を守りながら素早くファイルを軽量化できます。",{},"\u002Fblog\u002Fpdf-email-compress","2026-05-06",{"title":748,"description":1078},"pdf-email-compress","blog\u002Fpdf-email-compress",[829,269,268,1086],"ブラウザ","FoSkNrelOsQ46PJjGfMFKkHITo-HD6f-EsEiX74jkhI",{"id":1089,"title":1090,"author":6,"body":1091,"category":259,"coverImage":87,"description":1364,"draft":89,"extension":90,"locale":91,"meta":1365,"navigation":93,"noindex":89,"path":1366,"publishedAt":1367,"seo":1368,"slug":1369,"stem":1370,"tags":1371,"updatedAt":1367,"__hash__":1372},"blog\u002Fblog\u002Fcore-web-vitals-image-compress.md","Core Web Vitals を改善する画像圧縮の方法と実践ステップ",{"type":8,"value":1092,"toc":1358},[1093,1097,1100,1119,1122,1125,1132,1134,1137,1140,1190,1193,1204,1207,1209,1213,1220,1232,1235,1264,1267,1269,1272,1275,1280,1305,1310,1347,1350,1353,1355],[11,1094,1096],{"id":1095},"core-web-vitals-と画像の関係を正しく理解する","Core Web Vitals と画像の関係を正しく理解する",[15,1098,1099],{},"Googleが検索ランキングの評価指標として採用している「Core Web Vitals」は、大きく3つの指標で構成されています。",[25,1101,1102,1107,1113],{},[28,1103,1104,1106],{},[31,1105,518],{},"：ページ内の最も大きなコンテンツが表示されるまでの時間",[28,1108,1109,1112],{},[31,1110,1111],{},"INP（Interaction to Next Paint）","：ユーザー操作に対する応答速度",[28,1114,1115,1118],{},[31,1116,1117],{},"CLS（Cumulative Layout Shift）","：レイアウトのずれ具合",[15,1120,1121],{},"このうち、画像が直接影響するのは主にLCPです。ページを開いたときに最初に目に入る大きな画像（ヒーローイメージやメインビジュアルなど）がLCPの対象になることが多く、その画像ファイルが重いほど表示に時間がかかり、スコアが下がります。",[15,1123,1124],{},"Googleが定めるLCPの合格ラインは「2.5秒以内」。これを超えると「改善が必要」と判定され、検索順位にも悪影響が出る可能性があります。",[15,1126,1127,1128,1131],{},"ブログやコーポレートサイトを運営しているWeb担当者の方から「PageSpeed Insightsで低スコアが出たけど何をすればいいのかわからない」という声をよく聞きます。そのほとんどのケースで、",[31,1129,1130],{},"画像の最適化が最も効果的な改善策","になります。",[122,1133],{},[11,1135,1136],{"id":1136},"画像圧縮で改善できるスコアの目安",[15,1138,1139],{},"画像圧縮の効果は、元のファイルサイズによって大きく変わります。一般的な傾向として以下のような改善が見込めます。",[762,1141,1142,1155],{},[765,1143,1144],{},[768,1145,1146,1149,1152],{},[771,1147,1148],{},"元のファイルサイズ",[771,1150,1151],{},"圧縮後の目安",[771,1153,1154],{},"LCPへの効果",[778,1156,1157,1168,1179],{},[768,1158,1159,1162,1165],{},[783,1160,1161],{},"3MB以上",[783,1163,1164],{},"300KB〜500KB程度",[783,1166,1167],{},"大きく改善",[768,1169,1170,1173,1176],{},[783,1171,1172],{},"1MB前後",[783,1174,1175],{},"100KB〜200KB程度",[783,1177,1178],{},"中程度改善",[768,1180,1181,1184,1187],{},[783,1182,1183],{},"500KB以下",[783,1185,1186],{},"50KB〜100KB程度",[783,1188,1189],{},"微改善〜維持",[15,1191,1192],{},"デジタルカメラやスマートフォンで撮影した画像は、何も処理しないと3〜8MB程度になることがよくあります。そのままWebサイトに掲載すると、モバイル回線のユーザーにとっては表示まで数秒かかることも珍しくありません。",[15,1194,1195,1196,1199,1200,1203],{},"また、画像圧縮はLCPだけでなくCLSにも間接的に効果があります。画像に",[289,1197,1198],{},"width","と",[289,1201,1202],{},"height","属性を設定したうえでファイルサイズを適切に管理すると、読み込み中のレイアウトずれを防ぎやすくなります。",[15,1205,1206],{},"PageSpeed Insightsで「適切なサイズの画像」「次世代フォーマットでの画像の配信」「効率的な画像エンコード」などの警告が出ている場合は、まず画像圧縮から取り組むのが王道です。",[122,1208],{},[11,1210,1212],{"id":1211},"実践ブラウザだけで完結する画像圧縮の手順","実践：ブラウザだけで完結する画像圧縮の手順",[15,1214,1215,1216,1219],{},"画像圧縮ツールは数多くありますが、業務で使う場合に気になるのが",[31,1217,1218],{},"ファイルのプライバシー","です。社内資料の画像や顧客の写真をアップロードする際、そのデータがサーバーに保存・収集されていないかどうかは確認しておきたいポイントです。",[15,1221,1222,1227,1228,1231],{},[54,1223,1226],{"href":1224,"rel":1225},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fimage-compress",[167],"ZeroSend の画像圧縮ツール","は、ファイルをサーバーに送信せず、",[31,1229,1230],{},"ブラウザ内だけで処理を完結","させる設計になっています。アップロードした画像が外部に送信されることはないため、社内ルールが厳しい職場でも安心して使いやすいのが特徴です。",[15,1233,1234],{},"使い方はシンプルです。",[182,1236,1237,1246,1252,1258],{},[28,1238,1239,1242,1245],{},[31,1240,1241],{},"ツールにアクセスする",[54,1243,1224],{"href":1224,"rel":1244},[167]," をブラウザで開きます。インストール不要です。",[28,1247,1248,1251],{},[31,1249,1250],{},"画像ファイルを選択する","\nJPEG・PNG・WebPなど主要なフォーマットに対応しています。ドラッグ＆ドロップでも選択できます。",[28,1253,1254,1257],{},[31,1255,1256],{},"圧縮品質を調整する","\nスライダーで圧縮率を調整できます。品質を下げすぎると画像が荒くなるため、まずは「品質70〜80%」を目安に試してみてください。多くのケースでこの範囲でもビジュアル上の劣化はほとんど気になりません。",[28,1259,1260,1263],{},[31,1261,1262],{},"ダウンロードして使用する","\n圧縮後のファイルをダウンロードして、そのままWebサイトにアップロードできます。",[15,1265,1266],{},"処理はすべてローカルで行われるため、通信環境に関わらず速く動作し、データが外部に出ることもありません。",[122,1268],{},[11,1270,1271],{"id":1271},"画像圧縮の前後に確認すべきチェックリスト",[15,1273,1274],{},"圧縮するだけで終わりにしてしまうと、せっかくの改善効果が半減することがあります。以下のチェックリストを参考に、一連の対応を整理してみてください。",[15,1276,1277],{},[31,1278,1279],{},"圧縮前に確認すること",[25,1281,1284,1293,1299],{"className":1282},[1283],"contains-task-list",[28,1285,1288,1292],{"className":1286},[1287],"task-list-item",[1289,1290],"input",{"disabled":93,"type":1291},"checkbox"," PageSpeed Insights（またはLighthouse）でLCPの対象要素を特定する",[28,1294,1296,1298],{"className":1295},[1287],[1289,1297],{"disabled":93,"type":1291}," 改善対象の画像ファイルサイズを把握する（100KB以上なら圧縮優先）",[28,1300,1302,1304],{"className":1301},[1287],[1289,1303],{"disabled":93,"type":1291}," 表示サイズに対して必要以上に大きな解像度になっていないか確認する（例：横幅800pxで表示しているのに3000px幅の画像を使っていないか）",[15,1306,1307],{},[31,1308,1309],{},"圧縮後に確認すること",[25,1311,1313,1319,1331,1341],{"className":1312},[1283],[28,1314,1316,1318],{"className":1315},[1287],[1289,1317],{"disabled":93,"type":1291}," 視覚的な品質が許容範囲に収まっているか確認する",[28,1320,1322,1324,1325,1327,1328,1330],{"className":1321},[1287],[1289,1323],{"disabled":93,"type":1291}," 画像タグに",[289,1326,1198],{},"・",[289,1329,1202],{},"属性が設定されているか確認する（CLSの防止）",[28,1332,1334,1336,1337,1340],{"className":1333},[1287],[1289,1335],{"disabled":93,"type":1291}," 可能であれば",[289,1338,1339],{},"loading=\"lazy\"","を設定する（ファーストビュー外の画像に有効）",[28,1342,1344,1346],{"className":1343},[1287],[1289,1345],{"disabled":93,"type":1291}," 再度PageSpeed Insightsでスコアを計測して改善幅を確認する",[15,1348,1349],{},"画像圧縮は一度やれば終わりではありません。新しいページを追加するたびに同じ基準で対応する習慣をつけると、Core Web Vitalsのスコアを継続的に維持できます。",[15,1351,1352],{},"また、今後Webサイトに掲載する画像は、撮影・制作の段階からファイルサイズを意識しておくと後の作業が楽になります。「Web用に書き出す」「解像度は72dpiで十分」といった基準を制作フローに組み込んでおくことをおすすめします。",[122,1354],{},[15,1356,1357],{},"Core Web Vitalsの改善は、一見難しそうに感じますが、画像圧縮という具体的なアクションから着手するのが最も効果を実感しやすい方法です。ツールの導入コストも時間もほとんどかからないため、まずは今のサイトの画像を一度確認してみてください。",{"title":80,"searchDepth":81,"depth":81,"links":1359},[1360,1361,1362,1363],{"id":1095,"depth":81,"text":1096},{"id":1136,"depth":81,"text":1136},{"id":1211,"depth":81,"text":1212},{"id":1271,"depth":81,"text":1271},"Core Web Vitals のスコアを下げる画像の重さを解消する方法を解説。ブラウザだけで完結する無料ツールを使った実践的な改善ステップを紹介します。",{},"\u002Fblog\u002Fcore-web-vitals-image-compress","2026-05-05",{"title":1090,"description":1364},"core-web-vitals-image-compress","blog\u002Fcore-web-vitals-image-compress",[466,829,468,744],"UwuTfke-zayrzyjzA0lR0uobGodScG9hVZstptUy0MI",{"id":1374,"title":1375,"author":6,"body":1376,"category":259,"coverImage":87,"description":1617,"draft":89,"extension":90,"locale":91,"meta":1618,"navigation":93,"noindex":89,"path":1619,"publishedAt":1620,"seo":1621,"slug":1622,"stem":1623,"tags":1624,"updatedAt":1620,"__hash__":1626},"blog\u002Fblog\u002Faudio-convert-intro.md","音声形式を変換する — \u002Ftools\u002Faudio-convert の思想と使い方",{"type":8,"value":1377,"toc":1606},[1378,1381,1388,1391,1417,1420,1427,1430,1433,1454,1457,1483,1486,1512,1515,1518,1543,1546,1549,1555,1561,1567,1573,1576],[15,1379,1380],{},"取材の録音を MP3 に揃えたい、古い WAV ファイルを容量節約のため M4A に変えたい、ポッドキャスト配信用の形式に統一したい。音声ファイルの形式変換は、取材者・編集者・音楽制作者が日常的に行う作業です。",[15,1382,1383,1387],{},[54,1384,1386],{"href":1385},"\u002Ftools\u002Faudio-convert","Zerosend の音声形式変換ツール"," は、この作業をブラウザ内で完結させます。",[11,1389,1390],{"id":1390},"主なユースケース",[25,1392,1393,1399,1405,1411],{},[28,1394,1395,1398],{},[31,1396,1397],{},"MP3 で圧縮配布",": WAV や FLAC などのマスター音源を MP3 に変換して容量を大幅に削減し、メールや共有リンクで配布しやすくする",[28,1400,1401,1404],{},[31,1402,1403],{},"WAV で高音質保存",": 録音した音声インタビューや楽曲を非圧縮の WAV で保存し、後の編集作業に備える",[28,1406,1407,1410],{},[31,1408,1409],{},"動画ファイルから MP3 を抽出",": 講演・ウェビナーの録画動画から音声トラックだけを取り出し、ポッドキャストや音声コンテンツとして再利用する",[28,1412,1413,1416],{},[31,1414,1415],{},"形式の統一",": 複数人から集まった異なる形式の録音ファイルを、編集ソフトに合わせて一括で同一形式に変換する",[11,1418,1419],{"id":1419},"なぜブラウザ内で変換するのか",[15,1421,1422,1423,1426],{},"録音された音声は、",[31,1424,1425],{},"発話の中身そのもの","を情報として持ちます。インタビュー対象者の声、打ち合わせでの発言、取材源の証言。これらを無料のオンライン変換サービスに預けることは、発話内容そのものを第三者のサーバーに預けることと同じです。",[15,1428,1429],{},"Zerosend は変換処理をローカルで行うため、音声ファイルが一切外に出ません。取材ソースの保護や NDA 下の音源加工でも安全に使えます。",[11,1431,1432],{"id":1432},"使い方",[182,1434,1435,1442,1445,1448,1451],{},[28,1436,1437,1441],{},[54,1438,1439],{"href":1385},[289,1440,1385],{}," を開く",[28,1443,1444],{},"音声ファイルをドラッグ&ドロップ (複数可)",[28,1446,1447],{},"出力形式 (MP3 \u002F WAV \u002F M4A \u002F OGG) とビットレートを選択",[28,1449,1450],{},"「変換を開始する」をクリック",[28,1452,1453],{},"結果を ZIP でダウンロード",[11,1455,1456],{"id":1456},"形式の選び方",[25,1458,1459,1465,1471,1477],{},[28,1460,1461,1464],{},[31,1462,1463],{},"MP3",": 最も汎用。ポッドキャスト・配信・共有の標準",[28,1466,1467,1470],{},[31,1468,1469],{},"WAV",": 可逆 (ロスレス)。編集中のマスター音源・音楽制作用",[28,1472,1473,1476],{},[31,1474,1475],{},"M4A (AAC)",": MP3 より圧縮効率が良い。iOS 環境で標準",[28,1478,1479,1482],{},[31,1480,1481],{},"OGG (Vorbis)",": オープン形式。ゲーム・一部ブラウザで効率重視",[178,1484,1485],{"id":1485},"ビットレートの目安",[25,1487,1488,1494,1500,1506],{},[28,1489,1490,1493],{},[31,1491,1492],{},"320 kbps",": 音質最優先 (MP3 の実用上限)",[28,1495,1496,1499],{},[31,1497,1498],{},"192 kbps",": 標準品質。一般向け音声の定番",[28,1501,1502,1505],{},[31,1503,1504],{},"128 kbps",": 容量優先。音声解説・ポッドキャスト",[28,1507,1508,1511],{},[31,1509,1510],{},"96 kbps 以下",": 会話のみの録音など、音質より軽さ",[11,1513,1514],{"id":1514},"仕組み",[15,1516,1517],{},"ffmpeg.wasm を使って再エンコードしています。",[25,1519,1520,1523,1537,1540],{},[28,1521,1522],{},"入力音声を ffmpeg FS に書き込み",[28,1524,1525,1526,1529,1530,1529,1533,1536],{},"出力形式に応じたエンコーダ (",[289,1527,1528],{},"libmp3lame",", ",[289,1531,1532],{},"aac",[289,1534,1535],{},"libvorbis"," など) を指定",[28,1538,1539],{},"ビットレート・チャンネル数・サンプリングレートを設定",[28,1541,1542],{},"出力 Blob を生成してダウンロード",[15,1544,1545],{},"メタデータ (タイトル・アーティスト) は極力引き継ぎます。",[11,1547,1548],{"id":1548},"よくある質問",[15,1550,1551,1554],{},[31,1552,1553],{},"Q. 可逆 → 非可逆 (WAV → MP3) と 非可逆 → 非可逆 (MP3 → M4A) の違いは？","\nA. 非可逆 → 非可逆は二重に圧縮されるため音質がさらに劣化します。マスター音源 (WAV) から目的形式に直接変換するのをお勧めします。",[15,1556,1557,1560],{},[31,1558,1559],{},"Q. 複数ファイルのバッチ変換は？","\nA. 対応しています。10〜20 ファイル程度を 1 バッチで処理するのが現実的です。",[15,1562,1563,1566],{},[31,1564,1565],{},"Q. 動画から音声だけ抜き出したい","\nA. 動画ファイルを入力すれば音声トラックを抽出して指定形式で書き出します。",[15,1568,1569,1572],{},[31,1570,1571],{},"Q. ビットレートを自由に指定できる？","\nA. プリセットから選ぶ方式です。細かい制御が必要なら別途専門ツールを検討してください。",[11,1574,1575],{"id":1575},"関連ツール",[25,1577,1578,1585,1592,1599],{},[28,1579,1580,1584],{},[54,1581,1583],{"href":1582},"\u002Ftools\u002Faudio-trim","音声トリミング"," — 変換前後の区間切り出し",[28,1586,1587,1591],{},[54,1588,1590],{"href":1589},"\u002Ftools\u002Fvideo-convert","動画形式変換"," — 動画側の形式変換",[28,1593,1594,1598],{},[54,1595,1597],{"href":1596},"\u002Ftools\u002Fvideo-trim","動画トリミング"," — 音声抽出前の動画整形",[28,1600,1601,1605],{},[54,1602,1604],{"href":1603},"\u002Ftools\u002Fvideo-compress","動画圧縮"," — 動画から音声を抽出する前に動画サイズを削減する",{"title":80,"searchDepth":81,"depth":81,"links":1607},[1608,1609,1610,1611,1614,1615,1616],{"id":1390,"depth":81,"text":1390},{"id":1419,"depth":81,"text":1419},{"id":1432,"depth":81,"text":1432},{"id":1456,"depth":81,"text":1456,"children":1612},[1613],{"id":1485,"depth":257,"text":1485},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の音声形式変換ツールは、MP3 \u002F WAV \u002F M4A \u002F FLAC \u002F OGG などをサーバーに送らずブラウザ内で相互変換します。録音インタビューや音源ファイルの形式統一に。Zerosend 編集部が解説。",{},"\u002Fblog\u002Faudio-convert-intro","2026-04-20",{"title":1375,"description":1617},"audio-convert-intro","blog\u002Faudio-convert-intro",[1625,743,270],"音声","OlXJ1MeL-A2cx6TnCW2yQ2e3upQHsBkoPqR_cseAvY8",{"id":1628,"title":1629,"author":6,"body":1630,"category":259,"coverImage":87,"description":1862,"draft":89,"extension":90,"locale":91,"meta":1863,"navigation":93,"noindex":89,"path":1864,"publishedAt":1620,"seo":1865,"slug":1866,"stem":1867,"tags":1868,"updatedAt":1620,"__hash__":1870},"blog\u002Fblog\u002Faudio-trim-intro.md","音声をトリミング (切り出し) する — \u002Ftools\u002Faudio-trim の思想と使い方",{"type":8,"value":1631,"toc":1852},[1632,1635,1640,1643,1681,1684,1687,1694,1696,1716,1720,1727,1730,1732,1742,1755,1762,1765,1791,1793,1799,1809,1815,1821,1833,1835],[15,1633,1634],{},"60 分のインタビューから引用したい 30 秒を抜き出したい、会議録音の不要な冒頭\u002F末尾をカットしたい、ポッドキャスト素材のつなぎ目を整えたい。音声のトリミングは、録音後の編集で最初に行う作業です。",[15,1636,1637,1387],{},[54,1638,1639],{"href":1582},"Zerosend の音声トリミングツール",[11,1641,1642],{"id":1642},"こんな場面で使える",[25,1644,1645,1651,1657,1663,1669,1675],{},[28,1646,1647,1650],{},[31,1648,1649],{},"ポッドキャスト収録の前後カット",": 収録開始前の雑談や終了後の「切れましたか？」をまるごと除去",[28,1652,1653,1656],{},[31,1654,1655],{},"BGM の切り出し",": 長いオーディオトラックから使いたいサビ部分だけを抽出",[28,1658,1659,1662],{},[31,1660,1661],{},"着信音・通知音の作成",": お気に入りの曲の冒頭 30 秒をトリミングして着信音用ファイルに",[28,1664,1665,1668],{},[31,1666,1667],{},"インタビュー引用",": 60 分音源から 30 秒の発言だけを抜き出してプレゼンや記事に添付",[28,1670,1671,1674],{},[31,1672,1673],{},"会議録音の整理",": 30 分の会議音声から議題ごとに区間を切り出してアーカイブ",[28,1676,1677,1680],{},[31,1678,1679],{},"語学学習素材",": リスニング教材の特定フレーズだけを繰り返し練習するために切り出す",[11,1682,1683],{"id":1683},"なぜブラウザ内でトリミングするのか",[15,1685,1686],{},"音声ファイルには発話内容そのものが記録されています。インタビュー、取材、商談、カウンセリング、医療相談。どれも機密性が高く、当事者以外に聞かれることを想定していない音声です。",[15,1688,1689,1690,1693],{},"「一部だけ切り出したい」という作業でも、オンラインツールに預けると",[31,1691,1692],{},"入力した音声全体","が相手に渡ります。Zerosend はトリミング処理をローカルで行うため、アップロードそのものが発生せず、音源全体の機密が守られます。",[11,1695,1432],{"id":1432},[182,1697,1698,1704,1707,1710,1713],{},[28,1699,1700,1441],{},[54,1701,1702],{"href":1582},[289,1703,1582],{},[28,1705,1706],{},"音声ファイルをドラッグ&ドロップ",[28,1708,1709],{},"開始時刻・終了時刻を指定",[28,1711,1712],{},"「トリミングを開始する」をクリック",[28,1714,1715],{},"切り出された音声をダウンロード",[11,1717,1719],{"id":1718},"ffmpegwasm-によるブラウザ内処理","ffmpeg.wasm によるブラウザ内処理",[15,1721,1722,1723,1726],{},"動画・音声処理の定番ツール ffmpeg は、本来ターミナルから使うソフトウェアです。",[31,1724,1725],{},"ffmpeg.wasm"," はこれを WebAssembly でブラウザ上で動くようにしたもので、インストール不要でネイティブアプリ並みの音声処理が手元で行えます。",[15,1728,1729],{},"Zerosend の音声トリミングも ffmpeg.wasm を通じて動作するため、音声データがサーバーに送られることはありません。機密性の高い音声もブラウザのタブを閉じれば跡形もなく消えます。",[11,1731,1514],{"id":1514},[15,1733,1734,1735,62,1738,1741],{},"ffmpeg.wasm の ",[289,1736,1737],{},"-ss",[289,1739,1740],{},"-to"," オプションで指定区間を抽出します。",[25,1743,1744,1746,1752],{},[28,1745,1522],{},[28,1747,1748,1751],{},[289,1749,1750],{},"-ss \u003Cstart> -i input -to \u003Cend> -c copy output"," でロスレス抽出",[28,1753,1754],{},"再エンコードなしで切り出すため処理が速く音質劣化もない",[15,1756,1757,1758,1761],{},"入力がどの形式であっても、基本的には同じ形式で書き出されます。形式を変えたいときは ",[54,1759,1760],{"href":1385},"音声形式変換"," と組み合わせてください。",[11,1763,1764],{"id":1764},"使いどころ",[25,1766,1767,1773,1779,1785],{},[28,1768,1769,1772],{},[31,1770,1771],{},"インタビューの引用",": 60 分音源から 30 秒の引用箇所を切り出す",[28,1774,1775,1778],{},[31,1776,1777],{},"不要区間の除去",": 録音冒頭の環境音や末尾の雑音をカット",[28,1780,1781,1784],{},[31,1782,1783],{},"ポッドキャスト編集",": 冗長な「えー」「あのー」を含む区間を削除 (1 区間ずつ)",[28,1786,1787,1790],{},[31,1788,1789],{},"会議議事録の根拠音声",": 要旨に関連する数分の根拠区間を抜き出す",[11,1792,1548],{"id":1548},[15,1794,1795,1798],{},[31,1796,1797],{},"Q. MP3 は正確にカットできますか？","\nA. MP3 はフレーム境界に依存するため、指定した時刻の直前のフレーム境界に揃います。秒単位の切り出しなら実用上問題ありません。WAV や FLAC などのロスレス形式はより正確なカットが可能です。",[15,1800,1801,1804,1805,1808],{},[31,1802,1803],{},"Q. 音質は落ちますか？","\nA. ",[289,1806,1807],{},"-c copy"," によるロスレス抽出のため、再エンコードが発生せず元の音質がそのまま保持されます。MP3 を MP3 のまま切り出しても音質の劣化はありません。",[15,1810,1811,1814],{},[31,1812,1813],{},"Q. 複数区間を切り出して連結できる？","\nA. 現状は 1 区間のみです。複数区間を抽出したい場合は 1 つずつ切り出してから別途連結してください。",[15,1816,1817,1820],{},[31,1818,1819],{},"Q. フェードイン\u002Fフェードアウトを追加できますか？","\nA. 現状は非対応です。必要なら切り出した音声を別の編集ツールで処理してください。",[15,1822,1823,1826,1827,1829,1830,1832],{},[31,1824,1825],{},"Q. 動画ファイルから音声部分だけ切り出したい","\nA. 動画ファイルを入力して ",[54,1828,1760],{"href":1385}," を使うと、動画の音声トラックを指定形式で抽出できます。トリミングしたい区間があるなら、まず ",[54,1831,1597],{"href":1596}," で区間抽出 → 音声形式変換、の順がお勧めです。",[11,1834,1575],{"id":1575},[25,1836,1837,1842,1847],{},[28,1838,1839,1841],{},[54,1840,1760],{"href":1385}," — トリミング後に形式を変えたいとき",[28,1843,1844,1846],{},[54,1845,1597],{"href":1596}," — 映像付きの区間抽出",[28,1848,1849,1851],{},[54,1850,1590],{"href":1589}," — 動画側の処理",{"title":80,"searchDepth":81,"depth":81,"links":1853},[1854,1855,1856,1857,1858,1859,1860,1861],{"id":1642,"depth":81,"text":1642},{"id":1683,"depth":81,"text":1683},{"id":1432,"depth":81,"text":1432},{"id":1718,"depth":81,"text":1719},{"id":1514,"depth":81,"text":1514},{"id":1764,"depth":81,"text":1764},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の音声トリミングツールは、音声ファイルをサーバーに送らずブラウザ内で任意の区間だけ切り出します。長尺インタビュー・会議録音・ポッドキャスト素材の整形に。Zerosend 編集部が解説。",{},"\u002Fblog\u002Faudio-trim-intro",{"title":1629,"description":1862},"audio-trim-intro","blog\u002Faudio-trim-intro",[1625,1869,270],"トリミング","3lyRp4i_uBJXVcGETt_dsJVycY31Z5iFzImR5G2TGi0",{"id":1872,"title":1873,"author":6,"body":1874,"category":259,"coverImage":87,"description":2061,"draft":89,"extension":90,"locale":91,"meta":2062,"navigation":93,"noindex":89,"path":2063,"publishedAt":1620,"seo":2064,"slug":2065,"stem":2066,"tags":2067,"updatedAt":1620,"__hash__":2070},"blog\u002Fblog\u002Fheic-to-jpg-intro.md","HEIC を JPG に変換する — \u002Ftools\u002Fheic-to-jpg の思想と使い方",{"type":8,"value":1875,"toc":2052},[1876,1879,1886,1890,1897,1923,1926,1929,1933,1936,1939,1941,1959,1961,1971,1991,1994,1996,2002,2008,2014,2020,2022],[15,1877,1878],{},"iPhone で撮影した写真を PC や同僚に送ったら「開けません」と言われた経験、ありますよね。iPhone の標準形式 HEIC (High Efficiency Image Container) は、Apple エコシステム外では互換性が限定的です。Windows 10 以降はアドオンが必要、画像編集ソフトも対応が遅れがちです。",[15,1880,1881,1885],{},[54,1882,1884],{"href":1883},"\u002Ftools\u002Fheic-to-jpg","Zerosend の HEIC → JPG 変換ツール"," は、この問題をブラウザ内で解決します。",[11,1887,1889],{"id":1888},"heic-とは","HEIC とは",[15,1891,1892,1893,1896],{},"HEIC は Apple が iOS 11 から採用した画像フォーマットです。HEVC (H.265) という映像圧縮技術を静止画に応用したもので、同等画質の JPG と比べてファイルサイズを約半分に抑えられます。iPhone のストレージを節約するうえで有効な形式ですが、",[31,1894,1895],{},"Apple 外のシステムでは素直に開けない","という問題を持っています。",[25,1898,1899,1905,1911,1917],{},[28,1900,1901,1904],{},[31,1902,1903],{},"Windows PC",": 標準では開けず、Microsoft Store から有償の HEVC コーデックをインストールする必要がある",[28,1906,1907,1910],{},[31,1908,1909],{},"古い画像編集ソフト",": Photoshop や Lightroom の古いバージョンは非対応",[28,1912,1913,1916],{},[31,1914,1915],{},"Web サービス",": X (Twitter)・Facebook・note など多くのプラットフォームで HEIC のアップロードが弾かれる",[28,1918,1919,1922],{},[31,1920,1921],{},"Android",": HEIC をネイティブで扱えない機種が多い",[11,1924,1925],{"id":1925},"変換が必要な主な場面",[15,1927,1928],{},"Windows の仕事用 PC で iPhone の写真を開きたいとき、ブログや SNS に iPhone 写真を投稿しようとして弾かれたとき、クライアントへ納品する写真素材のファイル形式を統一するとき——いずれも JPG への変換が最短解です。",[11,1930,1932],{"id":1931},"なぜブラウザ内で-heic-を変換するのか","なぜブラウザ内で HEIC を変換するのか",[15,1934,1935],{},"iPhone で撮った写真は、個人・家族・仕事の私的情景を含みがちです。顔、家の中、位置情報、撮影日時。これらを無料のオンライン変換サービスにアップロードすることは、事実上それらの情報を第三者に預けることを意味します。",[15,1937,1938],{},"Zerosend は、HEIC のデコードから JPG の書き出しまで、すべてブラウザ内で行います。写真自体が外に出ないため、NDA 下の撮影素材や家族の写真でも安心して使えます。",[11,1940,1432],{"id":1432},[182,1942,1943,1949,1952,1955,1957],{},[28,1944,1945,1441],{},[54,1946,1947],{"href":1883},[289,1948,1883],{},[28,1950,1951],{},"HEIC \u002F HEIF 形式の画像をドラッグ&ドロップ (複数可)",[28,1953,1954],{},"品質 (JPG の圧縮率) を選択",[28,1956,1450],{},[28,1958,1453],{},[11,1960,1514],{"id":1514},[15,1962,1963,1964,1967,1968,1970],{},"HEIC のデコードはブラウザ標準ではまだ実装されていないため、",[289,1965,1966],{},"heic2any"," ライブラリを読み込んで使っています。",[289,1969,1966],{}," は libheif を WebAssembly 化したもので、ブラウザ内で HEIC を Blob として展開できます。",[25,1972,1973,1976,1981,1984],{},[28,1974,1975],{},"HEIC ファイルを ArrayBuffer として読み込み",[28,1977,1978,1980],{},[289,1979,1966],{}," で JPEG Blob に変換 (libheif の WASM が実行される)",[28,1982,1983],{},"必要なら Canvas 経由で品質を再指定",[28,1985,1986,1987,1990],{},"元のファイル名を保持したまま ",[289,1988,1989],{},".jpg"," 拡張子で書き出し",[15,1992,1993],{},"初回のみ libheif の WASM (約 2MB) をダウンロードするため少し待ち時間がありますが、2 回目以降はキャッシュから即時起動します。",[11,1995,1548],{"id":1548},[15,1997,1998,2001],{},[31,1999,2000],{},"Q. HEIC と HEIF の違いは？","\nA. HEIF がコンテナフォーマットの総称で、HEIC はその中で HEVC (H.265) でエンコードされた静止画を指します。本ツールは両方対応しています。",[15,2003,2004,2007],{},[31,2005,2006],{},"Q. Live Photo はどうなりますか？","\nA. 静止画部分のみが JPG として書き出されます。動画部分は含まれません。動画も抽出したい場合は別途 iPhone 側で「書き出す > 現状のまま」を使ってください。",[15,2009,2010,2013],{},[31,2011,2012],{},"Q. EXIF (撮影日時・位置情報) は引き継がれますか？","\nA. 一部情報は失われます。位置情報のプライバシー観点ではむしろ利点です。",[15,2015,2016,2019],{},[31,2017,2018],{},"Q. 複数ファイルまとめて変換できますか？","\nA. はい。ZIP で一括ダウンロードできます。数十枚程度までは快適に処理できます。",[11,2021,1575],{"id":1575},[25,2023,2024,2031,2038,2045],{},[28,2025,2026,2030],{},[54,2027,2029],{"href":2028},"\u002Ftools\u002Fimage-compress","画像圧縮"," — JPG 変換後にさらに軽くしたいとき",[28,2032,2033,2037],{},[54,2034,2036],{"href":2035},"\u002Ftools\u002Fimage-resize","画像リサイズ"," — 送信前に寸法も揃える",[28,2039,2040,2044],{},[54,2041,2043],{"href":2042},"\u002Ftools\u002Fimage-convert","画像形式変換"," — JPG \u002F PNG \u002F WebP の相互変換",[28,2046,2047,2051],{},[54,2048,2050],{"href":2049},"\u002Ftools\u002Fimage-to-pdf","画像 → PDF"," — 変換後の JPG をまとめて PDF 化する",{"title":80,"searchDepth":81,"depth":81,"links":2053},[2054,2055,2056,2057,2058,2059,2060],{"id":1888,"depth":81,"text":1889},{"id":1925,"depth":81,"text":1925},{"id":1931,"depth":81,"text":1932},{"id":1432,"depth":81,"text":1432},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"iPhone で撮った HEIC 画像を Windows \u002F Android や古いシステムで開けるよう JPG に変換するツール。サーバーに送らずブラウザ内で変換する仕組みと注意点を Zerosend 編集部が解説。",{},"\u002Fblog\u002Fheic-to-jpg-intro",{"title":1873,"description":2061},"heic-to-jpg-intro","blog\u002Fheic-to-jpg-intro",[2068,466,2069,270],"HEIC","iPhone","NbDoeVSgFPWUufoUokX_--BrmUj9tyIBQSEzbnQ7-e4",{"id":2072,"title":2073,"author":6,"body":2074,"category":259,"coverImage":87,"description":2281,"draft":89,"extension":90,"locale":91,"meta":2282,"navigation":93,"noindex":89,"path":2283,"publishedAt":1620,"seo":2284,"slug":2285,"stem":2286,"tags":2287,"updatedAt":1620,"__hash__":2288},"blog\u002Fblog\u002Fimage-convert-intro.md","画像形式変換をブラウザ内で — \u002Ftools\u002Fimage-convert の思想と使い方",{"type":8,"value":2075,"toc":2272},[2076,2079,2082,2108,2114,2117,2120,2123,2130,2133,2135,2154,2156,2182,2189,2191,2198,2220,2227,2229,2235,2241,2247,2253,2255],[15,2077,2078],{},"「PNG で貰ったロゴを JPEG にしたい」「iPhone で撮った HEIC を JPG で送りたい」「サイト表示を速くするために WebP に揃えたい」。画像の形式変換は地味ですが発生頻度の高い作業です。",[15,2080,2081],{},"よくあるユースケースを整理するとこうなります。",[25,2083,2084,2090,2096,2102],{},[28,2085,2086,2089],{},[31,2087,2088],{},"Web 担当者",": 納品された PNG 素材を WebP に変換してページ表示を高速化したい",[28,2091,2092,2095],{},[31,2093,2094],{},"デザイナー",": 透過 PNG のロゴを、背景色固定の JPEG に変換してメール添付したい",[28,2097,2098,2101],{},[31,2099,2100],{},"一般ユーザー",": Windows で開けない HEIC をとにかく JPG に直したい",[28,2103,2104,2107],{},[31,2105,2106],{},"開発者",": 複数形式が混在した画像フォルダを WebP に一括統一したい",[15,2109,2110,2113],{},[54,2111,2112],{"href":2042},"Zerosend の画像形式変換ツール"," は、この日常作業をブラウザ内で完結させます。一度も外に出さずに、あなたの端末だけで別形式に書き出します。",[11,2115,2116],{"id":2116},"形式を変換したい主な理由",[15,2118,2119],{},"画像形式ごとに得意な用途が異なります。目的に合った形式を選ぶだけで、ファイルサイズが 30〜50% 小さくなったり、透過表現が使えるようになったりします。変換そのものを手軽にできる環境があると、素材管理の自由度が大きく上がります。",[11,2121,2122],{"id":2122},"なぜブラウザ内で形式変換するのか",[15,2124,2125,2126,2129],{},"画像変換サービスの多くは、アップロード → サーバーで変換 → ダウンロード という流れです。社員写真、契約書のスキャン、製品デザイン案。",[31,2127,2128],{},"中身を見られたくない画像ほど、オンライン変換ツールに投げづらい","のが現実です。",[15,2131,2132],{},"Zerosend は、変換処理そのものがブラウザ内で完結するため、機密性の高い素材でもそのまま使えます。DevTools の Network タブを開いたまま変換しても、画像本体がアップロードされていないことを自分で確認できます。",[11,2134,1432],{"id":1432},[182,2136,2137,2143,2146,2149,2151],{},[28,2138,2139,1441],{},[54,2140,2141],{"href":2042},[289,2142,2042],{},[28,2144,2145],{},"画像をドラッグ&ドロップ (複数可)",[28,2147,2148],{},"出力形式 (JPEG \u002F PNG \u002F WebP) と品質を選択",[28,2150,1450],{},[28,2152,2153],{},"結果を ZIP でまとめてダウンロード",[11,2155,1456],{"id":1456},[25,2157,2158,2164,2170,2176],{},[28,2159,2160,2163],{},[31,2161,2162],{},"JPEG",": 写真・背景画像。透過不要。古いブラウザ\u002Fアプリ互換性が最重要なら",[28,2165,2166,2169],{},[31,2167,2168],{},"PNG",": ロゴ・UI パーツ・透過必要なグラフィック。可逆圧縮",[28,2171,2172,2175],{},[31,2173,2174],{},"WebP",": 汎用。JPEG より 25〜35% 小さくなり、透過も扱える。モダン用途の標準",[28,2177,2178,2181],{},[31,2179,2180],{},"AVIF",": 更に小さいが生成コストが高く、ブラウザ対応がまだ揃いきらない",[15,2183,2184,2185,2188],{},"ブログや EC で表示速度を気にするなら ",[31,2186,2187],{},"WebP 一択","と言って差し支えありません。",[11,2190,1514],{"id":1514},[15,2192,2193,2194,2197],{},"Canvas API の ",[289,2195,2196],{},"canvas.toBlob(callback, 'image\u002Fwebp', quality)"," を使って変換しています。ブラウザ標準のエンコーダなので、外部ライブラリ依存もありません。",[25,2199,2200,2207,2214],{},[28,2201,2202,2203,2206],{},"入力画像を ",[289,2204,2205],{},"\u003Cimg>"," として読み込み",[28,2208,2209,2210,2213],{},"同寸の ",[289,2211,2212],{},"\u003Ccanvas>"," に描画",[28,2215,2216,2219],{},[289,2217,2218],{},"toBlob"," で出力形式と品質を指定して書き出し",[15,2221,2222,2223,2226],{},"HEIC 入力のみ別ツール (",[54,2224,2225],{"href":1883},"HEIC → JPG",") に振り分けています。HEIC デコーダがブラウザ標準にまだ入っていないため、別ライブラリを読み込む必要があるためです。",[11,2228,1548],{"id":1548},[15,2230,2231,2234],{},[31,2232,2233],{},"Q. WebP に変換するメリットは？","\nA. 同じ視覚品質で JPEG より 25〜35% 小さくなります。透過も扱えるため PNG の代替にもなり、モダンブラウザはすべて対応済みです。ブログや EC では積極的に使う価値があります。",[15,2236,2237,2240],{},[31,2238,2239],{},"Q. 透過 PNG を JPEG にしたらどうなる？","\nA. 透過部分は白で塗られます。意図しない結果になりやすいので注意してください。透過を維持したい場合は WebP か PNG のままにしてください。",[15,2242,2243,2246],{},[31,2244,2245],{},"Q. 元のメタデータ (EXIF) は引き継がれる？","\nA. 落ちます。位置情報漏れの予防としてはむしろ利点です。",[15,2248,2249,2252],{},[31,2250,2251],{},"Q. バッチ処理の上限は？","\nA. 端末のメモリ次第ですが、実用上は 100 枚前後までを推奨します。",[11,2254,1575],{"id":1575},[25,2256,2257,2262,2267],{},[28,2258,2259,2261],{},[54,2260,2029],{"href":2028}," — 品質指定で再エンコードしてサイズ削減",[28,2263,2264,2266],{},[54,2265,2036],{"href":2035}," — 形式変換と同時に寸法も揃えたいときは先にこちら",[28,2268,2269,2271],{},[54,2270,2225],{"href":1883}," — iPhone 写真専用の変換",{"title":80,"searchDepth":81,"depth":81,"links":2273},[2274,2275,2276,2277,2278,2279,2280],{"id":2116,"depth":81,"text":2116},{"id":2122,"depth":81,"text":2122},{"id":1432,"depth":81,"text":1432},{"id":1456,"depth":81,"text":1456},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の画像形式変換ツールは、JPEG \u002F PNG \u002F WebP \u002F AVIF をサーバーに送らず相互変換します。用途別の形式選び、透過・圧縮率の違いを Zerosend 編集部が整理します。",{},"\u002Fblog\u002Fimage-convert-intro",{"title":2073,"description":2281},"image-convert-intro","blog\u002Fimage-convert-intro",[466,743,2174,270],"xN0-q4ewAvDZNl6TjIn0v_ArxA8uRFuMBmge7YzSp3k",{"id":2290,"title":2291,"author":6,"body":2292,"category":259,"coverImage":87,"description":2505,"draft":89,"extension":90,"locale":91,"meta":2506,"navigation":93,"noindex":89,"path":2507,"publishedAt":1620,"seo":2508,"slug":2509,"stem":2510,"tags":2511,"updatedAt":1620,"__hash__":2513},"blog\u002Fblog\u002Fimage-edit-intro.md","画像の切り抜き・回転・反転をブラウザ内で — \u002Ftools\u002Fimage-edit の思想と使い方",{"type":8,"value":2293,"toc":2497},[2294,2297,2304,2306,2344,2347,2350,2357,2360,2362,2399,2401,2437,2440,2442,2448,2458,2464,2470,2476,2478],[15,2295,2296],{},"SNS アイコンの正方形切り出し、履歴書の証明写真の比率合わせ、商品画像の回転、スキャン画像の左右反転。Photoshop を開くほどでもないのに地味に面倒な作業ですよね。",[15,2298,2299,2303],{},[54,2300,2302],{"href":2301},"\u002Ftools\u002Fimage-edit","Zerosend の画像編集ツール"," は、この 3 操作を 1 画面に集約してブラウザ内で完結させます。",[11,2305,1642],{"id":1642},[25,2307,2308,2314,2320,2326,2332,2338],{},[28,2309,2310,2313],{},[31,2311,2312],{},"SNS アイコン・プロフィール画像",": Instagram や Twitter は正方形が基本。1:1 プリセットでワンクリック切り抜き",[28,2315,2316,2319],{},[31,2317,2318],{},"証明写真のトリミング",": 就活・パスポート申請用に 3:4 比率で切り抜き。顔が含まれるデータをサーバーに送りたくないときに特に有効",[28,2321,2322,2325],{},[31,2323,2324],{},"スキャン画像の向き修正",": スキャナが横向きで読み込んだ場合、90° 回転で即座に修正",[28,2327,2328,2331],{},[31,2329,2330],{},"商品画像の整形",": EC サイト用に余白をカットして正方形化",[28,2333,2334,2337],{},[31,2335,2336],{},"鏡像反転",": 文字が逆に写り込んだ画像を水平反転で修正",[28,2339,2340,2343],{},[31,2341,2342],{},"ブログ・資料のサムネイル",": 16:9 プリセットで統一感のある横長画像を作成",[11,2345,2346],{"id":2346},"なぜブラウザ内で編集するのか",[15,2348,2349],{},"トリミングは個人情報と密接です。証明写真を切り出すなら顔、名刺をスキャンするなら氏名・連絡先、社内資料の一部を切り出すなら機密情報が含まれます。",[15,2351,2352,2353,2356],{},"これらを「画像を切り抜くだけ」のオンラインツールにアップロードすると、切り抜き前の原版が相手のサーバーに残る可能性があります。オンラインツールはビジネスモデル上、アップロード済みのファイルをログ・解析・AI 学習に回しても契約上問題にならないケースが多く、",[31,2354,2355],{},"利用者側からはその境界が見えません","。",[15,2358,2359],{},"Zerosend は編集処理そのものをローカルで行うことで、この不透明性を取り除きます。",[11,2361,1432],{"id":1432},[182,2363,2364,2370,2373,2396],{},[28,2365,2366,1441],{},[54,2367,2368],{"href":2301},[289,2369,2301],{},[28,2371,2372],{},"画像をドラッグ&ドロップ",[28,2374,2375,2376],{},"3 つの操作から選ぶ:\n",[25,2377,2378,2384,2390],{},[28,2379,2380,2383],{},[31,2381,2382],{},"切り抜き",": 矩形を選択範囲として指定",[28,2385,2386,2389],{},[31,2387,2388],{},"回転",": 90° \u002F 180° \u002F 270° の 3 ステップ",[28,2391,2392,2395],{},[31,2393,2394],{},"反転",": 水平 \u002F 垂直",[28,2397,2398],{},"プレビューで結果を確認してダウンロード",[11,2400,1514],{"id":1514},[25,2402,2403,2415,2424],{},[28,2404,2405,2407,2408,2410,2411,2414],{},[31,2406,2382],{},": 選択した矩形の寸法の ",[289,2409,2212],{}," を作り、",[289,2412,2413],{},"drawImage"," で元画像の該当領域を切り出し",[28,2416,2417,2419,2420,2423],{},[31,2418,2388],{},": 回転行列を ",[289,2421,2422],{},"ctx.transform"," で適用してから描画",[28,2425,2426,2428,2429,2432,2433,2436],{},[31,2427,2394],{},": ",[289,2430,2431],{},"ctx.scale(-1, 1)"," で水平、",[289,2434,2435],{},"ctx.scale(1, -1)"," で垂直",[15,2438,2439],{},"いずれも Canvas API の基本操作の組み合わせで、追加ライブラリは使っていません。処理は数十ミリ秒で完了します。",[11,2441,1548],{"id":1548},[15,2443,2444,2447],{},[31,2445,2446],{},"Q. 元の画像ファイルは変更されますか？","\nA. いいえ。処理はブラウザのメモリ上で行われ、ダウンロードするまで何も書き変わりません。元ファイルはそのまま手元に残ります。",[15,2449,2450,2453,2454,2457],{},[31,2451,2452],{},"Q. 対応している画像形式は？","\nA. JPEG・PNG・WebP・GIF (静止画) に対応しています。HEIC 形式の場合は先に ",[54,2455,2456],{"href":1883},"HEIC → JPG 変換"," を使ってから編集してください。",[15,2459,2460,2463],{},[31,2461,2462],{},"Q. 比率指定 (1:1, 4:3, 16:9) で切り抜けますか？","\nA. はい。プリセットボタンで一発切り替えできます。SNS アイコンは 1:1、YouTube サムネは 16:9 など。",[15,2465,2466,2469],{},[31,2467,2468],{},"Q. 複数画像をまとめて同じ比率で切り抜けますか？","\nA. 現状は 1 枚ずつです。バッチ処理は要望を見ながら検討します。",[15,2471,2472,2475],{},[31,2473,2474],{},"Q. 編集後に再度編集したい場合は？","\nA. ダウンロードしたファイルを再度ドロップすれば、何度でも編集できます。",[11,2477,1575],{"id":1575},[25,2479,2480,2485,2490],{},[28,2481,2482,2484],{},[54,2483,2036],{"href":2035}," — 切り抜き後に寸法を揃えたいとき",[28,2486,2487,2489],{},[54,2488,2029],{"href":2028}," — 編集後の軽量化",[28,2491,2492,2496],{},[54,2493,2495],{"href":2494},"\u002Ftools\u002Fimage-merge","画像結合"," — 複数画像を 1 枚にまとめたいとき",{"title":80,"searchDepth":81,"depth":81,"links":2498},[2499,2500,2501,2502,2503,2504],{"id":1642,"depth":81,"text":1642},{"id":2346,"depth":81,"text":2346},{"id":1432,"depth":81,"text":1432},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の画像編集ツールは、切り抜き・回転・反転をサーバーに送らず端末内で処理します。証明写真・SNS アイコン・商品画像のトリミングで使える基本操作を Zerosend 編集部が解説。",{},"\u002Fblog\u002Fimage-edit-intro",{"title":2291,"description":2505},"image-edit-intro","blog\u002Fimage-edit-intro",[466,2512,270],"編集","RrpC6EauzaWkAgWFfR06-Hve3OSQ4XqwZn5wmKjcYTw",{"id":2515,"title":2516,"author":6,"body":2517,"category":259,"coverImage":87,"description":2721,"draft":89,"extension":90,"locale":91,"meta":2722,"navigation":93,"noindex":89,"path":2723,"publishedAt":1620,"seo":2724,"slug":2725,"stem":2726,"tags":2727,"updatedAt":1620,"__hash__":2729},"blog\u002Fblog\u002Fimage-merge-intro.md","複数画像を 1 枚にまとめる — \u002Ftools\u002Fimage-merge の思想と使い方",{"type":8,"value":2518,"toc":2712},[2519,2522,2528,2531,2538,2541,2543,2566,2568,2594,2597,2601,2621,2627,2629,2655,2657,2666,2672,2681,2687,2693,2695],[15,2520,2521],{},"スマホのスクリーンショットを複数枚まとめて 1 枚の縦長画像にしたい。商品のビフォーアフター画像を横並びで 1 枚にしたい。操作マニュアルの手順画像を縦に並べて 1 ファイルにまとめたい。比較画像や before\u002Fafter の資料作りで、画像を並べたいシーンは日常的に発生します。",[15,2523,2524,2527],{},[54,2525,2526],{"href":2494},"Zerosend の画像結合ツール"," は、こうした「複数画像を 1 枚にまとめる」需要をブラウザ内で完結させます。",[11,2529,2530],{"id":2530},"なぜブラウザ内で結合するのか",[15,2532,2533,2534,2537],{},"結合対象の画像には、アプリの画面キャプチャ、社内ドキュメントのスクショ、顧客の LINE 履歴など機密性の高いものが混ざりがちです。",[31,2535,2536],{},"結合対象を全部まとめてサーバーに上げる","ということは、それだけの量の機密情報を一度に外に出すことと同じです。",[15,2539,2540],{},"Zerosend は結合処理そのものがローカルで動くため、何枚投入しても 1 枚のファイルも外に出ません。",[11,2542,1432],{"id":1432},[182,2544,2545,2551,2554,2557,2560,2563],{},[28,2546,2547,1441],{},[54,2548,2549],{"href":2494},[289,2550,2494],{},[28,2552,2553],{},"画像を複数枚ドラッグ&ドロップ",[28,2555,2556],{},"結合方向を選ぶ (縦に連結 \u002F 横に連結 \u002F グリッド)",[28,2558,2559],{},"順序が違う場合はドラッグで並べ替え",[28,2561,2562],{},"「結合を開始する」をクリック",[28,2564,2565],{},"1 枚の画像としてダウンロード",[11,2567,1514],{"id":1514},[25,2569,2570,2573,2579,2585,2588],{},[28,2571,2572],{},"各入力画像の寸法を計測",[28,2574,2575,2576,2578],{},"結合後の ",[289,2577,2212],{}," サイズを計算 (縦連結なら幅は最大・高さは合計)",[28,2580,2581,2582,2584],{},"画像を順に ",[289,2583,2413],{}," で配置",[28,2586,2587],{},"幅\u002F高さが揃わない場合は縦横比を保って自動センタリング",[28,2589,2590,2593],{},[289,2591,2592],{},"canvas.toBlob()"," で PNG \u002F JPEG として書き出し",[15,2595,2596],{},"全処理は Canvas API の組み合わせで完結します。100 枚程度の結合まで現実的です。",[11,2598,2600],{"id":2599},"縦結合横結合の使い分け","縦結合・横結合の使い分け",[25,2602,2603,2609,2615],{},[28,2604,2605,2608],{},[31,2606,2607],{},"縦に連結",": スマホのスクロールスクリーンショットをつなぐ、手順説明の連番画像をまとめる",[28,2610,2611,2614],{},[31,2612,2613],{},"横に連結",": ビフォー\u002Fアフターを並べる、比較検討資料を 1 枚にする",[28,2616,2617,2620],{},[31,2618,2619],{},"グリッド",": 複数カットを整然と並べて SNS 投稿やカタログ素材にする",[15,2622,2623,2624,2626],{},"サイズが異なる画像は、余白を自動で埋めて揃えます。事前に ",[54,2625,2036],{"href":2035}," で寸法を統一しておくと、余白なしにきれいに仕上がります。",[11,2628,1764],{"id":1764},[25,2630,2631,2637,2643,2649],{},[28,2632,2633,2636],{},[31,2634,2635],{},"スクショ集約",": アプリのフロー解説で、複数画面を 1 枚にまとめて Slack に貼る",[28,2638,2639,2642],{},[31,2640,2641],{},"比較画像",": ビフォー\u002Fアフターを横並びで 1 枚に",[28,2644,2645,2648],{},[31,2646,2647],{},"SNS 投稿",": Instagram の 1 枚投稿でも複数カットを見せる",[28,2650,2651,2654],{},[31,2652,2653],{},"申請書類",": 表紙と本文を 1 画像にまとめて提出",[11,2656,1548],{"id":1548},[15,2658,2659,2662,2663,2665],{},[31,2660,2661],{},"Q. 結合後のファイルサイズはどのくらいになりますか？","\nA. 入力枚数と解像度に比例して大きくなります。多数枚を結合した場合は ",[54,2664,2029],{"href":2028}," で軽量化するのがおすすめです。",[15,2667,2668,2671],{},[31,2669,2670],{},"Q. 何枚まで結合できますか？","\nA. ツールに上限は設けていませんが、ブラウザのメモリに依存します。100 枚程度までは現実的に動作します。",[15,2673,2674,2677,2678,2680],{},[31,2675,2676],{},"Q. 画像サイズが違うものを結合するとどうなる？","\nA. 縦連結では幅を最大に合わせ、余白部分は透明 (PNG) または白 (JPEG) になります。事前に ",[54,2679,2036],{"href":2035}," で揃えておくときれいに仕上がります。",[15,2682,2683,2686],{},[31,2684,2685],{},"Q. 間に余白を入れられる？","\nA. はい。境界の色と幅を指定できます。",[15,2688,2689,2692],{},[31,2690,2691],{},"Q. グリッドの行数・列数は指定できる？","\nA. はい。例えば 4 枚を 2×2 のグリッドに配置できます。",[11,2694,1575],{"id":1575},[25,2696,2697,2702,2707],{},[28,2698,2699,2701],{},[54,2700,2036],{"href":2035}," — 結合前にサイズを揃える",[28,2703,2704,2706],{},[54,2705,2029],{"href":2028}," — 結合後の巨大ファイルを軽くする",[28,2708,2709,2711],{},[54,2710,2050],{"href":2049}," — 結合の代わりに PDF 1 枚にまとめる選択肢も",{"title":80,"searchDepth":81,"depth":81,"links":2713},[2714,2715,2716,2717,2718,2719,2720],{"id":2530,"depth":81,"text":2530},{"id":1432,"depth":81,"text":1432},{"id":1514,"depth":81,"text":1514},{"id":2599,"depth":81,"text":2600},{"id":1764,"depth":81,"text":1764},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の画像結合ツールは、複数の画像をサーバーに送らずブラウザ内で縦\u002F横に連結します。比較画像・ビフォーアフター・スマホのスクリーンショット集約に。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fimage-merge-intro",{"title":2516,"description":2721},"image-merge-intro","blog\u002Fimage-merge-intro",[466,2728,270],"結合","BdOzeJZQnsoFfwi5pz3V87puNcR5EgH2JaJgn9GjCok",{"id":2731,"title":2732,"author":6,"body":2733,"category":259,"coverImage":87,"description":2920,"draft":89,"extension":90,"locale":91,"meta":2921,"navigation":93,"noindex":89,"path":2922,"publishedAt":1620,"seo":2923,"slug":2924,"stem":2925,"tags":2926,"updatedAt":1620,"__hash__":2927},"blog\u002Fblog\u002Fimage-resize-intro.md","画像リサイズをブラウザ内で — \u002Ftools\u002Fimage-resize の思想と使い方",{"type":8,"value":2734,"toc":2910},[2735,2738,2744,2747,2753,2760,2762,2781,2784,2822,2824,2830,2855,2858,2861,2864,2866,2872,2878,2884,2890,2892],[15,2736,2737],{},"SNS に投稿したい、社内 Wiki に貼りたい、EC サイトの商品画像に使いたい、メールに添付したい。用途ごとに必要な画像サイズは違います。スマホで撮った 4000×3000 ピクセルの写真をそのままアップすると、受け側サーバーで勝手に縮小されたり、表示が重くなったりします。",[15,2739,2740,2743],{},[54,2741,2742],{"href":2035},"Zerosend の画像リサイズツール"," は、この「用途に合う寸法に先に揃えておきたい」需要をブラウザ内で完結させます。",[11,2745,2746],{"id":2746},"なぜブラウザ内でリサイズするのか",[15,2748,2749,2750,2356],{},"画像は、送信前に必要な解像度まで落としておくのが基本です。受け側サーバーの自動縮小に任せると、圧縮アルゴリズムを自分で選べず、結果も見えません。何より、",[31,2751,2752],{},"元の高解像度がサーバー側に残ります",[15,2754,2755,2756,2759],{},"顔写真、社員証、内装写真、診断書のスキャン。個人情報が含まれる画像を、ブラウザの「縮小してアップロード」機能付きサービスに投げることは、結果的に",[31,2757,2758],{},"原寸画像をそのままアップロードしている","のと同じです。Zerosend では、リサイズ処理そのものをあなたの端末で行うことで、アップロードする画像が本当に縮小済みであることを保証します。",[11,2761,1432],{"id":1432},[182,2763,2764,2770,2773,2776,2779],{},[28,2765,2766,1441],{},[54,2767,2768],{"href":2035},[289,2769,2035],{},[28,2771,2772],{},"画像をドラッグ&ドロップ (複数ファイル対応)",[28,2774,2775],{},"目標サイズを指定 — 「幅」「高さ」「長辺」「短辺」のいずれかを固定",[28,2777,2778],{},"「リサイズを開始する」をクリック",[28,2780,2153],{},[178,2782,2783],{"id":2783},"用途別の推奨サイズ",[25,2785,2786,2792,2798,2804,2810,2816],{},[28,2787,2788,2791],{},[31,2789,2790],{},"X \u002F Twitter",": 長辺 1600px",[28,2793,2794,2797],{},[31,2795,2796],{},"Instagram",": 正方形 1080px",[28,2799,2800,2803],{},[31,2801,2802],{},"LinkedIn \u002F Facebook",": 長辺 1200px",[28,2805,2806,2809],{},[31,2807,2808],{},"ブログ本文",": 幅 800〜1200px",[28,2811,2812,2815],{},[31,2813,2814],{},"メールの添付",": 長辺 1024px 程度 (画質維持しつつ 500KB 以下に収まりやすい)",[28,2817,2818,2821],{},[31,2819,2820],{},"ECサイトのサムネ",": 幅 400〜600px",[11,2823,1514],{"id":1514},[15,2825,2826,2827,2829],{},"画像リサイズは、Canvas API の ",[289,2828,2413],{}," を使ったブラウザ標準のバイキュービック補間で行っています。外部ライブラリの呼び出しも、サーバーへの問い合わせもありません。",[25,2831,2832,2838,2844,2850],{},[28,2833,2834,2835,2837],{},"画像を ",[289,2836,2205],{}," 要素として読み込む",[28,2839,2840,2841,2843],{},"目標サイズの ",[289,2842,2212],{}," を作成",[28,2845,2846,2849],{},[289,2847,2848],{},"ctx.drawImage(img, 0, 0, targetW, targetH)"," で描画",[28,2851,2852,2854],{},[289,2853,2592],{}," で出力形式 (JPEG \u002F PNG \u002F WebP) を指定して Blob に",[15,2856,2857],{},"一括処理は Promise.all ではなく順次実行しているため、数十枚でもメモリを圧迫しません。",[11,2859,2860],{"id":2860},"縦横比の維持について",[15,2862,2863],{},"リサイズで気をつけるべき最大のポイントは「アスペクト比の崩れ」です。幅だけを変えて高さはそのままにすると、人物が横に伸びたり商品が歪んだりします。本ツールでは既定で縦横比を維持するため、「幅を指定する」だけで高さは自動計算されます。強制的にトリミングするモードも選べるので、SNS の正方形サムネイルを作る際にも対応できます。",[11,2865,1548],{"id":1548},[15,2867,2868,2871],{},[31,2869,2870],{},"Q. 縦横比は保持されますか？","\nA. 既定で保持されます。「幅を合わせる」を選べば高さは自動で計算されます。",[15,2873,2874,2877],{},[31,2875,2876],{},"Q. EXIF (撮影情報) は？","\nA. リサイズ時に落ちます。プライバシー保護の観点ではむしろ利点です。",[15,2879,2880,2883],{},[31,2881,2882],{},"Q. 拡大もできますか？","\nA. できますが推奨しません。拡大は情報を増やせないため、AI 超解像を使わない限り画質は改善しません。",[15,2885,2886,2889],{},[31,2887,2888],{},"Q. 複数ファイルを一括処理できますか？","\nA. はい。ドラッグ&ドロップで複数ファイルを投入すると、同じ設定で一括リサイズして ZIP でまとめてダウンロードできます。",[11,2891,1575],{"id":1575},[25,2893,2894,2899,2904],{},[28,2895,2896,2898],{},[54,2897,2029],{"href":2028}," — リサイズ後にさらに軽くしたいときに",[28,2900,2901,2903],{},[54,2902,2043],{"href":2042}," — WebP \u002F JPEG \u002F PNG の変換",[28,2905,2906,2909],{},[54,2907,2908],{"href":2301},"画像編集"," — 切り抜き・回転・反転",{"title":80,"searchDepth":81,"depth":81,"links":2911},[2912,2913,2916,2917,2918,2919],{"id":2746,"depth":81,"text":2746},{"id":1432,"depth":81,"text":1432,"children":2914},[2915],{"id":2783,"depth":257,"text":2783},{"id":1514,"depth":81,"text":1514},{"id":2860,"depth":81,"text":2860},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の画像リサイズツールは、画像をサーバーに送らず端末内で寸法変更します。用途別の推奨サイズ、一括処理、品質を落とさないリサイズのコツを Zerosend 編集部が解説。",{},"\u002Fblog\u002Fimage-resize-intro",{"title":2732,"description":2920},"image-resize-intro","blog\u002Fimage-resize-intro",[466,467,270],"_Uhop01N2UVvIiAaq5jlsmlRm_wNoZwYVJzFkekar6Y",{"id":2929,"title":2930,"author":6,"body":2931,"category":259,"coverImage":87,"description":3125,"draft":89,"extension":90,"locale":91,"meta":3126,"navigation":93,"noindex":89,"path":3127,"publishedAt":1620,"seo":3128,"slug":3129,"stem":3130,"tags":3131,"updatedAt":1620,"__hash__":3133},"blog\u002Fblog\u002Fimage-to-pdf-intro.md","画像を 1 つの PDF にまとめる — \u002Ftools\u002Fimage-to-pdf の思想と使い方",{"type":8,"value":2932,"toc":3117},[2933,2936,2941,2943,2969,2972,2974,2981,2988,2990,3013,3015,3021,3052,3055,3057,3063,3072,3078,3087,3089],[15,2934,2935],{},"スマホで撮ったレシート 10 枚を経費精算で PDF にまとめる、スキャンした書類 15 枚を 1 つの PDF にまとめて申請する、商品写真を PDF カタログにする。「画像 → PDF」の変換は、個人から業務まで頻繁に発生する作業です。",[15,2937,2938,1387],{},[54,2939,2940],{"href":2049},"Zerosend の画像 → PDF 変換ツール",[11,2942,1390],{"id":1390},[25,2944,2945,2951,2957,2963],{},[28,2946,2947,2950],{},[31,2948,2949],{},"写真をポートフォリオ PDF に",": デザイナーや写真家が作品画像を選択して 1 ファイルにまとめ、クライアントへの提案や審査用に配布する",[28,2952,2953,2956],{},[31,2954,2955],{},"スキャン画像を 1 ファイルに集約",": 複数ページにわたる契約書・申請書をスキャンした画像を 1 つの PDF にまとめて提出する",[28,2958,2959,2962],{},[31,2960,2961],{},"レシート・領収書の経費精算",": スマホで撮影したレシートをまとめて月次経費書類として提出する",[28,2964,2965,2968],{},[31,2966,2967],{},"複数画像を順番管理して配布",": ドラッグ&ドロップで並び順を調整しながら、説明資料やマニュアルを PDF にまとめる",[15,2970,2971],{},"複数の画像ファイルを 1 回の操作で 1 つの PDF に変換できるため、枚数が多いほど手作業との差が際立ちます。",[11,2973,1419],{"id":1419},[15,2975,2976,2977,2980],{},"画像 → PDF 変換の入力は、写真・スキャン・スクリーンショットです。つまり",[31,2978,2979],{},"画像 1 枚ずつが個別の機密情報","を持ちます。レシートなら店名・金額・日時・クレカ下 4 桁、スキャン書類なら本文全体、スクショなら画面に写っているすべて。",[15,2982,2983,2984,2987],{},"それらをまとめてオンライン PDF 化サービスに投げるのは、",[31,2985,2986],{},"機密情報セットをまとめて外に出す","ことに他なりません。Zerosend ではローカルで PDF 組み立てまで行うため、アップロードは発生しません。",[11,2989,1432],{"id":1432},[182,2991,2992,2998,3001,3004,3007,3010],{},[28,2993,2994,1441],{},[54,2995,2996],{"href":2049},[289,2997,2049],{},[28,2999,3000],{},"画像を複数枚ドラッグ&ドロップ (JPEG \u002F PNG \u002F WebP)",[28,3002,3003],{},"ページサイズ (A4 \u002F レター \u002F 画像原寸) と向きを選ぶ",[28,3005,3006],{},"並び順をドラッグで調整",[28,3008,3009],{},"「PDF 化を開始する」をクリック",[28,3011,3012],{},"1 つの PDF ファイルとしてダウンロード",[11,3014,1514],{"id":1514},[15,3016,3017,3020],{},[289,3018,3019],{},"pdf-lib"," を使って PDF を組み立てています。",[25,3022,3023,3026,3032,3043,3046],{},[28,3024,3025],{},"各画像を ArrayBuffer で読み込み",[28,3027,3028,3031],{},[289,3029,3030],{},"PDFDocument.create()"," で新規ドキュメントを作成",[28,3033,3034,3035,3038,3039,3042],{},"ページごとに ",[289,3036,3037],{},"pdfDoc.embedJpg()"," または ",[289,3040,3041],{},"embedPng()"," で画像を埋め込み",[28,3044,3045],{},"ページサイズに合わせて自動で縮小・センタリング",[28,3047,3048,3051],{},[289,3049,3050],{},".save()"," で最終的な PDF バイト列に",[15,3053,3054],{},"画像のサイズ指定は縦横比を保持したまま、指定ページサイズに収まるよう計算されます。",[11,3056,1548],{"id":1548},[15,3058,3059,3062],{},[31,3060,3061],{},"Q. 画像の順序は変えられますか？","\nA. はい。追加した順に並びますが、ドラッグで並べ替えできます。",[15,3064,3065,3068,3069,3071],{},[31,3066,3067],{},"Q. 画像の向き (縦\u002F横) を個別に変えられますか？","\nA. ページ単位の向きは全体で統一されます。個別に回転したい場合は ",[54,3070,2908],{"href":2301}," で先に回転してから PDF 化してください。",[15,3073,3074,3077],{},[31,3075,3076],{},"Q. OCR (文字認識) はかかる？","\nA. かかりません。画像はそのまま PDF に埋め込まれます。検索可能 PDF にしたい場合は別途 OCR ツールを通してください (プライバシー観点では、OCR もローカルで完結するツールを選ぶべきです)。",[15,3079,3080,3083,3084,3086],{},[31,3081,3082],{},"Q. 圧縮は？","\nA. 元画像がそのまま埋め込まれるため、PDF が大きくなりがちです。事前に ",[54,3085,2029],{"href":2028}," してから投入すると、最終 PDF が軽くなります。",[11,3088,1575],{"id":1575},[25,3090,3091,3096,3103,3110],{},[28,3092,3093,3095],{},[54,3094,2029],{"href":2028}," — PDF 化前に画像を軽くする",[28,3097,3098,3102],{},[54,3099,3101],{"href":3100},"\u002Ftools\u002Fpdf-compress","PDF 圧縮"," — 生成した PDF をさらに軽くする",[28,3104,3105,3109],{},[54,3106,3108],{"href":3107},"\u002Ftools\u002Fpdf-merge","PDF 結合"," — 既存 PDF と結合する",[28,3111,3112,3116],{},[54,3113,3115],{"href":3114},"\u002Ftools\u002Fpdf-to-image","PDF → 画像"," — 逆変換",{"title":80,"searchDepth":81,"depth":81,"links":3118},[3119,3120,3121,3122,3123,3124],{"id":1390,"depth":81,"text":1390},{"id":1419,"depth":81,"text":1419},{"id":1432,"depth":81,"text":1432},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の画像 → PDF 変換ツールは、複数画像をサーバーに送らず 1 つの PDF にまとめます。スキャン画像の PDF 化・レシートまとめ・申請書類の体裁整え。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fimage-to-pdf-intro",{"title":2930,"description":3125},"image-to-pdf-intro","blog\u002Fimage-to-pdf-intro",[3132,466,743,270],"PDF","W4LB1AnTY2syLdRrdjvKSLPfsnRiA8kspm8q42K-X9g",{"id":3135,"title":3136,"author":6,"body":3137,"category":259,"coverImage":87,"description":3272,"draft":89,"extension":90,"locale":91,"meta":3273,"navigation":93,"noindex":89,"path":3274,"publishedAt":1620,"seo":3275,"slug":3276,"stem":3277,"tags":3278,"updatedAt":1620,"__hash__":3279},"blog\u002Fblog\u002Fpdf-compress-intro.md","PDF を圧縮する — \u002Ftools\u002Fpdf-compress の思想と使い方",{"type":8,"value":3138,"toc":3265},[3139,3142,3146,3149,3156,3159,3161,3181,3184,3188,3191,3211,3218,3220,3226,3232,3238,3244,3246],[15,3140,3141],{},"メールで PDF を送ろうとしたら「ファイルサイズが大きすぎます」と弾かれた、Slack の無料枠を食い潰す、見積書 PDF が 30MB あって顧客にストレスを与えている。PDF のサイズ圧縮は、業務の摩擦を減らすのに効く小さな改善です。",[15,3143,3144,1387],{},[54,3145,911],{"href":3100},[11,3147,3148],{"id":3148},"なぜブラウザ内で圧縮するのか",[15,3150,3151,3152,3155],{},"PDF 圧縮サービスの大半はアップロード型です。つまり",[31,3153,3154],{},"契約書・見積書・健康診断・給与明細を他社サーバーに預ける","ことになります。「削除します」と書かれていても、その履行をユーザーが確認する術はありません。",[15,3157,3158],{},"Zerosend は圧縮処理をローカルで行うため、機密性の高い PDF をそのまま投入できます。DevTools で本当にアップロードされていないことを確認してから使ってください。",[11,3160,1432],{"id":1432},[182,3162,3163,3169,3172,3175,3178],{},[28,3164,3165,1441],{},[54,3166,3167],{"href":3100},[289,3168,3100],{},[28,3170,3171],{},"PDF をドラッグ&ドロップ",[28,3173,3174],{},"画質レベルを選択 (高品質 \u002F 標準 \u002F 低品質)",[28,3176,3177],{},"「圧縮を開始する」をクリック",[28,3179,3180],{},"軽量化された PDF をダウンロード",[15,3182,3183],{},"スキャン由来の画像 PDF に特に効果があります。ベクタ主体のテキスト PDF はもともと軽いので削減率は控えめです。",[11,3185,3187],{"id":3186},"仕組み-ラスタライズによる再構築","仕組み — ラスタライズによる再構築",[15,3189,3190],{},"Zerosend の PDF 圧縮は、ページを一度画像化して再構築する方式です。",[25,3192,3193,3200,3203,3208],{},[28,3194,3195,3196,3199],{},"元 PDF を ",[289,3197,3198],{},"pdfjs-dist"," で各ページをキャンバスに描画",[28,3201,3202],{},"描画結果を指定品質で JPEG にエンコード",[28,3204,3205,3207],{},[289,3206,3019],{}," で新しい PDF を組み立て、JPEG ページを埋め込み",[28,3209,3210],{},"元 PDF の metadata (タイトル・作成者など) は引き継ぐ",[15,3212,3213,3214,3217],{},"このアプローチの強みはサイズ削減率の高さ、弱みは",[31,3215,3216],{},"ベクタ情報が失われること"," (テキスト選択・検索不可になる) です。テキスト検索性を維持したい場合は、元 PDF のまま送るか、軽量化の必要性を再検討してください。",[11,3219,1548],{"id":1548},[15,3221,3222,3225],{},[31,3223,3224],{},"Q. 削減率はどのくらい？","\nA. 画像主体のスキャン PDF なら 50〜80% 減ることもあります。テキスト主体の PDF は 10〜30% 程度です。",[15,3227,3228,3231],{},[31,3229,3230],{},"Q. 圧縮後にテキスト検索できなくなった","\nA. ラスタライズ方式の副作用です。「標準」設定では解像度を維持するため読みやすさは保ちますが、テキストとしては検索できません。",[15,3233,3234,3237],{},[31,3235,3236],{},"Q. OCR は含まれますか？","\nA. 非対応です。圧縮後の PDF を検索可能にしたい場合は、別途 OCR ツールが必要です。",[15,3239,3240,3243],{},[31,3241,3242],{},"Q. 元の PDF が暗号化されている場合は？","\nA. パスワード保護された PDF は処理できません。先にロック解除が必要です。",[11,3245,1575],{"id":1575},[25,3247,3248,3253,3260],{},[28,3249,3250,3252],{},[54,3251,3108],{"href":3107}," — 圧縮前に結合しておく",[28,3254,3255,3259],{},[54,3256,3258],{"href":3257},"\u002Ftools\u002Fpdf-split","PDF 分割"," — 必要なページだけ抽出すれば圧縮も不要なことが多い",[28,3261,3262,3264],{},[54,3263,2029],{"href":2028}," — スキャン前の個別画像を軽くしておく選択肢",{"title":80,"searchDepth":81,"depth":81,"links":3266},[3267,3268,3269,3270,3271],{"id":3148,"depth":81,"text":3148},{"id":1432,"depth":81,"text":1432},{"id":3186,"depth":81,"text":3187},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の PDF 圧縮ツールは、PDF をサーバーに送らずブラウザ内でページをラスタライズして再構築し、サイズを削減します。メール添付上限に引っかかる PDF を軽くしたいときに。",{},"\u002Fblog\u002Fpdf-compress-intro",{"title":3136,"description":3272},"pdf-compress-intro","blog\u002Fpdf-compress-intro",[3132,829,270],"VvJ1WqvmAb_Nlcrf3hFnpj4_JU9LgW9Mc6y4cTGier0",{"id":3281,"title":3282,"author":6,"body":3283,"category":259,"coverImage":87,"description":3502,"draft":89,"extension":90,"locale":91,"meta":3503,"navigation":93,"noindex":89,"path":3504,"publishedAt":1620,"seo":3505,"slug":3506,"stem":3507,"tags":3508,"updatedAt":1620,"__hash__":3509},"blog\u002Fblog\u002Fpdf-edit-intro.md","PDF のページを並べ替え・削除・回転 — \u002Ftools\u002Fpdf-edit の思想と使い方",{"type":8,"value":3284,"toc":3493},[3285,3288,3295,3297,3335,3337,3343,3346,3348,3386,3390,3396,3402,3404,3433,3442,3444,3450,3456,3462,3468,3474,3476],[15,3286,3287],{},"スキャンしたら逆向きになっていた、最終ページが白紙だから削除したい、契約書の章を入れ替えたい。PDF 編集の 9 割は「ページの並べ替え・削除・回転」で済みます。",[15,3289,3290,3294],{},[54,3291,3293],{"href":3292},"\u002Ftools\u002Fpdf-edit","Zerosend の PDF ページ編集ツール"," は、この基本 3 操作をブラウザ内で完結させます。",[11,3296,1642],{"id":1642},[25,3298,3299,3305,3311,3317,3323,3329],{},[28,3300,3301,3304],{},[31,3302,3303],{},"スキャン結果の向き修正",": スキャナが横向きで読み込んだページを 90° 回転して正しい向きに",[28,3306,3307,3310],{},[31,3308,3309],{},"白紙ページの削除",": スキャン時に混入した白紙ページや意図しない空白ページをまとめて削除",[28,3312,3313,3316],{},[31,3314,3315],{},"報告書の章順修正",": 後から追加した付録を適切な位置に移動。ドラッグ操作でページを並べ直す",[28,3318,3319,3322],{},[31,3320,3321],{},"配布用 PDF の整形",": 社内向けの全ページを含む PDF から、共有しても問題ないページだけを残す",[28,3324,3325,3328],{},[31,3326,3327],{},"製本・印刷準備",": 両面印刷や製本に合わせてページ順を並べ替える",[28,3330,3331,3334],{},[31,3332,3333],{},"プレゼン資料の調整",": 不要なスライドを削除して提出用スリム版を作成",[11,3336,2346],{"id":2346},[15,3338,3339,3340,2356],{},"PDF 編集の対象は、ほぼ例外なく機密文書です。業務委託契約、秘密保持契約、顧客カルテ、社内規程、給与明細。これらを「ページを入れ替えるだけ」のオンラインサービスに預けると、",[31,3341,3342],{},"元の全ページが相手のサーバーに渡ります",[15,3344,3345],{},"「処理後にすぐ削除」と書かれていても、保存の痕跡や解析ログをユーザーが検証する手段はありません。Zerosend ではページ編集もローカル処理のため、この透明性の問題を構造的に回避できます。",[11,3347,1432],{"id":1432},[182,3349,3350,3356,3358,3361,3383],{},[28,3351,3352,1441],{},[54,3353,3354],{"href":3292},[289,3355,3292],{},[28,3357,3171],{},[28,3359,3360],{},"ページサムネイル一覧が表示される",[28,3362,3363,3364],{},"操作:\n",[25,3365,3366,3372,3378],{},[28,3367,3368,3371],{},[31,3369,3370],{},"並べ替え",": ドラッグでページを入れ替え",[28,3373,3374,3377],{},[31,3375,3376],{},"削除",": 不要なページのゴミ箱アイコンをクリック",[28,3379,3380,3382],{},[31,3381,2388],{},": 各ページの回転アイコンで 90° 単位回転",[28,3384,3385],{},"「編集を完了する」をクリックして新しい PDF を出力",[11,3387,3389],{"id":3388},"pdf-lib-によるブラウザ内-pdf-処理","pdf-lib によるブラウザ内 PDF 処理",[15,3391,3392,3393,3395],{},"Zerosend の PDF ページ編集は ",[31,3394,3019],{}," というオープンソースライブラリで実装しています。pdf-lib はブラウザ上で PDF の読み込み・書き出しができる純粋な JavaScript ライブラリで、サーバーサイドの処理は一切不要です。",[15,3397,3398,3399,3401],{},"サムネイル表示には ",[31,3400,3198],{}," (PDF.js) を使い、各ページを Canvas に描画。並べ替え・削除・回転の操作を UI 上で決めてから、最後に pdf-lib で新しい PDF として書き出します。契約書や機密文書も、データが端末から出ることなく安全に編集できます。",[11,3403,1514],{"id":1514},[25,3405,3406,3412,3415,3421,3428],{},[28,3407,3408,3409,3411],{},"PDF を ",[289,3410,3198],{}," でレンダリングしてサムネイル一覧を表示",[28,3413,3414],{},"ページの並び・削除・回転情報を UI 上で管理",[28,3416,3417,3418,3420],{},"「完了」操作時に ",[289,3419,3019],{}," を呼び出し、元 PDF から必要なページを順にコピー",[28,3422,3423,3424,3427],{},"回転は ",[289,3425,3426],{},"page.setRotation()"," で書き込み",[28,3429,3430,3431],{},"最終 PDF として ",[289,3432,3050],{},[15,3434,3435,3436,3438,3439,3441],{},"サムネ描画 (",[289,3437,3198],{},") と PDF 組み立て (",[289,3440,3019],{},") の 2 ライブラリで役割分担しています。",[11,3443,1548],{"id":1548},[15,3445,3446,3449],{},[31,3447,3448],{},"Q. テキストの編集はできますか？","\nA. 本ツールはページ単位の操作 (並べ替え・削除・回転) に特化しています。文章の書き換えや署名追加、注釈入力には対応していません。",[15,3451,3452,3455],{},[31,3453,3454],{},"Q. パスワード付き PDF は使えますか？","\nA. パスワードで保護された PDF の編集には対応していません。事前にパスワードを解除してください。",[15,3457,3458,3461],{},[31,3459,3460],{},"Q. 編集履歴は残りますか？","\nA. 新しい PDF として書き出すため、元ファイルは変更されません。必要なら元ファイルを別途保存しておいてください。",[15,3463,3464,3467],{},[31,3465,3466],{},"Q. ページを複製 (同じページを 2 回入れる) できますか？","\nA. 現状は非対応です。需要があれば追加します。",[15,3469,3470,3473],{},[31,3471,3472],{},"Q. 回転の粒度は？","\nA. 90° 単位のみです。PDF の仕様上、自由角度回転は本来のページ情報を損ねる可能性があるため非対応です。",[11,3475,1575],{"id":1575},[25,3477,3478,3483,3488],{},[28,3479,3480,3482],{},[54,3481,3258],{"href":3257}," — 編集ではなく切り分けたいとき",[28,3484,3485,3487],{},[54,3486,3108],{"href":3107}," — 複数 PDF を結合",[28,3489,3490,3492],{},[54,3491,3101],{"href":3100}," — 編集後のサイズ削減",{"title":80,"searchDepth":81,"depth":81,"links":3494},[3495,3496,3497,3498,3499,3500,3501],{"id":1642,"depth":81,"text":1642},{"id":2346,"depth":81,"text":2346},{"id":1432,"depth":81,"text":1432},{"id":3388,"depth":81,"text":3389},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の PDF ページ編集ツールは、PDF のページ順序変更・削除・回転をサーバーに送らず端末内で行います。スキャン時の向きミス修正や不要ページ削除に。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fpdf-edit-intro",{"title":3282,"description":3502},"pdf-edit-intro","blog\u002Fpdf-edit-intro",[3132,2512,270],"Yze0vH4wa57jdSYGGpMOWoCe3g9kWI080CC7vD4rqMI",{"id":3511,"title":3512,"author":6,"body":3513,"category":259,"coverImage":87,"description":3693,"draft":89,"extension":90,"locale":91,"meta":3694,"navigation":93,"noindex":89,"path":3695,"publishedAt":1620,"seo":3696,"slug":3697,"stem":3698,"tags":3699,"updatedAt":1620,"__hash__":3701},"blog\u002Fblog\u002Fpdf-split-intro.md","PDF を分割する — \u002Ftools\u002Fpdf-split の思想と使い方",{"type":8,"value":3514,"toc":3685},[3515,3518,3523,3527,3533,3536,3539,3541,3578,3582,3588,3590,3595,3623,3626,3628,3634,3640,3646,3652,3665,3667],[15,3516,3517],{},"契約書の 2〜5 ページだけ取引先に送りたい、100 ページの報告書を章ごとに分けて関係者に配りたい、スキャン時に 1 ファイルにまとめてしまった複数書類を切り分けたい。PDF の分割は業務で頻繁に発生するにもかかわらず、一般的なツールが少ない作業です。",[15,3519,3520,1387],{},[54,3521,3522],{"href":3257},"Zerosend の PDF 分割ツール",[11,3524,3526],{"id":3525},"なぜブラウザ内で-pdf-を分割するのか","なぜブラウザ内で PDF を分割するのか",[15,3528,3529,3530,2356],{},"PDF の中身は、契約書・見積書・健康診断結果・給与明細・設計資料など、ほぼすべてが機密性を持ちます。これを「PDF 分割できるオンラインサービス」にアップロードすると、",[31,3531,3532],{},"元の全ページが一旦そのサービスのサーバーに渡ります",[15,3534,3535],{},"ユーザー側が「2〜5 ページだけ必要」と思っていても、サービス側は全ページにアクセスできます。無料で提供されている以上、何らかの対価 (ログ・解析・AI 学習素材) としてファイルが使われている可能性は否定できません。",[15,3537,3538],{},"Zerosend は分割処理そのものがローカルで動くため、この構造的な問題を回避できます。",[11,3540,1432],{"id":1432},[182,3542,3543,3549,3552,3573,3576],{},[28,3544,3545,1441],{},[54,3546,3547],{"href":3257},[289,3548,3257],{},[28,3550,3551],{},"PDF ファイルをドラッグ&ドロップ",[28,3553,3554,3555],{},"分割方法を選ぶ:\n",[25,3556,3557,3563],{},[28,3558,3559,3562],{},[31,3560,3561],{},"全ページを 1 ページずつ分割"," — 100 ページなら 100 ファイル",[28,3564,3565,3568,3569,3572],{},[31,3566,3567],{},"範囲指定"," — 例: ",[289,3570,3571],{},"1-3, 5, 7-10"," で複数範囲を抽出",[28,3574,3575],{},"「分割を開始する」をクリック",[28,3577,1453],{},[11,3579,3581],{"id":3580},"pdf-lib-によるブラウザ内処理","pdf-lib によるブラウザ内処理",[15,3583,3584,3585,3587],{},"本ツールは ",[31,3586,3019],{}," というブラウザで完全動作する PDF 編集ライブラリを使っています。pdf-lib はサーバーへの問い合わせなしに PDF の読み込み・生成・ページ操作を行える純粋な JavaScript ライブラリです。元の PDF ファイルは変更されず、指定したページのみを新しい PDF として書き出します。",[11,3589,1514],{"id":1514},[15,3591,3592,3594],{},[289,3593,3019],{}," というブラウザで動く PDF 編集ライブラリを使っています。",[25,3596,3597,3600,3606,3612,3618],{},[28,3598,3599],{},"入力 PDF を ArrayBuffer として読み込み",[28,3601,3602,3605],{},[289,3603,3604],{},"PDFDocument.load()"," で解析",[28,3607,3608,3609,2843],{},"範囲指定に応じた新しい ",[289,3610,3611],{},"PDFDocument",[28,3613,3614,3617],{},[289,3615,3616],{},"copyPages()"," で必要なページだけコピー",[28,3619,3620,3622],{},[289,3621,3050],{}," で新しい PDF バイト列を生成",[15,3624,3625],{},"すべてメモリ上で処理し、ネットワークには一切送りません。",[11,3627,1548],{"id":1548},[15,3629,3630,3633],{},[31,3631,3632],{},"Q. 1 ページずつ個別のファイルに分割できますか？","\nA. できます。「全ページを 1 ページずつ分割」を選ぶと、100 ページなら 100 ファイルが生成されて ZIP でまとめてダウンロードできます。",[15,3635,3636,3639],{},[31,3637,3638],{},"Q. 元の PDF ファイルは変更されますか？","\nA. 変更されません。ブラウザのメモリ上で新しい PDF を生成するだけで、元ファイルへの書き込みは一切行いません。",[15,3641,3642,3645],{},[31,3643,3644],{},"Q. 暗号化された PDF (パスワード保護) も分割できる？","\nA. パスワードなしの PDF のみ対応。暗号化 PDF は先にロック解除が必要です。",[15,3647,3648,3651],{},[31,3649,3650],{},"Q. ページ数が非常に多い PDF (500 ページなど) は？","\nA. 処理はできますが、ブラウザのメモリ次第で時間がかかります。数百 MB 規模の PDF は端末スペック次第で詰まることがあります。",[15,3653,3654,3657,3658,1529,3661,3664],{},[31,3655,3656],{},"Q. 分割後のファイル名は？","\nA. 元ファイル名に ",[289,3659,3660],{},"-p1",[289,3662,3663],{},"-p2-5"," のようなサフィックスを付けます。",[11,3666,1575],{"id":1575},[25,3668,3669,3674,3680],{},[28,3670,3671,3673],{},[54,3672,3108],{"href":3107}," — 分割とは逆に、複数 PDF を 1 つに",[28,3675,3676,3679],{},[54,3677,3678],{"href":3292},"PDF ページ編集"," — ページの並べ替え・削除・回転",[28,3681,3682,3684],{},[54,3683,3101],{"href":3100}," — 分割後のファイルを軽くする",{"title":80,"searchDepth":81,"depth":81,"links":3686},[3687,3688,3689,3690,3691,3692],{"id":3525,"depth":81,"text":3526},{"id":1432,"depth":81,"text":1432},{"id":3580,"depth":81,"text":3581},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の PDF 分割ツールは、PDF をサーバーに送らずブラウザ内でページ単位\u002F範囲指定で分割します。機密文書の特定ページだけ共有したいときに。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fpdf-split-intro",{"title":3512,"description":3693},"pdf-split-intro","blog\u002Fpdf-split-intro",[3132,3700,270],"分割","XPJKIzDxfGixIoHq5VkY0twuwi6ez2lMZK2tzEN3Q-Y",{"id":3703,"title":3704,"author":6,"body":3705,"category":259,"coverImage":87,"description":3914,"draft":89,"extension":90,"locale":91,"meta":3915,"navigation":93,"noindex":89,"path":3916,"publishedAt":1620,"seo":3917,"slug":3918,"stem":3919,"tags":3920,"updatedAt":1620,"__hash__":3921},"blog\u002Fblog\u002Fpdf-to-image-intro.md","PDF を画像に変換する — \u002Ftools\u002Fpdf-to-image の思想と使い方",{"type":8,"value":3706,"toc":3904},[3707,3710,3715,3718,3744,3746,3752,3755,3757,3775,3778,3798,3800,3805,3833,3836,3838,3847,3853,3859,3868,3880,3882],[15,3708,3709],{},"プレゼン資料の 1 ページだけスクリーンショット的に使いたい、PDF の一部を SNS 投稿したい、PDF を見れない環境向けに画像で送りたい。「PDF → 画像」の変換は地味に需要があります。",[15,3711,3712,1387],{},[54,3713,3714],{"href":3114},"Zerosend の PDF → 画像変換ツール",[11,3716,3717],{"id":3717},"どんな場面で役立つか",[25,3719,3720,3726,3732,3738],{},[28,3721,3722,3725],{},[31,3723,3724],{},"SNS・ブログへの資料引用",": 講演スライドや報告書の特定ページを画像として切り出し、X や Instagram にそのまま投稿できます",[28,3727,3728,3731],{},[31,3729,3730],{},"サムネイル作成",": PDF ドキュメントの表紙ページを高解像度 PNG に変換し、ウェブサイトのカバー画像として使えます",[28,3733,3734,3737],{},[31,3735,3736],{},"PDF 非対応の環境に送る",": チャットツールや古い CMS が PDF に対応していなくても、画像なら貼れます",[28,3739,3740,3743],{},[31,3741,3742],{},"PDF の内容をすばやく確認・共有",": 受け取った PDF の一部だけを画像にして、コメント付きで関係者に送る用途にも便利です",[11,3745,1419],{"id":1419},[15,3747,3748,3749,169],{},"PDF から画像を切り出したい場面は、社内資料・顧客提案書・設計図・契約書スナップショットなど、機密度が高いケースが多いものです。「PDF の特定ページを画像にしたいだけ」とオンラインツールに上げるときも、",[31,3750,3751],{},"アップロードされるのは PDF の全ページ",[15,3753,3754],{},"Zerosend は変換処理をローカルで行うため、そもそも PDF が外に出ません。",[11,3756,1432],{"id":1432},[182,3758,3759,3765,3767,3770,3772],{},[28,3760,3761,1441],{},[54,3762,3763],{"href":3114},[289,3764,3114],{},[28,3766,3171],{},[28,3768,3769],{},"出力形式 (PNG \u002F JPEG) と解像度を選ぶ",[28,3771,1450],{},[28,3773,3774],{},"全ページの画像が ZIP で生成される",[178,3776,3777],{"id":3777},"解像度の目安",[25,3779,3780,3786,3792],{},[28,3781,3782,3785],{},[31,3783,3784],{},"72 DPI",": ウェブ掲載・SNS 投稿用。画質より軽さ優先",[28,3787,3788,3791],{},[31,3789,3790],{},"150 DPI",": 画面で読む標準品質",[28,3793,3794,3797],{},[31,3795,3796],{},"300 DPI",": 印刷品質。資料の細部が重要なとき",[11,3799,1514],{"id":1514},[15,3801,3802,3804],{},[289,3803,3198],{}," を使って各ページを Canvas に描画し、Canvas から画像として書き出しています。",[25,3806,3807,3810,3815,3825,3830],{},[28,3808,3809],{},"PDF を ArrayBuffer として読み込み",[28,3811,3812,3605],{},[289,3813,3814],{},"getDocument()",[28,3816,3034,3817,3820,3821,3824],{},[289,3818,3819],{},"getPage(n)"," → ",[289,3822,3823],{},"render(ctx, viewport)"," で Canvas に描画",[28,3826,3827,3829],{},[289,3828,2592],{}," で PNG \u002F JPEG 化",[28,3831,3832],{},"全ページを ZIP にまとめてダウンロード",[15,3834,3835],{},"ブラウザの描画エンジンをそのまま使うため、フォント埋め込み・ベクタ図・透過要素も正確に再現されます。",[11,3837,1548],{"id":1548},[15,3839,3840,3843,3844,3846],{},[31,3841,3842],{},"Q. 特定のページだけ変換できますか？","\nA. 現状は全ページが対象です。特定ページだけなら ",[54,3845,3258],{"href":3257}," で該当ページだけ抽出してから変換するのが確実です。",[15,3848,3849,3852],{},[31,3850,3851],{},"Q. 透過背景の PDF を変換するとどうなる？","\nA. PNG を選べば透過が保持されます。JPEG は透過非対応のため白背景になります。",[15,3854,3855,3858],{},[31,3856,3857],{},"Q. 画像の品質をもっと上げたい","\nA. 解像度を 300 DPI にすると大きく改善します。ファイルサイズとメモリ消費も大きくなります。",[15,3860,3861,3864,3865,3867],{},[31,3862,3863],{},"Q. 全ページを 1 枚にまとめたい","\nA. 本ツールは 1 ページ 1 ファイルです。まとめたい場合はダウンロード後 ",[54,3866,2495],{"href":2494}," で結合してください。",[15,3869,3870,3873,3874,3876,3877,3879],{},[31,3871,3872],{},"Q. PNG と JPEG どちらを選ぶべきか？","\nA. テキストや図表が多い資料は ",[31,3875,2168],{}," が高品質です。写真が多いページや SNS 投稿用に軽さを優先するなら ",[31,3878,2162],{}," が適しています。",[11,3881,1575],{"id":1575},[25,3883,3884,3889,3894,3899],{},[28,3885,3886,3888],{},[54,3887,3258],{"href":3257}," — 変換前に必要なページだけ抽出",[28,3890,3891,3893],{},[54,3892,3101],{"href":3100}," — 先に PDF を軽くしてから変換すると出力もコンパクトに",[28,3895,3896,3898],{},[54,3897,2029],{"href":2028}," — 変換後の画像サイズをさらに削減",[28,3900,3901,3903],{},[54,3902,2495],{"href":2494}," — 変換した複数ページを 1 枚にまとめる",{"title":80,"searchDepth":81,"depth":81,"links":3905},[3906,3907,3908,3911,3912,3913],{"id":3717,"depth":81,"text":3717},{"id":1419,"depth":81,"text":1419},{"id":1432,"depth":81,"text":1432,"children":3909},[3910],{"id":3777,"depth":257,"text":3777},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の PDF → 画像変換ツールは、PDF の各ページをサーバーに送らずブラウザ内で PNG \u002F JPEG に書き出します。資料の一部だけ共有したいときに便利。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fpdf-to-image-intro",{"title":3704,"description":3914},"pdf-to-image-intro","blog\u002Fpdf-to-image-intro",[3132,466,743,270],"71aq4s1WD6fPtxZpe1EQB5VFETOk05HeofsZ6n-nTXM",{"id":3923,"title":3924,"author":6,"body":3925,"category":259,"coverImage":87,"description":4143,"draft":89,"extension":90,"locale":91,"meta":4144,"navigation":93,"noindex":89,"path":4145,"publishedAt":1620,"seo":4146,"slug":4147,"stem":4148,"tags":4149,"updatedAt":1620,"__hash__":4151},"blog\u002Fblog\u002Fqr-create-intro.md","QR コードを生成する — \u002Ftools\u002Fqr-create の思想と使い方",{"type":8,"value":3926,"toc":4133},[3927,3930,3937,3939,3975,3979,3993,3997,4003,4006,4009,4011,4031,4034,4060,4062,4068,4079,4082,4084,4090,4099,4105,4107],[15,3928,3929],{},"自社サイトの URL を名刺に載せる、Wi-Fi パスワードを会議室の壁に貼る、イベントのアンケート URL をポスターに印刷する。QR コードは、URL や短いテキストを物理空間に橋渡しする便利な手段です。",[15,3931,3932,3936],{},[54,3933,3935],{"href":3934},"\u002Ftools\u002Fqr-create","Zerosend の QR コード生成ツール"," は、QR を作る作業をブラウザ内で完結させます。",[11,3938,1390],{"id":1390},[25,3940,3941,3947,3953,3959,3969],{},[28,3942,3943,3946],{},[31,3944,3945],{},"URL 共有",": ブログ記事やランディングページの URL を QR 化し、チラシ・ポスター・プレゼンスライドに貼り付ける",[28,3948,3949,3952],{},[31,3950,3951],{},"名刺への掲載",": 個人サイト・SNS プロフィール・連絡先 vCard を QR にして名刺の余白に印刷する",[28,3954,3955,3958],{},[31,3956,3957],{},"店舗のメニューリンク",": 飲食店やショップがデジタルメニューの URL を QR 化してテーブルに設置する。メニュー変更のたびに紙を刷り直す必要がなくなる",[28,3960,3961,3964,3965,3968],{},[31,3962,3963],{},"Wi-Fi 情報の掲示",": SSID とパスワードを ",[289,3966,3967],{},"WIFI:S:ネットワーク名;T:WPA;P:パスワード;;"," 形式で入力すると、スキャンするだけで接続できる QR が生成できる",[28,3970,3971,3974],{},[31,3972,3973],{},"社内限定 URL の共有",": 外部に見られたくない社内ポータルや β テストの URL を、外部サーバーに渡さずに QR 化できる",[11,3976,3978],{"id":3977},"png-と-svg-の使い分け","PNG と SVG の使い分け",[25,3980,3981,3987],{},[28,3982,3983,3986],{},[31,3984,3985],{},"SVG (印刷用)",": ベクタ形式なので拡大しても劣化しない。名刺・ポスター・看板など印刷物には SVG が最適",[28,3988,3989,3992],{},[31,3990,3991],{},"PNG (Web 掲載用)",": Web ページや SNS への埋め込みには PNG が扱いやすい。サイズ指定のプレビューも確認しやすい",[11,3994,3996],{"id":3995},"なぜブラウザ内で-qr-を作るのか","なぜブラウザ内で QR を作るのか",[15,3998,3999,4000,2356],{},"QR 生成サービスの多くは、入力した URL やテキストをサーバーに送って画像を返す形式です。「URL を QR にしただけ」と思いがちですが、",[31,4001,4002],{},"どの URL を誰がいつ QR にしたかという履歴がサーバーに残り得ます",[15,4004,4005],{},"社内専用 URL、β 版テスト URL、限定公開のアンケート URL などは、外部に知られたくない情報です。Wi-Fi パスワードや連絡先情報をテキストから QR 化する場合、中身がそのまま第三者のサーバーに渡ります。",[15,4007,4008],{},"Zerosend では QR 生成処理そのものがブラウザ内で完結するため、入力したテキストは一切外に出ません。",[11,4010,1432],{"id":1432},[182,4012,4013,4019,4022,4025,4028],{},[28,4014,4015,1441],{},[54,4016,4017],{"href":3934},[289,4018,3934],{},[28,4020,4021],{},"テキスト・URL を入力",[28,4023,4024],{},"出力形式 (PNG \u002F SVG)・サイズ・誤り訂正レベルを選択",[28,4026,4027],{},"「QR を生成する」をクリック",[28,4029,4030],{},"画像をダウンロード",[11,4032,4033],{"id":4033},"誤り訂正レベルの選び方",[25,4035,4036,4042,4048,4054],{},[28,4037,4038,4041],{},[31,4039,4040],{},"L (Low, 7%)",": 小さい QR にしたいとき。印刷品質が良いなら実用十分",[28,4043,4044,4047],{},[31,4045,4046],{},"M (Medium, 15%)",": 汎用・標準",[28,4049,4050,4053],{},[31,4051,4052],{},"Q (Quartile, 25%)",": 名刺・ステッカーなど汚れ・折れが予想される用途",[28,4055,4056,4059],{},[31,4057,4058],{},"H (High, 30%)",": ロゴ重ね合わせ・屋外掲示で摩耗想定",[11,4061,1514],{"id":1514},[15,4063,4064,4067],{},[289,4065,4066],{},"qrcode"," という広く使われているブラウザ対応ライブラリを使っています。",[25,4069,4070,4073,4076],{},[28,4071,4072],{},"入力テキストから QR マトリクスを計算",[28,4074,4075],{},"Canvas に描画 (PNG) または SVG として直接生成",[28,4077,4078],{},"モジュール数・誤り訂正レベル・色指定に応じて調整",[15,4080,4081],{},"SVG で生成すれば、拡大縮小しても劣化しないベクタ画像が得られます。印刷用途には SVG がおすすめです。",[11,4083,1548],{"id":1548},[15,4085,4086,4089],{},[31,4087,4088],{},"Q. QR に含められるテキスト量は？","\nA. 仕様上は最大 4296 文字 (英数字)、日本語なら 1817 文字程度まで。長くなるほど QR の密度が上がり、スキャン成功率は下がります。URL 短縮サービスの利用も検討してください (ただしサードパーティ依存が増える)。",[15,4091,4092,4095,4096,4098],{},[31,4093,4094],{},"Q. ロゴを中央に重ねたい","\nA. 本ツールでは直接対応していませんが、PNG \u002F SVG をダウンロードしたあと ",[54,4097,2908],{"href":2301}," で合成できます。誤り訂正は H にしておくとスキャン成功率が上がります。",[15,4100,4101,4104],{},[31,4102,4103],{},"Q. 作った QR の履歴は残りますか？","\nA. 残りません。タブを閉じた時点ですべて消えます。",[11,4106,1575],{"id":1575},[25,4108,4109,4116,4121,4126],{},[28,4110,4111,4115],{},[54,4112,4114],{"href":4113},"\u002Ftools\u002Fqr-read","QR コード読み取り"," — 生成した QR の検証・他人の QR の中身確認",[28,4117,4118,4120],{},[54,4119,2908],{"href":2301}," — QR にロゴを重ねる合成に",[28,4122,4123,4125],{},[54,4124,2050],{"href":2049}," — 複数 QR を 1 枚にまとめて印刷",[28,4127,4128,4132],{},[54,4129,4131],{"href":4130},"\u002Ftools\u002Ffavicon-generator","ファビコン生成"," — Web サイト向けアイコン素材もブラウザ内で作成",{"title":80,"searchDepth":81,"depth":81,"links":4134},[4135,4136,4137,4138,4139,4140,4141,4142],{"id":1390,"depth":81,"text":1390},{"id":3977,"depth":81,"text":3978},{"id":3995,"depth":81,"text":3996},{"id":1432,"depth":81,"text":1432},{"id":4033,"depth":81,"text":4033},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の QR コード生成ツールは、URL やテキストをサーバーに送らずブラウザ内で QR 画像 (PNG \u002F SVG) に変換します。名刺・ポスター・プレゼン用の QR 作成に。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fqr-create-intro",{"title":3924,"description":4143},"qr-create-intro","blog\u002Fqr-create-intro",[4150,270],"QR","6JpZtRhu832AQp3h_uxIPs5vVv-mxaDe0ZRJBFamLnM",{"id":4153,"title":4154,"author":6,"body":4155,"category":259,"coverImage":87,"description":4377,"draft":89,"extension":90,"locale":91,"meta":4378,"navigation":93,"noindex":89,"path":4379,"publishedAt":1620,"seo":4380,"slug":4381,"stem":4382,"tags":4383,"updatedAt":1620,"__hash__":4385},"blog\u002Fblog\u002Fqr-read-intro.md","QR コードを読み取る — \u002Ftools\u002Fqr-read の思想と使い方",{"type":8,"value":4156,"toc":4368},[4157,4160,4166,4168,4196,4200,4207,4210,4224,4227,4229,4250,4252,4258,4276,4279,4282,4285,4303,4306,4308,4318,4324,4330,4339,4348,4350],[15,4158,4159],{},"怪しい広告に貼られていた QR、送られてきたチラシの QR、カメラで読むにはスマホを近づける距離が取りづらい QR。「画像として手元にある QR を PC でサッと中身だけ確認したい」という場面は意外と多いものです。",[15,4161,4162,4165],{},[54,4163,4164],{"href":4113},"Zerosend の QR 読み取りツール"," は、この用途のためにあります。フィッシングやスキャン型詐欺への自衛にも使えます。",[11,4167,3717],{"id":3717},[25,4169,4170,4176,4182,4188],{},[28,4171,4172,4175],{},[31,4173,4174],{},"印刷物の URL を PC でそのまま開きたい",": チラシやポスターの QR を撮影 → 画像をドロップ → URL をコピー、という流れでスマホを使わずに遷移できます",[28,4177,4178,4181],{},[31,4179,4180],{},"受け取った QR の内容を先に確認したい",": メールや SNS で届いた QR をスキャンする前に、リンク先が安全かテキストで確認できます",[28,4183,4184,4187],{},[31,4185,4186],{},"スクリーンショットに含まれる QR を読みたい",": 画面録画や資料の中に小さく写っている QR も、画像をそのまま貼り付けるだけで読み取れます",[28,4189,4190,2428,4193,4195],{},[31,4191,4192],{},"QR コード生成後の検証",[54,4194,168],{"href":3934}," で作った QR が正しい内容を埋め込んでいるか、すぐ確認できます",[11,4197,4199],{"id":4198},"なぜブラウザ内で-qr-を読み取るのか","なぜブラウザ内で QR を読み取るのか",[15,4201,4202,4203,4206],{},"QR 読み取り=「カメラで撮って自動でリンクを開く」と考えがちですが、これは",[31,4204,4205],{},"危険な挙動","です。悪意のある QR はフィッシングサイト、マルウェア配布 URL、課金トラップ、不審なアプリインストールに誘導することがあります。",[15,4208,4209],{},"Zerosend はこれに対し 2 つの方針を取ります。",[182,4211,4212,4218],{},[28,4213,4214,4217],{},[31,4215,4216],{},"画像読み取り処理をローカルで行う"," — QR 画像を第三者に渡さない",[28,4219,4220,4223],{},[31,4221,4222],{},"デコード結果を自動遷移しない"," — URL が含まれていても、まずテキストとして表示し、ユーザーが内容を確認してから手動で判断できる",[15,4225,4226],{},"これはセキュリティ設計として重要な原則で、ZerosendのCLAUDE.mdにも「外部 URL への自動遷移禁止」として明記されています。",[11,4228,1432],{"id":1432},[182,4230,4231,4237,4240,4247],{},[28,4232,4233,1441],{},[54,4234,4235],{"href":4113},[289,4236,4113],{},[28,4238,4239],{},"QR が写っている画像をドラッグ&ドロップ",[28,4241,4242,4243,4246],{},"自動でデコードが走り、結果が",[31,4244,4245],{},"プレーンテキスト","として表示される",[28,4248,4249],{},"内容を確認し、必要なら手動でコピー・遷移",[11,4251,1514],{"id":1514},[15,4253,4254,4257],{},[289,4255,4256],{},"jsQR"," というブラウザ対応の純 JavaScript QR デコーダを使っています。",[25,4259,4260,4264,4270,4273],{},[28,4261,2834,4262,2213],{},[289,4263,2212],{},[28,4265,4266,4269],{},[289,4267,4268],{},"getImageData()"," でピクセル配列を取得",[28,4271,4272],{},"jsQR がピクセル配列から QR を検出・デコード",[28,4274,4275],{},"結果をテキストとしてそのまま表示 (HTML として解釈しない・リンク化しない)",[15,4277,4278],{},"ライブラリは WASM ではなく純 JavaScript 実装のため、初回ロードが軽いのも特徴です。",[11,4280,4281],{"id":4281},"フィッシング対策としての使い方",[15,4283,4284],{},"怪しいメール・チラシ・SMS に QR が含まれているとき:",[182,4286,4287,4290,4297,4300],{},[28,4288,4289],{},"画像をスクリーンショットや保存で取得 (スキャンしない)",[28,4291,4292,4293,4296],{},"Zerosend で読み取って",[31,4294,4295],{},"テキストとして"," URL を確認",[28,4298,4299],{},"URL 構造に違和感がないかチェック (正規サイトのサブドメイン偽装、短縮 URL 経由、意味不明なパスなど)",[28,4301,4302],{},"問題なさそうなら手動でアドレスバーに入力して遷移",[15,4304,4305],{},"カメラで直接読むと一発でブラウザが開くリスクがありますが、この手順ならテキストで一度確認できます。",[11,4307,1548],{"id":1548},[15,4309,4310,4313,4314,4317],{},[31,4311,4312],{},"Q. 悪意ある QR コードを読み取っても安全ですか？","\nA. 安全です。Zerosend は読み取り結果を ",[31,4315,4316],{},"テキストとして表示するだけ","で、URL を自動的に開きません。フィッシングサイトへの誘導や不正アプリのインストールは、ユーザーが自分でリンクを開かない限り起きません。設計上の安全機構です。",[15,4319,4320,4323],{},[31,4321,4322],{},"Q. バーコード (1D コード) も読み取れますか？","\nA. 現状は QR コード (2D) 専用です。バーコードには非対応です。",[15,4325,4326,4329],{},[31,4327,4328],{},"Q. 画像内に複数の QR がある場合は？","\nA. 現状は最初に検出された 1 つだけ読み取ります。",[15,4331,4332,4335,4336,4338],{},[31,4333,4334],{},"Q. 読み取れない QR","\nA. 解像度不足・反射・歪みが主な原因です。撮り直すか ",[54,4337,2908],{"href":2301}," で補正を試してください。",[15,4340,4341,4344,4345,4347],{},[31,4342,4343],{},"Q. 読み取り結果がサーバーに送られていないか確認したい","\nA. DevTools の Network タブを開いてから QR 画像をドロップしてください。通信が発生しないことが確認できます。",[289,4346,4256],{}," ライブラリは純 JavaScript 実装のため、WASM の読み込みもなく初回ロードが軽いです。",[11,4349,1575],{"id":1575},[25,4351,4352,4358,4363],{},[28,4353,4354,4357],{},[54,4355,4356],{"href":3934},"QR コード生成"," — 作った QR の検証にも使える",[28,4359,4360,4362],{},[54,4361,2908],{"href":2301}," — QR 画像の切り抜き・回転で読み取り成功率向上",[28,4364,4365,4367],{},[54,4366,2029],{"href":2028}," — 読み取れた QR 画像を軽く保存",{"title":80,"searchDepth":81,"depth":81,"links":4369},[4370,4371,4372,4373,4374,4375,4376],{"id":3717,"depth":81,"text":3717},{"id":4198,"depth":81,"text":4199},{"id":1432,"depth":81,"text":1432},{"id":1514,"depth":81,"text":1514},{"id":4281,"depth":81,"text":4281},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の QR 読み取りツールは、画像をサーバーに送らずブラウザ内で QR の中身をテキスト抽出します。リンク先の自動遷移はせず、安全に内容を確認できます。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fqr-read-intro",{"title":4154,"description":4377},"qr-read-intro","blog\u002Fqr-read-intro",[4150,270,4384],"セキュリティ","9MmmWPTfOPwejFG4M1Cr_Z6VD8XdHWqtq-FTJEUil_0",{"id":4387,"title":4388,"author":6,"body":4389,"category":259,"coverImage":87,"description":4617,"draft":89,"extension":90,"locale":91,"meta":4618,"navigation":93,"noindex":89,"path":4619,"publishedAt":1620,"seo":4620,"slug":4621,"stem":4622,"tags":4623,"updatedAt":1620,"__hash__":4625},"blog\u002Fblog\u002Fvideo-compress-intro.md","動画をブラウザ内で圧縮する — \u002Ftools\u002Fvideo-compress の思想と使い方",{"type":8,"value":4390,"toc":4605},[4391,4394,4404,4407,4410,4417,4428,4430,4433,4452,4455,4481,4484,4488,4491,4495,4506,4542,4545,4549,4555,4557,4563,4569,4575,4581,4583,4602],[15,4392,4393],{},"打ち合わせ動画、商品撮影、画面録画、子供の運動会。日常で動画を扱う場面は増える一方で、SNS やメッセンジャーのサイズ制限、メールの添付上限、サーバーのストレージコストという現実的な壁にぶつかります。",[15,4395,4396,4397,4403],{},"Zerosend は ",[54,4398,4399,4400,4402],{"href":1603},"動画圧縮ツール (",[289,4401,1603],{},")"," を、この「軽くしたいだけなのに、動画を他人のサーバーに預ける必要はない」という素朴な違和感を起点に作りました。なぜ作ったのか、どう使うのか、裏で何が起きているのかを整理します。",[11,4405,4406],{"id":4406},"なぜブラウザ内で動画を圧縮するのか",[15,4408,4409],{},"動画は個人情報そのものです。顔・声・背景・位置情報、ときには画面録画の中にパスワードや顧客名まで写り込みます。これをオンラインの圧縮サービスにアップロードするということは、その内容を一度他人のサーバーに預けることです。",[15,4411,4412,4413,4416],{},"多くのサービスは「一定時間で自動削除」を謳いますが、",[31,4414,4415],{},"その削除は利用者から検証できません","。削除完了のスクリーンショットを送ってくれるわけでもなく、ログがどこまで残るかも不透明です。未公開の企画映像や社内会議の録画を、無料ツールに放り込むことに抵抗を感じたことがある人は多いはずです。",[15,4418,4419,4420,4423,4424,4427],{},"Zerosend は逆のアプローチを取ります。",[31,4421,4422],{},"動画ファイルを最初から外に出さない","。処理はすべて、あなたがいま開いているこのブラウザ、ローカル端末の CPU と GPU の中だけで完結します。DevTools の Network タブを開いたまま圧縮を実行すれば、動画そのものがアップロードされていないことを自分の目で確認できます。信用してもらう代わりに、",[31,4425,4426],{},"検証可能にする"," — これが Zerosend の基本方針です。",[11,4429,1432],{"id":1432},[15,4431,4432],{},"操作はシンプルです。",[182,4434,4435,4441,4444,4447,4449],{},[28,4436,4437,1441],{},[54,4438,4439],{"href":1603},[289,4440,1603],{},[28,4442,4443],{},"画面中央のドロップゾーンに動画ファイルをドラッグ&ドロップ、またはクリックして選択 (MP4 \u002F WebM \u002F MOV、最大 500MB)",[28,4445,4446],{},"圧縮強度 (CRF) と解像度を選ぶ",[28,4448,3177],{},[28,4450,4451],{},"処理が終わると「処理完了。あなたのファイルは外に出ていません。」と表示され、ダウンロードボタンから結果を保存できる",[178,4453,4454],{"id":4454},"設定の目安",[25,4456,4457,4463,4469,4475],{},[28,4458,4459,4462],{},[31,4460,4461],{},"高画質 (CRF 23)",": 画質維持を最優先。削減率は 10〜30% 程度。保存用のマスター映像向け",[28,4464,4465,4468],{},[31,4466,4467],{},"標準 (CRF 28)",": 視覚的な劣化は軽微。削減率 40〜70%。ウェブ掲載・SNS 共有に",[28,4470,4471,4474],{},[31,4472,4473],{},"小さめ (CRF 32)",": 多少ぼやけるが容量優先。チャット添付・LINE・メール向け",[28,4476,4477,4480],{},[31,4478,4479],{},"最小 (CRF 36)",": 輪郭が甘くなる。品質より「とにかく送れる」が最優先なとき",[15,4482,4483],{},"解像度は 100 \u002F 75 \u002F 50% から選べます。1080p の素材を 75% にすると、CRF を 1〜2 下げるより確実にサイズが落ちます。",[11,4485,4487],{"id":4486},"仕組み-二段構えのエンジン","仕組み — 二段構えのエンジン",[15,4489,4490],{},"Zerosend の動画圧縮は、単一のエンジンに依存していません。ブラウザの能力を見て、もっとも速い経路を自動で選びます。",[178,4492,4494],{"id":4493},"_1-webcodecs-高速パス","1. WebCodecs (高速パス)",[15,4496,4497,4498,4501,4502,4505],{},"Chrome \u002F Edge \u002F 最近の Safari には ",[289,4499,4500],{},"WebCodecs"," API が実装されており、",[31,4503,4504],{},"GPU 支援の H.264 エンコーダ","をブラウザから直接呼び出せます。Zerosend は対応環境では次のパイプラインで処理します。",[25,4507,4508,4514,4520,4527,4533,4536],{},[28,4509,4510,4513],{},[289,4511,4512],{},"mp4box.js"," で MP4 ファイルを demux",[28,4515,4516,4519],{},[289,4517,4518],{},"VideoDecoder"," でフレームを復号 (ハードウェアアクセラレーション)",[28,4521,4522,4523,4526],{},"必要なら ",[289,4524,4525],{},"OffscreenCanvas"," でリサイズ",[28,4528,4529,4532],{},[289,4530,4531],{},"VideoEncoder"," で H.264 に再エンコード (GPU)",[28,4534,4535],{},"音声はロスレスコピー (AAC のチャンクをそのまま維持)",[28,4537,4538,4541],{},[289,4539,4540],{},"mp4-muxer"," で MP4 に mux し、Blob として出力",[15,4543,4544],{},"数百 MB の動画も数十秒で処理できます。処理後の結果カードに「エンジン: webcodecs」と表示されれば、このパスが走っています。",[178,4546,4548],{"id":4547},"_2-ffmpegwasm-フォールバック","2. ffmpeg.wasm (フォールバック)",[15,4550,4551,4552,4554],{},"WebCodecs が未対応のブラウザ、HEVC などの特殊なコーデック入力、mp4box が parse できない特殊コンテナのときは、自動的に ",[289,4553,1725],{}," に切り替わります。完全に CPU で処理するため速度は落ちますが、対応できるフォーマットの幅が段違いに広いのが強みです。ffmpeg-core は Cloudflare R2 から、同一オリジンのパスを経由して 32MB の WASM を取得します。初回のみ時間がかかりますが、2 回目以降はブラウザのキャッシュから復元されます。",[11,4556,1548],{"id":1548},[15,4558,4559,4562],{},[31,4560,4561],{},"Q. 処理中にインターネット接続が切れたら？","\nA. 動画本体の送受信は発生しないため、圧縮処理自体は継続します。エンジン (ffmpeg.wasm) が未ロードの状態だと初回ダウンロードで失敗しますが、一度読み込んだあとはオフラインでも動作します。",[15,4564,4565,4568],{},[31,4566,4567],{},"Q. 結果のファイルはどこに保存されますか？","\nA. ダウンロードボタンを押したときのブラウザの保存先です。サーバーには何も残りません。結果ファイルはタブを閉じるとメモリから消えます。",[15,4570,4571,4574],{},[31,4572,4573],{},"Q. 画質が思ったより落ちます。","\nA. CRF を下げる (例: 28 → 23)、または解像度の縮小をやめる (50% → 100%) と改善します。素材が 4K なら、100% のまま CRF を下げるより 75% + CRF 25 の方が視覚的なバランスが取れやすいです。",[15,4576,4577,4580],{},[31,4578,4579],{},"Q. iPhone で撮った MOV も処理できますか？","\nA. はい。HEVC (H.265) の場合は ffmpeg.wasm 側のフォールバックに回るため時間がかかりますが、H.264 にトランスコードされた MP4 として出力されます。",[11,4582,1575],{"id":1575},[25,4584,4585,4592,4597],{},[28,4586,4587,4591],{},[54,4588,4590],{"href":4589},"\u002Ftools\u002Fvideo-to-gif","動画 → GIF"," — SNS の表紙やドキュメント挿入に",[28,4593,4594,4596],{},[54,4595,1597],{"href":1596}," — 必要な区間だけ切り出してから圧縮すると効率的",[28,4598,4599,4601],{},[54,4600,1590],{"href":1589}," — MOV \u002F WebM → MP4 など",[15,4603,4604],{},"Zerosend は「日常のちょっとした加工を、あなたの端末で完結させる」ことに徹したツール集です。動画の中身があなたの手元から離れないことを、DevTools で自分の目で確かめてから使ってみてください。",{"title":80,"searchDepth":81,"depth":81,"links":4606},[4607,4608,4611,4615,4616],{"id":4406,"depth":81,"text":4406},{"id":1432,"depth":81,"text":1432,"children":4609},[4610],{"id":4454,"depth":257,"text":4454},{"id":4486,"depth":81,"text":4487,"children":4612},[4613,4614],{"id":4493,"depth":257,"text":4494},{"id":4547,"depth":257,"text":4548},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の動画圧縮ツールは、動画ファイルをサーバーに送らずブラウザ内で再エンコードしてサイズを削減します。WebCodecs で GPU 支援、未対応環境では ffmpeg.wasm にフォールバック。設計思想と使い方、仕組みを Zerosend 編集部が解説します。",{},"\u002Fblog\u002Fvideo-compress-intro",{"title":4388,"description":4617},"video-compress-intro","blog\u002Fvideo-compress-intro",[4624,829,4500,270],"動画","613Z3mNi94G9pdH05SAOutm_1Lv_QgpilD4PnVSTRWE",{"id":4627,"title":4628,"author":6,"body":4629,"category":259,"coverImage":87,"description":4794,"draft":89,"extension":90,"locale":91,"meta":4795,"navigation":93,"noindex":89,"path":4796,"publishedAt":1620,"seo":4797,"slug":4798,"stem":4799,"tags":4800,"updatedAt":1620,"__hash__":4801},"blog\u002Fblog\u002Fvideo-convert-intro.md","動画形式を変換する — \u002Ftools\u002Fvideo-convert の思想と使い方",{"type":8,"value":4630,"toc":4785},[4631,4634,4640,4642,4649,4652,4654,4673,4676,4696,4698,4703,4705,4708,4729,4732,4734,4740,4746,4752,4760,4766,4768],[15,4632,4633],{},"iPhone で撮った MOV を Windows に送りたい、古いビデオカメラの AVI を YouTube に上げたい、ウェブサイト掲載用に WebM 形式に変換して読み込みを軽くしたい。動画の形式変換は、互換性問題を解決する定番作業です。MP4 は最も互換性が高く、迷ったらまず MP4 を選ぶのが安全です。WebM は Chrome \u002F Firefox での再生効率が良く、ウェブページ埋め込みに適しています。",[15,4635,4636,4639],{},[54,4637,4638],{"href":1589},"Zerosend の動画形式変換ツール"," は、この変換をブラウザ内で完結させます。",[11,4641,1419],{"id":1419},[15,4643,4644,4645,4648],{},"動画ファイルは、内容がどのようなものであっても",[31,4646,4647],{},"撮影者・被写体・撮影場所","という 3 種の個人情報を常に含みます。結婚式の映像、社内イベントの録画、研修動画、顧客インタビュー。これらを無料のオンライン変換サービスに預けることは、映像を第三者のサーバーに一時的に置くことと同じです。",[15,4650,4651],{},"Zerosend では変換処理がローカルで完結するため、この構造的リスクを回避できます。",[11,4653,1432],{"id":1432},[182,4655,4656,4662,4665,4668,4670],{},[28,4657,4658,1441],{},[54,4659,4660],{"href":1589},[289,4661,1589],{},[28,4663,4664],{},"動画ファイルをドラッグ&ドロップ",[28,4666,4667],{},"出力形式 (MP4 \u002F WebM) を選ぶ",[28,4669,1450],{},[28,4671,4672],{},"ダウンロード",[11,4674,4675],{"id":4675},"形式の使い分け",[25,4677,4678,4684,4690],{},[28,4679,4680,4683],{},[31,4681,4682],{},"MP4 (H.264 + AAC)",": 汎用。ブラウザ・デバイス・SNS すべてで最も広く対応",[28,4685,4686,4689],{},[31,4687,4688],{},"WebM (VP9 + Opus)",": ブラウザネイティブ。ウェブサイト掲載で効率が良い",[28,4691,4692,4695],{},[31,4693,4694],{},"互換性優先なら MP4",": 疑問があれば MP4 を選ぶのが安全",[11,4697,1719],{"id":1718},[15,4699,3584,4700,4702],{},[31,4701,1725],{}," を使ってブラウザ上で動画を変換します。ffmpeg.wasm は、動画処理の業界標準ツール「FFmpeg」を WebAssembly にコンパイルしたものです。サーバーへのアップロードは一切発生せず、すべての処理があなたの端末のメモリ上で完結します。初回アクセス時に約 30MB の WASM ファイルを読み込みます。",[11,4704,1514],{"id":1514},[15,4706,4707],{},"ffmpeg.wasm の再エンコードを利用しています。",[25,4709,4710,4713,4723,4726],{},[28,4711,4712],{},"入力動画を ffmpeg FS に書き込み",[28,4714,4715,4718,4719,4722],{},[289,4716,4717],{},"-c:v libx264 -c:a aac"," (MP4) または ",[289,4720,4721],{},"-c:v libvpx-vp9 -c:a libopus"," (WebM) で再エンコード",[28,4724,4725],{},"出力を Blob としてメモリに展開",[28,4727,4728],{},"ダウンロード用 URL を生成",[15,4730,4731],{},"再エンコードのため処理時間は入力の長さに比例します。30 秒の動画で数秒〜数十秒が目安です。",[11,4733,1548],{"id":1548},[15,4735,4736,4739],{},[31,4737,4738],{},"Q. 変換すると画質は落ちますか？","\nA. 再エンコードするため、理論上は多少劣化します。ただし本ツールのプリセットは実用レベルでは視覚的にほぼわからない品質設定です。",[15,4741,4742,4745],{},[31,4743,4744],{},"Q. 音声は変換後も保持されますか？","\nA. はい。MP4 では AAC、WebM では Opus コーデックで音声を保持します。",[15,4747,4748,4751],{},[31,4749,4750],{},"Q. コーデック指定や高度なオプションを変えたい","\nA. 本ツールは一般用途向けのプリセットで固定しています。細かい制御が必要なら、別のプロフェッショナル向けツールを検討してください。",[15,4753,4754,1804,4757,4759],{},[31,4755,4756],{},"Q. 音声のみ抽出したい",[54,4758,1760],{"href":1385}," をお使いください。",[15,4761,4762,4765],{},[31,4763,4764],{},"Q. 対応していない入力形式","\nA. ffmpeg がサポートする範囲ですが、特殊コーデック (Pro Res \u002F DNxHD など) は未対応の場合があります。",[11,4767,1575],{"id":1575},[25,4769,4770,4775,4780],{},[28,4771,4772,4774],{},[54,4773,1604],{"href":1603}," — 変換と同時にサイズも削減したいとき",[28,4776,4777,4779],{},[54,4778,1597],{"href":1596}," — 変換前に必要な区間だけ切り出す",[28,4781,4782,4784],{},[54,4783,1760],{"href":1385}," — 動画から音声だけ抽出して変換",{"title":80,"searchDepth":81,"depth":81,"links":4786},[4787,4788,4789,4790,4791,4792,4793],{"id":1419,"depth":81,"text":1419},{"id":1432,"depth":81,"text":1432},{"id":4675,"depth":81,"text":4675},{"id":1718,"depth":81,"text":1719},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の動画形式変換ツールは、MOV \u002F WebM \u002F MKV \u002F AVI などの動画をサーバーに送らずブラウザ内で MP4 など互換性の高い形式に変換します。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fvideo-convert-intro",{"title":4628,"description":4794},"video-convert-intro","blog\u002Fvideo-convert-intro",[4624,743,270],"uen8HCCs7nwIfruqSzlnOQeM7PeUONPCTqhbCV48i8I",{"id":4803,"title":4804,"author":6,"body":4805,"category":259,"coverImage":87,"description":5042,"draft":89,"extension":90,"locale":91,"meta":5043,"navigation":93,"noindex":89,"path":5044,"publishedAt":1620,"seo":5045,"slug":5046,"stem":5047,"tags":5048,"updatedAt":1620,"__hash__":5050},"blog\u002Fblog\u002Fvideo-to-gif-intro.md","動画を GIF に変換する — \u002Ftools\u002Fvideo-to-gif の思想と使い方",{"type":8,"value":4806,"toc":5032},[4807,4810,4815,4817,4843,4847,4850,4870,4876,4880,4886,4889,4891,4913,4916,4919,4945,4947,4958,4977,4980,4982,4991,5001,5007,5013,5015],[15,4808,4809],{},"画面操作の説明を Slack で共有したい、バグの再現手順を issue に貼りたい、X のタイムラインで動く画像にしたい。動画が重くて共有しづらい場面で GIF は今でも現役です。",[15,4811,4812,4639],{},[54,4813,4814],{"href":4589},"Zerosend の 動画 → GIF 変換ツール",[11,4816,3717],{"id":3717},[25,4818,4819,4825,4831,4837],{},[28,4820,4821,4824],{},[31,4822,4823],{},"チャット・SNS への操作デモ共有",": Slack・Discord・X では動画より GIF の方が自動再生されやすく、見てもらいやすい",[28,4826,4827,4830],{},[31,4828,4829],{},"GitHub Issue へのバグ再現添付",": 再現手順を GIF にすると、文章だけより圧倒的に伝わります",[28,4832,4833,4836],{},[31,4834,4835],{},"製品マニュアルや説明資料",": 使い方の短いアニメを埋め込むとドキュメントの分かりやすさが上がります",[28,4838,4839,4842],{},[31,4840,4841],{},"SNS 投稿用のループ動画",": 短い映像をループさせてタイムラインで目を引く素材にできます",[11,4844,4846],{"id":4845},"gif-の特性を理解して使う","GIF の特性を理解して使う",[15,4848,4849],{},"GIF には独自の制約があります。",[25,4851,4852,4858,4864],{},[28,4853,4854,4857],{},[31,4855,4856],{},"音声なし",": GIF 形式の仕様上、音声トラックは含められません",[28,4859,4860,4863],{},[31,4861,4862],{},"色数は最大 256 色",": フルカラー動画に比べて色表現が限られます。グラデーションや写真素材はバンディングが出やすい",[28,4865,4866,4869],{},[31,4867,4868],{},"ファイルサイズが大きくなりやすい",": 同じ長さ・解像度の動画 MP4 と比べると、GIF は数倍のサイズになることが多い",[15,4871,4872,4873,4875],{},"画面操作録画やシンプルなアニメーションには向いています。風景動画など色が複雑な素材は ",[54,4874,1604],{"href":1603}," で MP4 のままにするのが適切です。",[11,4877,4879],{"id":4878},"なぜブラウザ内で-gif-変換するのか","なぜブラウザ内で GIF 変換するのか",[15,4881,4882,4883,2356],{},"画面録画の中身は、UI スクリーンショット以上に情報を含みます。操作中に映る URL・ユーザー名・通知内容・顧客の名前。これらを含む動画を GIF 変換サービスにアップロードすると、",[31,4884,4885],{},"動画の全フレームが相手のサーバーに渡ります",[15,4887,4888],{},"Zerosend では変換処理をローカルで行うため、そのリスクがありません。DevTools で通信が発生していないことを確認してから使ってください。",[11,4890,1432],{"id":1432},[182,4892,4893,4899,4902,4905,4908,4911],{},[28,4894,4895,1441],{},[54,4896,4897],{"href":4589},[289,4898,4589],{},[28,4900,4901],{},"動画ファイルをドラッグ&ドロップ (MP4 \u002F WebM \u002F MOV)",[28,4903,4904],{},"切り出し区間 (開始時刻・終了時刻) を指定",[28,4906,4907],{},"フレームレート (5 \u002F 10 \u002F 15fps) と幅を選択",[28,4909,4910],{},"「GIF 化を開始する」をクリック",[28,4912,4672],{},[11,4914,4915],{"id":4915},"サイズを抑えるコツ",[15,4917,4918],{},"GIF は形式として大きくなりがちです。以下の指針で調整してください。",[25,4920,4921,4927,4933,4939],{},[28,4922,4923,4926],{},[31,4924,4925],{},"区間は短く",": 3〜6 秒が実用上の上限",[28,4928,4929,4932],{},[31,4930,4931],{},"幅は 480px 以下",": Slack・Twitter で使うなら 480px 前後で十分",[28,4934,4935,4938],{},[31,4936,4937],{},"フレームレートは 10fps",": 15fps 以上は体感差が小さくサイズだけ増える",[28,4940,4941,4944],{},[31,4942,4943],{},"色数は制限",": ツール側で最適化しているが、単調な色味の動画ほどうまくハマる",[11,4946,1514],{"id":1514},[15,4948,4949,4950,4953,4954,4957],{},"ffmpeg.wasm で動画を復号し、",[289,4951,4952],{},"palettegen"," と ",[289,4955,4956],{},"paletteuse"," フィルタを使って GIF の 256 色パレットに最適化して書き出しています。",[25,4959,4960,4962,4968,4974],{},[28,4961,4712],{},[28,4963,4964,4967],{},[289,4965,4966],{},"-vf \"fps=10,scale=480:-1:flags=lanczos,palettegen\""," で最適パレット生成",[28,4969,4970,4973],{},[289,4971,4972],{},"-vf \"fps=10,scale=480:-1:flags=lanczos,paletteuse\""," で GIF エンコード",[28,4975,4976],{},"Blob としてメモリに展開",[15,4978,4979],{},"2 パス処理をブラウザ内で完結させているため、サーバー送信は一切発生しません。",[11,4981,1548],{"id":1548},[15,4983,4984,4987,4988,4990],{},[31,4985,4986],{},"Q. GIF が想像より大きくなるのはなぜ？","\nA. GIF の圧縮効率は MP4 より大幅に劣ります。色数が多い・解像度が高い・再生時間が長いほどサイズが跳ね上がります。区間を短く・幅を小さく・フレームレートを低くすることで抑えられます。30 秒超なら ",[54,4989,1604],{"href":1603}," で軽量 MP4 のままにするのをお勧めします。",[15,4992,4993,4996,4997,5000],{},[31,4994,4995],{},"Q. 最適なフレームレートは？","\nA. 画面操作デモや UI アニメーションなら ",[31,4998,4999],{},"10fps"," で十分です。15fps 以上は体感差が小さくサイズだけ増えます。スポーツや動きが速い動画なら 15fps を試してみてください。",[15,5002,5003,5006],{},[31,5004,5005],{},"Q. 音声は入りますか？","\nA. GIF 仕様上、音声は含められません。音声付きで共有したいなら動画のままが適切です。",[15,5008,5009,5012],{},[31,5010,5011],{},"Q. 透過 GIF は作れますか？","\nA. 1 ビット透過なら可能ですが、動画ソースからの抽出は実用的でないため、本ツールでは非対応です。",[11,5014,1575],{"id":1575},[25,5016,5017,5022,5027],{},[28,5018,5019,5021],{},[54,5020,1597],{"href":1596}," — GIF 化前に必要な区間だけ切り出す",[28,5023,5024,5026],{},[54,5025,1604],{"href":1603}," — GIF の代わりに軽量 MP4 にする選択肢",[28,5028,5029,5031],{},[54,5030,1590],{"href":1589}," — 他形式への変換",{"title":80,"searchDepth":81,"depth":81,"links":5033},[5034,5035,5036,5037,5038,5039,5040,5041],{"id":3717,"depth":81,"text":3717},{"id":4845,"depth":81,"text":4846},{"id":4878,"depth":81,"text":4879},{"id":1432,"depth":81,"text":1432},{"id":4915,"depth":81,"text":4915},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の 動画 → GIF 変換ツールは、動画をサーバーに送らずブラウザ内で GIF アニメに変換します。SNS・ドキュメント・Slack 用の短尺アニメ作成に。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fvideo-to-gif-intro",{"title":4804,"description":5042},"video-to-gif-intro","blog\u002Fvideo-to-gif-intro",[4624,5049,270],"GIF","KP5LnDJg0eajQ42qALBS-sWzXFmFrGx0dQo1I45wKAc",{"id":5052,"title":5053,"author":6,"body":5054,"category":259,"coverImage":87,"description":5247,"draft":89,"extension":90,"locale":91,"meta":5248,"navigation":93,"noindex":89,"path":5249,"publishedAt":1620,"seo":5250,"slug":5251,"stem":5252,"tags":5253,"updatedAt":1620,"__hash__":5254},"blog\u002Fblog\u002Fvideo-trim-intro.md","動画をトリミング (切り出し) する — \u002Ftools\u002Fvideo-trim の思想と使い方",{"type":8,"value":5055,"toc":5238},[5056,5059,5064,5066,5098,5100,5107,5110,5112,5131,5135,5141,5144,5146,5154,5169,5172,5174,5182,5188,5197,5202,5208,5219,5221],[15,5057,5058],{},"60 分の会議録画から「重要な 3 分」だけ共有したい、旅行動画の最初の手ブレ部分をカットしたい、画面録画の誤操作部分を除きたい。動画のトリミングは、共有前の定番作業です。",[15,5060,5061,1387],{},[54,5062,5063],{"href":1596},"Zerosend の動画トリミングツール",[11,5065,1642],{"id":1642},[25,5067,5068,5074,5080,5086,5092],{},[28,5069,5070,5073],{},[31,5071,5072],{},"会議録画の抜粋共有",": 60 分の Zoom 録画から決議箇所の 5 分だけを切り出してチームに送る",[28,5075,5076,5079],{},[31,5077,5078],{},"旅行動画の冒頭カット",": 起動直後の手ブレや暗転部分を除いて本編から始める",[28,5081,5082,5085],{},[31,5083,5084],{},"画面録画の整理",": 操作説明動画の冒頭・末尾の余分な操作を削除",[28,5087,5088,5091],{},[31,5089,5090],{},"SNS 投稿用にカット",": 長い動画から見せたい場面だけを 60 秒以内に切り出す",[28,5093,5094,5097],{},[31,5095,5096],{},"インタビュー動画の引用",": 収録全体から発言箇所だけを抜粋してプレゼンに使う",[11,5099,1683],{"id":1683},[15,5101,5102,5103,5106],{},"トリミングしたい動画ほど「切り取りたい箇所」より「切り捨てたい箇所」が大きいものです。60 分の会議録画から 3 分を抽出する場合、",[31,5104,5105],{},"残りの 57 分分の機密発言もいったん相手サーバーにアップロードする","ことになります。",[15,5108,5109],{},"これはプライバシー観点で非合理的です。Zerosend はトリミング処理をローカルで行うため、アップロードそのものが発生しません。入力動画が数 GB あっても、ネットワークには何も流れません。",[11,5111,1432],{"id":1432},[182,5113,5114,5120,5123,5126,5128],{},[28,5115,5116,1441],{},[54,5117,5118],{"href":1596},[289,5119,1596],{},[28,5121,5122],{},"動画をドラッグ&ドロップ",[28,5124,5125],{},"開始時刻・終了時刻を指定 (スライダーまたは秒数入力)",[28,5127,1712],{},[28,5129,5130],{},"切り出された動画をダウンロード",[11,5132,5134],{"id":5133},"ffmpegwasm-とは","ffmpeg.wasm とは",[15,5136,5137,5138,5140],{},"ffmpeg は動画・音声処理の世界標準ツールで、もともとはターミナルで使うコマンドラインプログラムです。",[31,5139,1725],{}," はこれを WebAssembly (WASM) にコンパイルしたもので、インストール不要でブラウザ上で動作します。",[15,5142,5143],{},"Zerosend はこの ffmpeg.wasm を使って、ネイティブアプリに近い動画処理をブラウザ内で実現しています。初回アクセス時は約 30MB の WASM ファイルを取得するため少し時間がかかりますが、取得後はオフラインでも動作します。",[11,5145,1514],{"id":1514},[15,5147,1734,5148,5150,5151,5153],{},[289,5149,1737],{}," (開始) \u002F ",[289,5152,1740],{}," (終了) オプションを使って指定区間を切り出します。",[25,5155,5156,5158,5164],{},[28,5157,4712],{},[28,5159,5160,5163],{},[289,5161,5162],{},"-ss \u003Cstart> -i input.mp4 -to \u003Cend> -c copy output.mp4"," で再エンコードなしに切り出し",[28,5165,5166,5168],{},[289,5167,1807],{}," によりロスレス抽出 (処理も高速)",[15,5170,5171],{},"再エンコードしないため、画質劣化なし・処理時間も入力サイズの数%程度で完了します。",[11,5173,1548],{"id":1548},[15,5175,5176,1804,5179,5181],{},[31,5177,5178],{},"Q. フレーム単位の精度は？",[289,5180,1807],{}," でキーフレーム境界に揃える仕様のため、GOP サイズに依存します。秒単位以上の精度が必要なら問題なく使えますが、フレーム単位の精度が必要な場合は本ツール内で再エンコードオプションを有効化できます (処理時間が増加)。",[15,5183,5184,5187],{},[31,5185,5186],{},"Q. 対応している動画形式は？","\nA. MP4・MOV・AVI・WebM・MKV など主要な形式に対応しています。スマートフォンで撮影した MP4 や MOV ファイルはそのまま使えます。",[15,5189,5190,5193,5194,5196],{},[31,5191,5192],{},"Q. ファイルサイズの上限はありますか？","\nA. デバイスのメモリに依存します。PC (8GB RAM) なら 2〜4GB 程度まで問題なく処理できます。大容量ファイルは事前に ",[54,5195,1604],{"href":1603}," でサイズを小さくしておくと安定します。",[15,5198,5199,5201],{},[31,5200,1813],{},"\nA. 現状は 1 区間のみです。複数区間を扱う場合は 1 区間ずつ抽出後、別途結合ツールを使ってください。",[15,5203,5204,5207],{},[31,5205,5206],{},"Q. 音声も一緒に切り出される？","\nA. はい。映像と音声は同じ区間でセット抽出されます。",[15,5209,5210,1804,5213,5215,5216,5218],{},[31,5211,5212],{},"Q. 音声だけ切り出したい場合は？",[54,5214,1583],{"href":1582}," を使うか、本ツールで切り出した動画から音声だけを ",[54,5217,1760],{"href":1385}," で抽出してください。",[11,5220,1575],{"id":1575},[25,5222,5223,5228,5233],{},[28,5224,5225,5227],{},[54,5226,1604],{"href":1603}," — トリミング後にサイズ削減",[28,5229,5230,5232],{},[54,5231,4590],{"href":4589}," — 短い区間を GIF アニメに",[28,5234,5235,5237],{},[54,5236,1590],{"href":1589}," — 形式違いへの変換",{"title":80,"searchDepth":81,"depth":81,"links":5239},[5240,5241,5242,5243,5244,5245,5246],{"id":1642,"depth":81,"text":1642},{"id":1683,"depth":81,"text":1683},{"id":1432,"depth":81,"text":1432},{"id":5133,"depth":81,"text":5134},{"id":1514,"depth":81,"text":1514},{"id":1548,"depth":81,"text":1548},{"id":1575,"depth":81,"text":1575},"Zerosend の動画トリミングツールは、動画をサーバーに送らずブラウザ内で任意の区間だけ切り出します。不要な前後や長い会議録画から特定区間のみを共有したいときに。Zerosend 編集部が解説。",{},"\u002Fblog\u002Fvideo-trim-intro",{"title":5053,"description":5247},"video-trim-intro","blog\u002Fvideo-trim-intro",[4624,1869,270],"flNtXZjV9WjTykXy1_JxOHLdiVIRg7yWC_Xq2LTpcU8",{"id":5256,"title":5257,"author":6,"body":5258,"category":259,"coverImage":87,"description":5547,"draft":89,"extension":90,"locale":91,"meta":5548,"navigation":93,"noindex":89,"path":5549,"publishedAt":95,"seo":5550,"slug":5551,"stem":5552,"tags":5553,"updatedAt":95,"__hash__":5556},"blog\u002Fblog\u002Fbrowser-only-limits.md","ブラウザ内でファイル処理は「どこまで」できるか — 2026 年の現在地",{"type":8,"value":5259,"toc":5516},[5260,5263,5267,5271,5282,5285,5288,5291,5295,5306,5310,5317,5321,5330,5334,5352,5355,5359,5362,5366,5372,5376,5379,5383,5387,5394,5398,5405,5409,5412,5416,5420,5430,5434,5441,5445,5456,5464,5467,5471,5485,5488,5490,5497,5505],[15,5261,5262],{},"「ファイルをサーバーに送らずに処理する」は、2026 年のブラウザでかなりの範囲が実現可能です。ただし万能ではありません。Zerosend が採用している技術と、その限界を正直に整理します。",[11,5264,5266],{"id":5265},"なぜブラウザだけで処理する選択を採るのか","なぜ「ブラウザだけで処理する」選択を採るのか",[178,5268,5270],{"id":5269},"送らないので漏れないという直球の設計","送らないので漏れない、という直球の設計",[15,5272,5273,5274,5277,5278,5281],{},"サーバー送信を伴わない構造そのものが、",[31,5275,5276],{},"個人情報漏洩・誤操作・第三者共有"," のリスクを原理的にゼロにします。「漏れない仕組み」を語るより、",[31,5279,5280],{},"漏れる場所をなくす","ほうが検証しやすい設計です。",[178,5283,5284],{"id":5284},"設定や権限に依存しない単純さ",[15,5286,5287],{},"サーバー側で暗号化キーを守る \u002F ログを消す \u002F バックアップから除外する、という細かい運用は継続的な手間がかかります。ブラウザ内で完結するなら、そもそもその運用自体が発生しません。",[11,5289,5290],{"id":5290},"使っている技術スタック",[178,5292,5294],{"id":5293},"canvas-api-画像の基礎処理","Canvas API — 画像の基礎処理",[15,5296,5297,5298,5301,5302,5305],{},"2D 描画と画像ピクセル操作の標準 API。Zerosend の画像圧縮・リサイズ・形式変換はすべて Canvas 経由です。",[289,5299,5300],{},"drawImage()"," で任意の描画、",[289,5303,5304],{},"toBlob()"," で指定フォーマットに書き出せます。",[178,5307,5309],{"id":5308},"web-worker-メインスレッドを止めない","Web Worker — メインスレッドを止めない",[15,5311,5312,5313,5316],{},"重い処理をメインスレッドで回すと UI がフリーズします。Web Worker で別スレッドに逃がすことでスムーズな UX を維持します。",[289,5314,5315],{},"browser-image-compression"," のように Worker を内包しているライブラリは、そのまま使うだけでメインスレッドを解放してくれます。",[178,5318,5320],{"id":5319},"webassembly-ffmpeg-pdf-系ライブラリの移植","WebAssembly — ffmpeg \u002F pdf 系ライブラリの移植",[15,5322,5323,5324,5326,5327,5329],{},"C \u002F C++ で書かれたネイティブライブラリを WASM 化することで、ブラウザで直接実行できます。Zerosend では ",[31,5325,1725],{}," (動画・音声) と ",[31,5328,3198],{}," (PDF レンダリング) が WASM ベースです。",[178,5331,5333],{"id":5332},"file-system-access-api-blob-入出力","File System Access API \u002F Blob — 入出力",[15,5335,5336,5337,62,5340,5343,5344,5347,5348,5351],{},"モダンブラウザは ",[289,5338,5339],{},"showOpenFilePicker()",[289,5341,5342],{},"showSaveFilePicker()"," で OS のファイル選択ダイアログを呼べます。非対応の環境でも ",[289,5345,5346],{},"\u003Cinput type=\"file\">"," + ",[289,5349,5350],{},"Blob + URL.createObjectURL"," でダウンロードできるため、互換性の最低ラインは広いです。",[11,5353,5354],{"id":5354},"できること",[178,5356,5358],{"id":5357},"数-mb-数十-mb-のファイル処理","数 MB 〜数十 MB のファイル処理",[15,5360,5361],{},"現代のブラウザは 100MB 級のファイルでも (メモリ次第で) 安定して扱えます。JPG\u002FPNG 画像の圧縮・リサイズ・一括 ZIP 生成は問題なく動作します。",[178,5363,5365],{"id":5364},"バッチ処理-zip-生成を含む","バッチ処理 (ZIP 生成を含む)",[15,5367,5368,5371],{},[289,5369,5370],{},"jszip"," を使えば複数ファイルの圧縮まとめもブラウザ内で完結します。100 ファイル程度の一括処理は実用範囲です。",[178,5373,5375],{"id":5374},"逆圧縮形式変換","逆圧縮・形式変換",[15,5377,5378],{},"JPG → WebP、HEIC → JPG、PDF → PNG、MP4 → GIF などの変換は、すべてブラウザ内で実行できます。",[11,5380,5382],{"id":5381},"苦手なことできないこと","苦手なこと・できないこと",[178,5384,5386],{"id":5385},"数-gb-級の動画処理はメモリが持たない","数 GB 級の動画処理はメモリが持たない",[15,5388,5389,5390,5393],{},"ブラウザのプロセスメモリ上限はだいたい 2〜4 GB 程度。それ以上の動画をまるごと処理するのは困難です。",[31,5391,5392],{},"1 GB を超える動画はデスクトップツール"," (ffmpeg CLI 等) のほうが安定します。",[178,5395,5397],{"id":5396},"機械学習推論は遅い-onnx-runtime-web-は軽量モデル限定","機械学習推論は遅い (ONNX Runtime Web は軽量モデル限定)",[15,5399,5400,5401,5404],{},"ONNX Runtime Web や TensorFlow.js で推論は可能ですが、",[31,5402,5403],{},"数 GB 級のモデル","はブラウザで回すとかなり遅く、UX が実用的ではありません。軽量モデル (数百 MB) に限定するか、サーバー推論と割り切るのが現実的です。",[178,5406,5408],{"id":5407},"os-ネイティブ機能への直接アクセス","OS ネイティブ機能への直接アクセス",[15,5410,5411],{},"ブラウザはサンドボックス内で動くので、OS のファイルシステム全体を書き換えるような処理・プロセス起動はできません。セキュリティの観点からも妥当な制約です。",[11,5413,5415],{"id":5414},"zerosend-での実装のコツ-開発者向け","Zerosend での実装のコツ (開発者向け)",[178,5417,5419],{"id":5418},"ドメイン層を-ui-から分離する","ドメイン層を UI から分離する",[15,5421,5422,5425,5426,5429],{},[289,5423,5424],{},"domain\u002Fprocessors\u002F"," 配下に",[31,5427,5428],{},"純粋関数","を置き、Vue \u002F DOM API に依存させない設計にしています。テストが書きやすく、将来的に CLI 化・API 化もしやすくなります。",[178,5431,5433],{"id":5432},"web-worker-に重い処理を分離する判断基準","Web Worker に重い処理を分離する判断基準",[15,5435,5436,5437,5440],{},"目安は ",[31,5438,5439],{},"100 ms を超える処理はすべて Worker","。メインスレッドがそれ以上ブロックすると、ユーザー操作への応答 (クリック・スクロール) が目に見えて遅延します。",[178,5442,5444],{"id":5443},"csp-を破らずに-wasm-を読み込む","CSP を破らずに WASM を読み込む",[15,5446,5447,5448,5451,5452,5455],{},"CSP (Content Security Policy) に ",[289,5449,5450],{},"wasm-unsafe-eval"," を追加する必要があります。Zerosend では meta と ",[289,5453,5454],{},"_headers"," の両方に設定し、本番でも正しく動作することを確認しています。",[606,5457,5462],{"className":5458,"code":5460,"language":5461},[5459],"language-text","Content-Security-Policy: script-src 'self' 'wasm-unsafe-eval'\n","text",[289,5463,5460],{"__ignoreMap":80},[11,5465,5466],{"id":5466},"今後の展望",[178,5468,5470],{"id":5469},"webgpu-opfs-の成熟","WebGPU \u002F OPFS の成熟",[25,5472,5473,5479],{},[28,5474,5475,5478],{},[31,5476,5477],{},"WebGPU",": GPU を直接使える API。機械学習推論や 3D レンダリングで大きく速度改善が見込まれます",[28,5480,5481,5484],{},[31,5482,5483],{},"OPFS (Origin Private File System)",": Origin ごとにブラウザが管理する高速ファイル領域。大容量ファイル処理時の中間ストレージに使えます",[15,5486,5487],{},"これらが広く使える前提になれば、現状「苦手」としている領域の多くがブラウザだけで片付くようになります。",[11,5489,70],{"id":70},[15,5491,5492,5493,5496],{},"ブラウザ内ファイル処理は ",[31,5494,5495],{},"Canvas \u002F Web Worker \u002F WebAssembly \u002F File System Access API"," の組み合わせで、日常的な軽作業のほぼ全域をカバーできます。GB 級や重い ML 推論は依然として苦手ですが、Zerosend が対象とする画像・PDF・音声・短い動画の範囲では実用レベルです。",[15,5498,5499,5500,5504],{},"この設計の結果、",[54,5501,5503],{"href":5502},"\u002F#tools","Zerosend のツール群"," はサーバーに何も送らずに動作し、DevTools で自ら検証できる透明性を持っています。",[15,5506,5507,5508,62,5512],{},"関連: ",[54,5509,5511],{"href":5510},"\u002Fblog\u002Fwhy-browser-only","なぜ Zerosend はブラウザ内処理にこだわるのか",[54,5513,5515],{"href":5514},"\u002Fguide\u002Fprivacy-online-tools","ピラー記事",{"title":80,"searchDepth":81,"depth":81,"links":5517},[5518,5522,5528,5533,5538,5543,5546],{"id":5265,"depth":81,"text":5266,"children":5519},[5520,5521],{"id":5269,"depth":257,"text":5270},{"id":5284,"depth":257,"text":5284},{"id":5290,"depth":81,"text":5290,"children":5523},[5524,5525,5526,5527],{"id":5293,"depth":257,"text":5294},{"id":5308,"depth":257,"text":5309},{"id":5319,"depth":257,"text":5320},{"id":5332,"depth":257,"text":5333},{"id":5354,"depth":81,"text":5354,"children":5529},[5530,5531,5532],{"id":5357,"depth":257,"text":5358},{"id":5364,"depth":257,"text":5365},{"id":5374,"depth":257,"text":5375},{"id":5381,"depth":81,"text":5382,"children":5534},[5535,5536,5537],{"id":5385,"depth":257,"text":5386},{"id":5396,"depth":257,"text":5397},{"id":5407,"depth":257,"text":5408},{"id":5414,"depth":81,"text":5415,"children":5539},[5540,5541,5542],{"id":5418,"depth":257,"text":5419},{"id":5432,"depth":257,"text":5433},{"id":5443,"depth":257,"text":5444},{"id":5466,"depth":81,"text":5466,"children":5544},[5545],{"id":5469,"depth":257,"text":5470},{"id":70,"depth":81,"text":70},"ブラウザだけで画像・PDF・動画を扱うには、どんな技術を使いどこまでできるのか。Canvas \u002F Web Worker \u002F WebAssembly \u002F File System Access API の採用ポイントと、率直な限界を整理します。",{},"\u002Fblog\u002Fbrowser-only-limits",{"title":5257,"description":5547},"browser-only-limits","blog\u002Fbrowser-only-limits",[5554,1086,5555],"WebAssembly","技術解説","DVMRpha441VjgXVwUg-Ky9ljmdcZEo-shW86ze3x7Uo",{"id":5558,"title":5559,"author":6,"body":5560,"category":259,"coverImage":87,"description":6367,"draft":89,"extension":90,"locale":91,"meta":6368,"navigation":93,"noindex":89,"path":6369,"publishedAt":95,"seo":6370,"slug":6371,"stem":6372,"tags":6373,"updatedAt":263,"__hash__":6376},"blog\u002Fblog\u002Ffavicon-complete-guide-2026.md","ファビコン 完全ガイド 2026 — サイズ・形式・HTML 設置まで全部入り",{"type":8,"value":5561,"toc":6325},[5562,5569,5573,5580,5601,5605,5608,5612,5616,5639,5646,5653,5656,5670,5674,5677,5684,5760,5764,5771,5774,5783,5787,5790,5797,5957,5961,5967,5971,5976,6118,6125,6133,6137,6141,6144,6148,6151,6154,6164,6168,6174,6178,6181,6213,6216,6219,6223,6226,6230,6239,6245,6251,6254,6257,6296,6300,6307,6309,6316,6322],[15,5563,5564,5565,5568],{},"ファビコン (favicon) は地味なアセットですが、種類・サイズ・形式の選択肢が多く、毎回「結局どれが必要なんだっけ?」となる人も多いはずです。本記事では 2026 年時点で本当に必要なアイコン一式と、HTML への組み込み、Zerosend の ",[54,5566,5567],{"href":4130},"ファビコン生成ツール"," の活用法を整理します。",[11,5570,5572],{"id":5571},"ファビコンとは何か-1-分で復習","ファビコンとは何か (1 分で復習)",[178,5574,5576,5579],{"id":5575},"link-タグで参照される機能の総称",[289,5577,5578],{},"\u003Clink>"," タグで参照される機能の総称",[15,5581,5582,5583,5586,5587,5590,5591,62,5594,62,5597,5600],{},"ファビコンはブラウザのタブ表示に使われるアイコン、だけではなく",[31,5584,5585],{},"タブ \u002F ブックマーク \u002F PWA ホーム画面 \u002F 検索結果","など複数の文脈で使われる画像の総称です。",[289,5588,5589],{},"\u003Chead>"," 内の ",[289,5592,5593],{},"\u003Clink rel=\"icon\">",[289,5595,5596],{},"\u003Clink rel=\"apple-touch-icon\">",[289,5598,5599],{},"\u003Clink rel=\"manifest\">"," で参照されるアセット群です。",[178,5602,5604],{"id":5603},"表示場所によって最適なサイズ形式が違う","表示場所によって最適なサイズ・形式が違う",[15,5606,5607],{},"タブ用には 16×16 \u002F 32×32 の小さいアイコンが必要ですが、iPhone のホーム画面には 180×180 の PNG、Android の PWA には 192×192 と 512×512 の PNG が必要です。場所ごとに要件が違います。",[11,5609,5611],{"id":5610},"_2026-年時点で本当に必要なアイコン","2026 年時点で本当に必要なアイコン",[178,5613,5615],{"id":5614},"必須-3-つ","必須 3 つ",[25,5617,5618,5624,5630],{},[28,5619,5620,5623],{},[289,5621,5622],{},"favicon.ico"," — デスクトップブラウザのタブ \u002F ブックマーク (16\u002F32\u002F48px のマルチサイズ)",[28,5625,5626,5629],{},[289,5627,5628],{},"apple-touch-icon.png"," (180×180) — iOS のホーム画面",[28,5631,5632,62,5635,5638],{},[289,5633,5634],{},"icon-192.png",[289,5636,5637],{},"icon-512.png"," — Android \u002F PWA 対応",[178,5640,5642,5643],{"id":5641},"推奨-faviconsvg","推奨: ",[289,5644,5645],{},"favicon.svg",[15,5647,5648,5649,5652],{},"モダンブラウザ (Chrome \u002F Firefox \u002F Safari の最新版) は SVG ファビコンに対応済みです。ベクターなのでどのサイズでもシャープに表示されます。ダークモード切替にも対応できるので、2026 年は ",[31,5650,5651],{},"SVG を第一選択","にして ICO をフォールバックにする運用がおすすめです。",[178,5654,5655],{"id":5655},"不要になったもの",[25,5657,5658,5664],{},[28,5659,5660,5663],{},[289,5661,5662],{},"browserconfig.xml"," (Windows 8\u002F10 タイル用) — IE 系と一緒に役目を終えています",[28,5665,5666,5669],{},[289,5667,5668],{},"*.png"," の 70×70 \u002F 150×150 \u002F 310×310 (IE\u002FEdge Legacy 向け)",[11,5671,5673],{"id":5672},"svg-ファビコンのメリットと対応ブラウザ","SVG ファビコンのメリットと対応ブラウザ",[178,5675,5676],{"id":5676},"ダークモード自動切替",[15,5678,5679,5680,5683],{},"SVG 内に ",[289,5681,5682],{},"@media (prefers-color-scheme: dark)"," のスタイルを書くだけで、OS のダークモードに合わせて色を切り替えられます。Chrome \u002F Firefox の最新版は対応済みです。",[606,5685,5687],{"className":608,"code":5686,"language":610,"meta":80,"style":80},"\u003Csvg>\n  \u003Cstyle>\n    @media (prefers-color-scheme: dark) {\n      .logo { fill: #fff; }\n    }\n  \u003C\u002Fstyle>\n  \u003Crect class=\"logo\" \u002F>\n\u003C\u002Fsvg>\n",[289,5688,5689,5698,5706,5711,5716,5722,5732,5751],{"__ignoreMap":80},[614,5690,5691,5693,5696],{"class":616,"line":617},[614,5692,621],{"class":620},[614,5694,5695],{"class":624},"svg",[614,5697,628],{"class":620},[614,5699,5700,5702,5704],{"class":616,"line":81},[614,5701,633],{"class":620},[614,5703,717],{"class":624},[614,5705,628],{"class":620},[614,5707,5708],{"class":616,"line":257},[614,5709,5710],{"class":620},"    @media (prefers-color-scheme: dark) {\n",[614,5712,5713],{"class":616,"line":685},[614,5714,5715],{"class":620},"      .logo { fill: #fff; }\n",[614,5717,5719],{"class":616,"line":5718},5,[614,5720,5721],{"class":620},"    }\n",[614,5723,5725,5728,5730],{"class":616,"line":5724},6,[614,5726,5727],{"class":620},"  \u003C\u002F",[614,5729,717],{"class":624},[614,5731,628],{"class":620},[614,5733,5735,5737,5740,5743,5745,5748],{"class":616,"line":5734},7,[614,5736,633],{"class":620},[614,5738,5739],{"class":624},"rect",[614,5741,5742],{"class":639}," class",[614,5744,643],{"class":620},[614,5746,5747],{"class":646},"\"logo\"",[614,5749,5750],{"class":620}," \u002F>\n",[614,5752,5754,5756,5758],{"class":616,"line":5753},8,[614,5755,688],{"class":620},[614,5757,5695],{"class":624},[614,5759,628],{"class":620},[178,5761,5763],{"id":5762},"アニメーション-限定的","アニメーション (限定的)",[15,5765,5766,5767,5770],{},"SMIL \u002F CSS アニメーションは技術的には可能ですが、ブラウザが",[31,5768,5769],{},"アイドル時には動かさない","等の最適化を入れるケースが多く、過信は禁物です。原則は静止画として設計しましょう。",[178,5772,5773],{"id":5773},"非対応ブラウザへのフォールバック",[15,5775,5776,4953,5779,5782],{},[289,5777,5778],{},"\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\">",[289,5780,5781],{},"\u003Clink rel=\"alternate icon\" type=\"image\u002Fx-icon\">"," を並べておけば、対応ブラウザは SVG、非対応は ICO を使います。",[11,5784,5786],{"id":5785},"sitewebmanifest-と-pwa","site.webmanifest と PWA",[178,5788,5789],{"id":5789},"必須プロパティ",[15,5791,5792,5793,5796],{},"PWA 対応を見据えると ",[289,5794,5795],{},"site.webmanifest"," を用意します。最低限の中身はこうなります。",[606,5798,5802],{"className":5799,"code":5800,"language":5801,"meta":80,"style":80},"language-json shiki shiki-themes github-light github-dark","{\n  \"name\": \"My Site\",\n  \"short_name\": \"MySite\",\n  \"icons\": [\n    { \"src\": \"\u002Ficon-192.png\", \"sizes\": \"192x192\", \"type\": \"image\u002Fpng\" },\n    { \"src\": \"\u002Ficon-512.png\", \"sizes\": \"512x512\", \"type\": \"image\u002Fpng\" }\n  ],\n  \"theme_color\": \"#0a0a0a\",\n  \"background_color\": \"#ffffff\",\n  \"display\": \"standalone\"\n}\n","json",[289,5803,5804,5809,5823,5835,5843,5879,5910,5915,5927,5940,5951],{"__ignoreMap":80},[614,5805,5806],{"class":616,"line":617},[614,5807,5808],{"class":620},"{\n",[614,5810,5811,5815,5817,5820],{"class":616,"line":81},[614,5812,5814],{"class":5813},"sj4cs","  \"name\"",[614,5816,2428],{"class":620},[614,5818,5819],{"class":646},"\"My Site\"",[614,5821,5822],{"class":620},",\n",[614,5824,5825,5828,5830,5833],{"class":616,"line":257},[614,5826,5827],{"class":5813},"  \"short_name\"",[614,5829,2428],{"class":620},[614,5831,5832],{"class":646},"\"MySite\"",[614,5834,5822],{"class":620},[614,5836,5837,5840],{"class":616,"line":685},[614,5838,5839],{"class":5813},"  \"icons\"",[614,5841,5842],{"class":620},": [\n",[614,5844,5845,5848,5851,5853,5856,5858,5861,5863,5866,5868,5871,5873,5876],{"class":616,"line":5718},[614,5846,5847],{"class":620},"    { ",[614,5849,5850],{"class":5813},"\"src\"",[614,5852,2428],{"class":620},[614,5854,5855],{"class":646},"\"\u002Ficon-192.png\"",[614,5857,1529],{"class":620},[614,5859,5860],{"class":5813},"\"sizes\"",[614,5862,2428],{"class":620},[614,5864,5865],{"class":646},"\"192x192\"",[614,5867,1529],{"class":620},[614,5869,5870],{"class":5813},"\"type\"",[614,5872,2428],{"class":620},[614,5874,5875],{"class":646},"\"image\u002Fpng\"",[614,5877,5878],{"class":620}," },\n",[614,5880,5881,5883,5885,5887,5890,5892,5894,5896,5899,5901,5903,5905,5907],{"class":616,"line":5724},[614,5882,5847],{"class":620},[614,5884,5850],{"class":5813},[614,5886,2428],{"class":620},[614,5888,5889],{"class":646},"\"\u002Ficon-512.png\"",[614,5891,1529],{"class":620},[614,5893,5860],{"class":5813},[614,5895,2428],{"class":620},[614,5897,5898],{"class":646},"\"512x512\"",[614,5900,1529],{"class":620},[614,5902,5870],{"class":5813},[614,5904,2428],{"class":620},[614,5906,5875],{"class":646},[614,5908,5909],{"class":620}," }\n",[614,5911,5912],{"class":616,"line":5734},[614,5913,5914],{"class":620},"  ],\n",[614,5916,5917,5920,5922,5925],{"class":616,"line":5753},[614,5918,5919],{"class":5813},"  \"theme_color\"",[614,5921,2428],{"class":620},[614,5923,5924],{"class":646},"\"#0a0a0a\"",[614,5926,5822],{"class":620},[614,5928,5930,5933,5935,5938],{"class":616,"line":5929},9,[614,5931,5932],{"class":5813},"  \"background_color\"",[614,5934,2428],{"class":620},[614,5936,5937],{"class":646},"\"#ffffff\"",[614,5939,5822],{"class":620},[614,5941,5943,5946,5948],{"class":616,"line":5942},10,[614,5944,5945],{"class":5813},"  \"display\"",[614,5947,2428],{"class":620},[614,5949,5950],{"class":646},"\"standalone\"\n",[614,5952,5954],{"class":616,"line":5953},11,[614,5955,5956],{"class":620},"}\n",[178,5958,5960],{"id":5959},"ios-の癖","iOS の癖",[15,5962,5963,5964,5966],{},"iOS は ",[289,5965,5628],{}," を優先するため、webmanifest 側に icon を書いても iOS ホーム画面には適用されません。Android と iOS で別々のファイルを用意する前提で運用しましょう。",[11,5968,5970],{"id":5969},"html-に設置する正しい書き方","HTML に設置する正しい書き方",[15,5972,5973,5975],{},[289,5974,5589],{}," に並べる順序のお手本:",[606,5977,5979],{"className":608,"code":5978,"language":610,"meta":80,"style":80},"\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\" href=\"\u002Ffavicon.svg\">\n\u003Clink rel=\"alternate icon\" type=\"image\u002Fx-icon\" href=\"\u002Ffavicon.ico\">\n\u003Clink rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"\u002Fapple-touch-icon.png\">\n\u003Clink rel=\"manifest\" href=\"\u002Fsite.webmanifest\">\n\u003Cmeta name=\"theme-color\" content=\"#0a0a0a\">\n",[289,5980,5981,6013,6042,6072,6094],{"__ignoreMap":80},[614,5982,5983,5985,5988,5991,5993,5996,5998,6000,6003,6006,6008,6011],{"class":616,"line":617},[614,5984,621],{"class":620},[614,5986,5987],{"class":624},"link",[614,5989,5990],{"class":639}," rel",[614,5992,643],{"class":620},[614,5994,5995],{"class":646},"\"icon\"",[614,5997,650],{"class":639},[614,5999,643],{"class":620},[614,6001,6002],{"class":646},"\"image\u002Fsvg+xml\"",[614,6004,6005],{"class":639}," href",[614,6007,643],{"class":620},[614,6009,6010],{"class":646},"\"\u002Ffavicon.svg\"",[614,6012,628],{"class":620},[614,6014,6015,6017,6019,6021,6023,6026,6028,6030,6033,6035,6037,6040],{"class":616,"line":81},[614,6016,621],{"class":620},[614,6018,5987],{"class":624},[614,6020,5990],{"class":639},[614,6022,643],{"class":620},[614,6024,6025],{"class":646},"\"alternate icon\"",[614,6027,650],{"class":639},[614,6029,643],{"class":620},[614,6031,6032],{"class":646},"\"image\u002Fx-icon\"",[614,6034,6005],{"class":639},[614,6036,643],{"class":620},[614,6038,6039],{"class":646},"\"\u002Ffavicon.ico\"",[614,6041,628],{"class":620},[614,6043,6044,6046,6048,6050,6052,6055,6058,6060,6063,6065,6067,6070],{"class":616,"line":257},[614,6045,621],{"class":620},[614,6047,5987],{"class":624},[614,6049,5990],{"class":639},[614,6051,643],{"class":620},[614,6053,6054],{"class":646},"\"apple-touch-icon\"",[614,6056,6057],{"class":639}," sizes",[614,6059,643],{"class":620},[614,6061,6062],{"class":646},"\"180x180\"",[614,6064,6005],{"class":639},[614,6066,643],{"class":620},[614,6068,6069],{"class":646},"\"\u002Fapple-touch-icon.png\"",[614,6071,628],{"class":620},[614,6073,6074,6076,6078,6080,6082,6085,6087,6089,6092],{"class":616,"line":685},[614,6075,621],{"class":620},[614,6077,5987],{"class":624},[614,6079,5990],{"class":639},[614,6081,643],{"class":620},[614,6083,6084],{"class":646},"\"manifest\"",[614,6086,6005],{"class":639},[614,6088,643],{"class":620},[614,6090,6091],{"class":646},"\"\u002Fsite.webmanifest\"",[614,6093,628],{"class":620},[614,6095,6096,6098,6101,6104,6106,6109,6112,6114,6116],{"class":616,"line":5718},[614,6097,621],{"class":620},[614,6099,6100],{"class":624},"meta",[614,6102,6103],{"class":639}," name",[614,6105,643],{"class":620},[614,6107,6108],{"class":646},"\"theme-color\"",[614,6110,6111],{"class":639}," content",[614,6113,643],{"class":620},[614,6115,5924],{"class":646},[614,6117,628],{"class":620},[178,6119,6121,6124],{"id":6120},"sizesany-の罠",[289,6122,6123],{},"sizes=\"any\""," の罠",[15,6126,6127,6129,6130,169],{},[289,6128,6123],{}," を SVG に付けると、ブラウザが SVG を ICO より優先するようになります。基本的に意図通りですが、古い iOS で誤解される例があったため、2026 年時点では",[31,6131,6132],{},"書かないのが無難",[11,6134,6136],{"id":6135},"ファビコン生成アプローチの-3-類型と向き不向き","ファビコン生成アプローチの 3 類型と向き不向き",[178,6138,6140],{"id":6139},"アップロード型のオンライン-saas","アップロード型のオンライン SaaS",[15,6142,6143],{},"高機能で一発生成。ただしロゴ画像を一度サーバーに送ります。公開済みのロゴなら気にならないケースが多いです。",[178,6145,6147],{"id":6146},"デスクトップ-ローカルアプリ","デスクトップ \u002F ローカルアプリ",[15,6149,6150],{},"ImageMagick \u002F Sketch \u002F Figma 等。CLI や GUI で手元だけで生成できますが、セットアップが必要です。",[178,6152,6153],{"id":6153},"ブラウザ内完結型",[15,6155,6156,6157,6159,6160,6163],{},"Zerosend の ",[54,6158,5567],{"href":4130}," がこの型。",[31,6161,6162],{},"インストール不要 + 手元完結","で、NDA 下の未公開ロゴでも気兼ねなく使えます。",[178,6165,6167],{"id":6166},"nda-下未公開ブランド社内案件での選び方","NDA 下・未公開ブランド・社内案件での選び方",[15,6169,6170,6171,6173],{},"受託案件や新規ブランドの立ち上げでは、ロゴ画像の取り扱いに神経を使います。この場合は",[31,6172,6153],{},"を選ぶか、デスクトップアプリで手元処理するのが安心です。",[11,6175,6177],{"id":6176},"zerosend-でブラウザ内完結で作る手順","Zerosend でブラウザ内完結で作る手順",[15,6179,6180],{},"1 枚の PNG または SVG から、必要なファイル一式 (ICO \u002F PNG 複数サイズ \u002F apple-touch-icon \u002F site.webmanifest \u002F HTML スニペット) を ZIP で一気に生成できます。",[182,6182,6183,6188,6191,6194,6197,6200],{},[28,6184,6185,6187],{},[54,6186,4130],{"href":4130}," にアクセス",[28,6189,6190],{},"ロゴ画像をドラッグ&ドロップ (推奨: 512×512 以上の正方形)",[28,6192,6193],{},"アプリ名 \u002F theme_color \u002F background_color を入力",[28,6195,6196],{},"「ファビコン一式を生成する」",[28,6198,6199],{},"生成されたプレビューを確認し、ZIP をダウンロード",[28,6201,6202,6203,6206,6207,6209,6210,6212],{},"ZIP に同梱の ",[289,6204,6205],{},"snippet.html"," の内容を ",[289,6208,5589],{}," に貼り付け、各ファイルをサイトのルート (",[289,6211,76],{},") に配置",[15,6214,6215],{},"ブラウザ内完結なので、ロゴ画像が外部に送られることはありません。",[11,6217,6218],{"id":6218},"よくある失敗",[178,6220,6222],{"id":6221},"retina-で滲む","Retina で滲む",[15,6224,6225],{},"タブで綺麗に見せるには 32×32 や 48×48 も用意する必要があります。Zerosend は 16\u002F32\u002F48 のマルチサイズ ICO を自動で作ります。",[178,6227,6229],{"id":6228},"ios-ホーム画面で余白が出る","iOS ホーム画面で余白が出る",[15,6231,6232,6234,6235,6238],{},[289,6233,5628],{}," は",[31,6236,6237],{},"背景透過に対応していません","。透過 PNG を渡すと iOS が黒背景で埋めてしまうので、背景色を明示的に塗った PNG を用意しましょう。",[178,6240,6242,6244],{"id":6241},"faviconico-だけしか指定していない",[289,6243,5622],{}," だけしか指定していない",[15,6246,6247,6248,6250],{},"モダンブラウザで SVG を使うメリットを取りこぼします。少なくとも ",[289,6249,5645],{}," は併用するのが 2026 年の標準です。",[178,6252,6253],{"id":6253},"ブラウザキャッシュが残って古いアイコンが表示される",[15,6255,6256],{},"ブラウザはファビコンを積極的にキャッシュします。差し替え後に古いアイコンのままになる時は次を試します。",[25,6258,6259,6272,6278,6289],{},[28,6260,6261,6264,6265,62,6268,6271],{},[31,6262,6263],{},"強制リロード"," (",[289,6266,6267],{},"Ctrl+Shift+R",[289,6269,6270],{},"Cmd+Shift+R",") で再取得",[28,6273,6274,6277],{},[31,6275,6276],{},"プライベート \u002F シークレットウィンドウ"," で確認 (キャッシュを噛まない)",[28,6279,6280,6281,6284,6285,6288],{},"本番では ",[289,6282,6283],{},"\u003Clink rel=\"icon\" href=\"\u002Ffavicon.ico?v=2\">"," のように",[31,6286,6287],{},"バージョンクエリ","を付けて即時反映を促す",[28,6290,6291,6292,6295],{},"Chrome は ",[289,6293,6294],{},"chrome:\u002F\u002Ffavicon\u002Fhttps:\u002F\u002Fyour-site.com\u002F"," でブラウザが認識しているファビコンを直接確認できる",[178,6297,6299],{"id":6298},"google-検索結果にファビコンが出ない","Google 検索結果にファビコンが出ない",[15,6301,6302,6303,6306],{},"Google モバイル SERP に表示されるには ",[31,6304,6305],{},"48×48 以上のアイコンがクロール可能","であること、かつ「サイト全体を代表するアイコン」というガイドラインに沿っていることが求められます。Zerosend のファビコン生成ツールは 16\u002F32\u002F48 のマルチサイズ ICO を自動で書き出すため、この要件は満たせます。サブドメインごとに別のファビコンを設定することも可能です。",[11,6308,70],{"id":70},[15,6310,6311,6312,6315],{},"2026 年のファビコン運用は「SVG を第一選択 + ICO \u002F apple-touch-icon \u002F PWA アイコン + webmanifest」の組み合わせで完成します。1 枚の画像から一式を生成するなら、ブラウザ内で完結する ",[54,6313,6314],{"href":4130},"Zerosend のファビコン生成ツール"," が手早くておすすめです。",[15,6317,5507,6318],{},[54,6319,6321],{"href":6320},"\u002Fblog\u002Ffavicon-generator-intro","ファビコン生成ツールの舞台裏",[717,6323,6324],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":80,"searchDepth":81,"depth":81,"links":6326},[6327,6332,6338,6343,6347,6351,6357,6358,6366],{"id":5571,"depth":81,"text":5572,"children":6328},[6329,6331],{"id":5575,"depth":257,"text":6330},"\u003Clink> タグで参照される機能の総称",{"id":5603,"depth":257,"text":5604},{"id":5610,"depth":81,"text":5611,"children":6333},[6334,6335,6337],{"id":5614,"depth":257,"text":5615},{"id":5641,"depth":257,"text":6336},"推奨: favicon.svg",{"id":5655,"depth":257,"text":5655},{"id":5672,"depth":81,"text":5673,"children":6339},[6340,6341,6342],{"id":5676,"depth":257,"text":5676},{"id":5762,"depth":257,"text":5763},{"id":5773,"depth":257,"text":5773},{"id":5785,"depth":81,"text":5786,"children":6344},[6345,6346],{"id":5789,"depth":257,"text":5789},{"id":5959,"depth":257,"text":5960},{"id":5969,"depth":81,"text":5970,"children":6348},[6349],{"id":6120,"depth":257,"text":6350},"sizes=\"any\" の罠",{"id":6135,"depth":81,"text":6136,"children":6352},[6353,6354,6355,6356],{"id":6139,"depth":257,"text":6140},{"id":6146,"depth":257,"text":6147},{"id":6153,"depth":257,"text":6153},{"id":6166,"depth":257,"text":6167},{"id":6176,"depth":81,"text":6177},{"id":6218,"depth":81,"text":6218,"children":6359},[6360,6361,6362,6364,6365],{"id":6221,"depth":257,"text":6222},{"id":6228,"depth":257,"text":6229},{"id":6241,"depth":257,"text":6363},"favicon.ico だけしか指定していない",{"id":6253,"depth":257,"text":6253},{"id":6298,"depth":257,"text":6299},{"id":70,"depth":81,"text":70},"ファビコンのサイズは結局どれが必要? ICO と SVG の使い分けは? 2026 年時点で本当に必要なアイコンセットと、1 枚の画像からブラウザ内で一式生成できる方法を解説します。",{},"\u002Fblog\u002Ffavicon-complete-guide-2026",{"title":5559,"description":6367},"favicon-complete-guide-2026","blog\u002Ffavicon-complete-guide-2026",[6374,271,6375],"ファビコン","SVG","rGRV7aRcqetLpG7f7z1cHwfvIdswbm-q-bojGTxqaWs",{"id":6378,"title":6379,"author":6,"body":6380,"category":87,"coverImage":87,"description":6585,"draft":89,"extension":90,"locale":91,"meta":6586,"navigation":93,"noindex":89,"path":6320,"publishedAt":95,"seo":6587,"slug":6588,"stem":6589,"tags":6590,"updatedAt":95,"__hash__":6591},"blog\u002Fblog\u002Ffavicon-generator-intro.md","ブラウザだけで作るファビコン一式 — \u002Ftools\u002Ffavicon-generator の舞台裏",{"type":8,"value":6381,"toc":6574},[6382,6385,6388,6391,6394,6399,6402,6405,6447,6450,6485,6489,6496,6499,6519,6526,6528,6540,6546,6549,6552,6554,6566,6568],[11,6383,6384],{"id":6384},"ファビコンが必要な理由",[15,6386,6387],{},"ファビコンは、ブラウザのタブやブックマーク一覧でサイトを識別する小さなアイコンです。スマートフォンのホーム画面に「追加」したときに表示されるアイコン (apple-touch-icon \u002F PWA アイコン) も、ファビコン一式の一部です。「ファビコンがない」「サイズが揃っていない」といった状態は、ユーザーの信頼感を下げ、PWA 対応の妨げにもなります。",[11,6389,6390],{"id":6390},"背景",[15,6392,6393],{},"サイトのファビコンを更新する作業は、新規サイトでも既存サイトのリブランディングでも発生します。ロゴ画像 1 枚から必要なアイコンセットを揃えるのは地味に手間のかかる工程です。",[15,6395,6396,6398],{},[54,6397,6314],{"href":4130}," は、この工程をブラウザ内で完結させます。ロゴ画像を外部に送らずに一式を作成できるので、NDA 下の受託案件や未公開のブランディング作業でも安心して使えます。",[11,6400,6401],{"id":6401},"何が出力されるか",[15,6403,6404],{},"1 枚の画像 (PNG \u002F JPG \u002F WebP \u002F SVG) から次の 9 ファイルを生成し、ZIP で配布します。",[25,6406,6407,6412,6423,6428,6435,6439],{},[28,6408,6409,6411],{},[289,6410,5622],{}," — 16 \u002F 32 \u002F 48px のマルチサイズ ICO",[28,6413,6414,62,6417,62,6420],{},[289,6415,6416],{},"favicon-16.png",[289,6418,6419],{},"favicon-32.png",[289,6421,6422],{},"favicon-48.png",[28,6424,6425,6427],{},[289,6426,5628],{}," (180×180)",[28,6429,6430,62,6432,6434],{},[289,6431,5634],{},[289,6433,5637],{}," (PWA)",[28,6436,6437],{},[289,6438,5795],{},[28,6440,6441,6443,6444,6446],{},[289,6442,6205],{}," — ",[289,6445,5589],{}," に貼り付ける link タグ",[11,6448,6449],{"id":6449},"使い方ステップ",[182,6451,6452,6458,6468,6474],{},[28,6453,6454,6457],{},[31,6455,6456],{},"画像を準備する"," — 正方形の PNG \u002F JPG \u002F WebP \u002F SVG を用意。最低でも 512×512px 推奨",[28,6459,6460,6443,6463,6467],{},[31,6461,6462],{},"ドロップする",[54,6464,6465],{"href":4130},[289,6466,4130],{}," を開いてドラッグ&ドロップ",[28,6469,6470,6473],{},[31,6471,6472],{},"ZIP をダウンロードする"," — ボタンを押すと 9 ファイルが入った ZIP が生成される",[28,6475,6476,6443,6479,6481,6482,6484],{},[31,6477,6478],{},"HTML に貼り付ける",[289,6480,6205],{}," の内容をサイトの ",[289,6483,5589],{}," にコピーして完了",[11,6486,6488],{"id":6487},"ico-を自前で書き出す","ICO を自前で書き出す",[15,6490,6491,6492,6495],{},"PNG は Canvas API で簡単に書き出せますが、ICO は少し工夫が必要です。とはいえ、Windows Vista 以降の ICO は ",[31,6493,6494],{},"PNG バイト列をそのまま埋め込める"," ため、意外と単純です。",[15,6497,6498],{},"構造:",[25,6500,6501,6507,6513],{},[28,6502,6503,6506],{},[31,6504,6505],{},"ICONDIR"," (6 バイト): reserved \u002F type \u002F image count",[28,6508,6509,6512],{},[31,6510,6511],{},"ICONDIRENTRY"," (16 バイト × 画像数): 幅 \u002F 高さ \u002F bpp \u002F サイズ \u002F オフセット",[28,6514,6515,6518],{},[31,6516,6517],{},"画像データ",": PNG のバイト列を順に連結",[15,6520,6521,6522,6525],{},"依存ゼロで 30 行程度に収まります。",[289,6523,6524],{},"domain\u002Fprocessors\u002FfaviconGenerator.ts"," で実装を公開しています。",[11,6527,1548],{"id":1548},[15,6529,6530,6533,6534,6536,6537,6539],{},[31,6531,6532],{},"Q. どのサイズが必要ですか？","\nA. 最低限は ",[289,6535,5622],{}," (16\u002F32px) と ",[289,6538,5628],{}," (180px) です。PWA 対応するなら 192px と 512px も必要です。本ツールはこれらをすべて一括生成します。",[15,6541,6542,6545],{},[31,6543,6544],{},"Q. SVG のロゴから生成できますか？","\nA. はい。SVG を入力するとブラウザ側で各サイズにラスタライズしてから ICO \u002F PNG を生成します。",[11,6547,6548],{"id":6548},"検証の楽しさ",[15,6550,6551],{},"作ったあとは DevTools の Network タブで確認できます。画像選択 → 生成 → ダウンロードの全てで、あなたのロゴが外に出ないことを自分で検証できます。",[11,6553,1575],{"id":1575},[25,6555,6556,6561],{},[28,6557,6558,6560],{},[54,6559,2029],{"href":2028}," — 入力画像が大きすぎる場合、事前に軽量化",[28,6562,6563,6565],{},[54,6564,2036],{"href":2035}," — 正方形にトリミングしてからファビコン生成すると精度が上がる",[11,6567,70],{"id":70},[15,6569,6570,6571,2356],{},"1 枚の画像から ICO \u002F PNG \u002F apple-touch-icon \u002F manifest \u002F HTML スニペットを、あなたの端末だけで生成できます。",[54,6572,6573],{"href":4130},"試してみてください",{"title":80,"searchDepth":81,"depth":81,"links":6575},[6576,6577,6578,6579,6580,6581,6582,6583,6584],{"id":6384,"depth":81,"text":6384},{"id":6390,"depth":81,"text":6390},{"id":6401,"depth":81,"text":6401},{"id":6449,"depth":81,"text":6449},{"id":6487,"depth":81,"text":6488},{"id":1548,"depth":81,"text":1548},{"id":6548,"depth":81,"text":6548},{"id":1575,"depth":81,"text":1575},{"id":70,"depth":81,"text":70},"1 枚の画像から ICO \u002F PNG \u002F apple-touch-icon \u002F site.webmanifest を生成するファビコン生成ツールを公開しました。ICO フォーマットを自前で書き出す実装のポイントを紹介します。",{},{"title":6379,"description":6585},"favicon-generator-intro","blog\u002Ffavicon-generator-intro",[270,5555],"3t3z-Zm-s-OgpewxhvXXeVAxzDosMQLq8XTZRneQGs4",{"id":6593,"title":6594,"author":6,"body":6595,"category":259,"coverImage":87,"description":6852,"draft":89,"extension":90,"locale":91,"meta":6853,"navigation":93,"noindex":89,"path":6854,"publishedAt":95,"seo":6855,"slug":6856,"stem":6857,"tags":6858,"updatedAt":95,"__hash__":6860},"blog\u002Fblog\u002Fheic-to-jpg-windows.md","Windows で HEIC を JPG に変換する 3 つの方法 — 無料・オンライン・アップロード不要",{"type":8,"value":6596,"toc":6828},[6597,6604,6608,6612,6619,6623,6626,6630,6633,6636,6650,6653,6665,6669,6674,6677,6693,6697,6704,6707,6711,6714,6718,6726,6733,6737,6789,6791,6794,6797,6801,6808,6812,6815,6817],[15,6598,6599,6600,6603],{},"iPhone から送られてきた写真 (",[289,6601,6602],{},".HEIC"," 形式) を Windows で開こうとして「このファイルを開けません」のダイアログで止まった経験がある人向け。3 つの解決方法を比較します。",[11,6605,6607],{"id":6606},"heic-とは何か-30-秒解説","HEIC とは何か (30 秒解説)",[178,6609,6611],{"id":6610},"apple-が推進する高圧縮画像フォーマット","Apple が推進する高圧縮画像フォーマット",[15,6613,6614,6615,6618],{},"HEIC (High Efficiency Image Container) は、iPhone 7 以降のデフォルト撮影形式です。JPG と比べて",[31,6616,6617],{},"同じ画質で約半分のファイルサイズ","を実現します。写真のストレージ節約目的で採用されています。",[178,6620,6622],{"id":6621},"windows-が標準対応していない理由","Windows が標準対応していない理由",[15,6624,6625],{},"HEIC の特許関係で、Windows には標準でコーデックが入っていません。対応するには拡張機能の追加 or 変換が必要です。",[11,6627,6629],{"id":6628},"方法-1-microsoft-store-の-heifhevc-拡張機能","方法 1: Microsoft Store の HEIF\u002FHEVC 拡張機能",[15,6631,6632],{},"Windows 10\u002F11 で HEIC を「フォト」アプリで直接開けるようにする方法。",[178,6634,6635],{"id":6635},"手順",[182,6637,6638,6641,6644,6647],{},[28,6639,6640],{},"Microsoft Store を開く",[28,6642,6643],{},"「HEIF 画像拡張機能」を検索してインストール (無料)",[28,6645,6646],{},"「HEVC ビデオ拡張機能」もインストール (有料の場合あり、~120 円程度)",[28,6648,6649],{},"再起動不要、すぐに HEIC が開けるようになる",[178,6651,6652],{"id":6652},"注意点",[25,6654,6655,6658],{},[28,6656,6657],{},"HEVC の方は Microsoft Store のポリシー次第で有料化されている期間があります",[28,6659,6660,6661,6664],{},"拡張機能を入れても、",[31,6662,6663],{},"Windows 標準のフォトビューアー","以外では開けないツールがあります (サードパーティ画像編集ソフト等)",[11,6666,6668],{"id":6667},"方法-2-zerosend-でブラウザ内変換-推奨","方法 2: Zerosend でブラウザ内変換 (推奨)",[15,6670,6671,6673],{},[54,6672,1883],{"href":1883}," は、ブラウザだけで HEIC → JPG 変換を行うツールです。",[178,6675,6635],{"id":6676},"手順-1",[182,6678,6679,6684,6687,6690],{},[28,6680,6681,6187],{},[54,6682,6683],{"href":1883},"Zerosend HEIC → JPG",[28,6685,6686],{},"HEIC ファイルをドラッグ&ドロップ (複数可)",[28,6688,6689],{},"「変換する」ボタン",[28,6691,6692],{},"JPG をダウンロード",[178,6694,6696],{"id":6695},"iphone-から送った写真が外に出ないメリット","iPhone から送った写真が外に出ないメリット",[15,6698,6699,6700,6703],{},"HEIC は iPhone の撮影形式、つまり",[31,6701,6702],{},"個人の写真","です。家族のプライベート写真や顔写真が写り込んだ業務資料を、一度クラウド SaaS にアップロードして変換させるのは気持ちの良い行為ではありません。",[15,6705,6706],{},"Zerosend はブラウザ内で完結するため、写真が外部に送られません。DevTools の Network タブで確認できます。",[11,6708,6710],{"id":6709},"方法-3-iphone-側で互換性優先に変更","方法 3: iPhone 側で「互換性優先」に変更",[15,6712,6713],{},"そもそも HEIC ではなく JPG で撮影する設定に変える方法。",[178,6715,6717],{"id":6716},"手順-ios","手順 (iOS)",[182,6719,6720,6723],{},[28,6721,6722],{},"設定 → カメラ → フォーマット",[28,6724,6725],{},"「高効率」→「互換性優先」に変更",[15,6727,6728,6729,6732],{},"これで以降の撮影は JPG になります。ただし",[31,6730,6731],{},"容量は 1.5〜2 倍","に増えるので、iPhone のストレージとの兼ね合いで判断してください。",[11,6734,6736],{"id":6735},"どの方法が良いか-用途別まとめ","どの方法が良いか (用途別まとめ)",[762,6738,6739,6749],{},[765,6740,6741],{},[768,6742,6743,6746],{},[771,6744,6745],{},"シーン",[771,6747,6748],{},"おすすめ",[778,6750,6751,6759,6767,6775,6782],{},[768,6752,6753,6756],{},[783,6754,6755],{},"1〜2 枚を今だけ開きたい",[783,6757,6758],{},"方法 1 (拡張機能)",[768,6760,6761,6764],{},[783,6762,6763],{},"まとめて JPG 化したい (複数枚)",[783,6765,6766],{},"方法 2 (Zerosend)",[768,6768,6769,6772],{},[783,6770,6771],{},"今後撮る写真は Windows で扱いやすくしたい",[783,6773,6774],{},"方法 3 (iPhone 設定)",[768,6776,6777,6780],{},[783,6778,6779],{},"プライバシーに気を配りたい",[783,6781,6766],{},[768,6783,6784,6787],{},[783,6785,6786],{},"業務で他社に JPG で渡したい",[783,6788,6766],{},[11,6790,1548],{"id":1548},[178,6792,6793],{"id":6793},"画質は劣化するか",[15,6795,6796],{},"HEIC → JPG の変換は非可逆同士の変換なので、わずかに劣化します。Zerosend は変換品質を 92% に設定しており、肉眼での判別は困難なレベルです。",[178,6798,6800],{"id":6799},"exif-撮影日時位置情報-は残るか","EXIF (撮影日時・位置情報) は残るか",[15,6802,6803,6804,6807],{},"iPhone の HEIC に含まれる EXIF は、変換時に基本的に引き継がれます。ただし Zerosend は",[31,6805,6806],{},"プライバシー配慮で EXIF を自動削除","します。撮影日時を残したい場合は、方法 1 (拡張機能で開くだけ) を選ぶか、別ツールで明示的に保持してください。",[178,6809,6811],{"id":6810},"連写した大量の-heic-も一括変換できるか","連写した大量の HEIC も一括変換できるか",[15,6813,6814],{},"Zerosend は複数ファイルの一括変換に対応しており、結果は ZIP でまとめてダウンロードできます。100 枚単位の処理も問題ありません (ブラウザのメモリ次第)。",[11,6816,70],{"id":70},[15,6818,6819,6820,6823,6824,6827],{},"HEIC が開けないという問題は、拡張機能・オンライン変換・撮影設定変更の 3 通りで解決できます。",[31,6821,6822],{},"一度にたくさん + プライバシー重視","なら、ブラウザ内で完結する ",[54,6825,6826],{"href":1883},"Zerosend の HEIC → JPG 変換"," が一番実用的です。",{"title":80,"searchDepth":81,"depth":81,"links":6829},[6830,6834,6838,6842,6845,6846,6851],{"id":6606,"depth":81,"text":6607,"children":6831},[6832,6833],{"id":6610,"depth":257,"text":6611},{"id":6621,"depth":257,"text":6622},{"id":6628,"depth":81,"text":6629,"children":6835},[6836,6837],{"id":6635,"depth":257,"text":6635},{"id":6652,"depth":257,"text":6652},{"id":6667,"depth":81,"text":6668,"children":6839},[6840,6841],{"id":6676,"depth":257,"text":6635},{"id":6695,"depth":257,"text":6696},{"id":6709,"depth":81,"text":6710,"children":6843},[6844],{"id":6716,"depth":257,"text":6717},{"id":6735,"depth":81,"text":6736},{"id":1548,"depth":81,"text":1548,"children":6847},[6848,6849,6850],{"id":6793,"depth":257,"text":6793},{"id":6799,"depth":257,"text":6800},{"id":6810,"depth":257,"text":6811},{"id":70,"depth":81,"text":70},"iPhone の HEIC 写真が Windows で開けない時の解決策を 3 通り解説。Microsoft Store 拡張機能、ブラウザ内変換 (Zerosend)、iPhone の設定変更を比較し、用途別のおすすめを紹介します。",{},"\u002Fblog\u002Fheic-to-jpg-windows",{"title":6594,"description":6852},"heic-to-jpg-windows","blog\u002Fheic-to-jpg-windows",[2068,466,6859],"Windows","980U9DKFglaadPkZ3zjYq5jDasjMkJdPDF9-XLyb51g",{"id":6862,"title":6863,"author":6,"body":6864,"category":259,"coverImage":87,"description":7285,"draft":89,"extension":90,"locale":91,"meta":7286,"navigation":93,"noindex":89,"path":7287,"publishedAt":95,"seo":7288,"slug":7289,"stem":7290,"tags":7291,"updatedAt":263,"__hash__":7292},"blog\u002Fblog\u002Fimage-compress-guide.md","オンライン画像圧縮 完全ガイド 2026 — 画質を落とさず最大限軽くする方法",{"type":8,"value":6865,"toc":7253},[6866,6873,6876,6880,6887,6891,6894,6897,6901,6914,6917,6921,6928,6938,6942,6956,6963,6967,6971,6978,6981,7063,7070,7074,7081,7085,7095,7102,7106,7113,7117,7124,7127,7131,7134,7149,7152,7159,7162,7165,7169,7187,7190,7194,7212,7215,7219,7225,7228,7235,7239,7246,7248],[15,6867,6868,6869,6872],{},"Web サイトに画像を載せるとき、「軽くしたいけど画質は落としたくない」という悩みは共通です。本記事では、画像圧縮の基本と実用的なコツ、そしてファイルをサーバーに預けずに処理できる ",[54,6870,6871],{"href":2028},"Zerosend の画像圧縮ツール"," の使い方を整理します。",[11,6874,6875],{"id":6875},"なぜ画像圧縮が必要か",[178,6877,6879],{"id":6878},"表示速度と-seo-core-web-vitals","表示速度と SEO (Core Web Vitals)",[15,6881,6882,6883,6886],{},"Google の Core Web Vitals では、ページ内の最大コンテンツの表示時間 (LCP) を評価軸にしています。LCP の遅延原因の多くは",[31,6884,6885],{},"巨大な画像","です。未圧縮の写真を 1 枚置くだけで、モバイル回線ではページ全体の表示が数秒遅れます。検索順位にも影響します。",[178,6888,6890],{"id":6889},"サーバー費用ストレージ節約","サーバー費用・ストレージ節約",[15,6892,6893],{},"画像 1 枚あたり数 MB を 100 枚置けば数 GB。配信帯域・ストレージ・CDN 費用は使い手がその画像を見る回数だけ上乗せで発生します。初期の圧縮コストをサボるほど、後でお金と速度の両方で払うことになります。",[11,6895,6896],{"id":6896},"主要な画像フォーマットと圧縮方式",[178,6898,6900],{"id":6899},"jpg-と-png-の使い分け","JPG と PNG の使い分け",[25,6902,6903,6909],{},[28,6904,6905,6908],{},[31,6906,6907],{},"JPG",": 写真向け。非可逆圧縮 (情報を捨てて軽くする)。透過不可。",[28,6910,6911,6913],{},[31,6912,2168],{},": ロゴ・スクリーンショット・透過が必要な画像向け。可逆圧縮。",[15,6915,6916],{},"写真を PNG で保存すると JPG の 5〜10 倍の容量になります。まずこの判断を間違えないこと。",[178,6918,6920],{"id":6919},"webp-avif-の現在地","WebP \u002F AVIF の現在地",[15,6922,6923,6924,6927],{},"2026 年時点では ",[31,6925,6926],{},"WebP は実質全ブラウザで使えます","。AVIF も主要ブラウザが対応済みで、JPG の 2〜3 割小さい容量を実現できます。",[15,6929,6930,6931,6933,6934,6937],{},"互換性が不安なら、WebP を第一選択にしつつ、フォールバックで JPG \u002F PNG を用意するのが安全です。",[289,6932,603],{}," タグの ",[289,6935,6936],{},"srcset"," で自動切替できます。",[178,6939,6941],{"id":6940},"可逆圧縮-vs-非可逆圧縮","可逆圧縮 vs 非可逆圧縮",[25,6943,6944,6950],{},[28,6945,6946,6949],{},[31,6947,6948],{},"可逆 (lossless)",": ファイルを小さくするが画質は 1 ピクセルも失わない。PNG \u002F WebP lossless \u002F AVIF lossless。",[28,6951,6952,6955],{},[31,6953,6954],{},"非可逆 (lossy)",": 人間の目に目立ちにくい情報を捨てて大幅に軽くする。JPG \u002F WebP lossy \u002F AVIF。",[15,6957,6958,6959,6962],{},"Web 配信用は",[31,6960,6961],{},"基本的に非可逆で十分","。ロゴやイラストのような「元画像が重要」なものだけ可逆を選びます。",[11,6964,6966],{"id":6965},"画質を落とさず圧縮する-5-つのコツ","画質を落とさず圧縮する 5 つのコツ",[178,6968,6970],{"id":6969},"_1-品質-8085-の黄金点","1. 品質 80〜85 % の黄金点",[15,6972,6973,6974,6977],{},"JPG の品質設定は 100% ではなく ",[31,6975,6976],{},"85% がベスト","です。体感の画質差はほぼ分かりませんが、ファイルサイズは 100% の約 40% まで落ちます。70% まで下げると輪郭にノイズが出始めるので、そこが下限の目安です。",[15,6979,6980],{},"具体的な目安は次の通りです (元画像比のおおよその容量)。",[762,6982,6983,6996],{},[765,6984,6985],{},[768,6986,6987,6990,6993],{},[771,6988,6989],{},"品質",[771,6991,6992],{},"体感画質",[771,6994,6995],{},"容量目安 (元比)",[778,6997,6998,7009,7019,7030,7041,7052],{},[768,6999,7000,7003,7006],{},[783,7001,7002],{},"100",[783,7004,7005],{},"最高",[783,7007,7008],{},"100%",[768,7010,7011,7014,7016],{},[783,7012,7013],{},"95",[783,7015,7005],{},[783,7017,7018],{},"70%",[768,7020,7021,7024,7027],{},[783,7022,7023],{},"85",[783,7025,7026],{},"ほぼ最高",[783,7028,7029],{},"40%",[768,7031,7032,7035,7038],{},[783,7033,7034],{},"75",[783,7036,7037],{},"良好",[783,7039,7040],{},"30%",[768,7042,7043,7046,7049],{},[783,7044,7045],{},"60",[783,7047,7048],{},"ノイズが見え始める",[783,7050,7051],{},"22%",[768,7053,7054,7057,7060],{},[783,7055,7056],{},"40",[783,7058,7059],{},"明らかに劣化",[783,7061,7062],{},"15%",[15,7064,7065,7066,7069],{},"85% より上は容量効率が悪く、これより下はブロックノイズが目立ち始めます。",[31,7067,7068],{},"85% が黄金点","である理由がここにあります。",[178,7071,7073],{"id":7072},"_2-不要なメタデータを削る","2. 不要なメタデータを削る",[15,7075,7076,7077,7080],{},"スマホで撮った写真には EXIF (撮影日時・GPS 位置情報・カメラ機種) が埋め込まれています。サイズ的にわずか数十 KB ですが、",[31,7078,7079],{},"プライバシー面でも削るべき","です。Zerosend の画像圧縮は保存時に EXIF を自動で除去します。",[178,7082,7084],{"id":7083},"_3-画像サイズを先にリサイズ","3. 画像サイズを先にリサイズ",[15,7086,7087,7088,7090,7091,7094],{},"圧縮前に画像サイズ (ピクセル) を表示サイズに合わせることが、品質と容量を両立する最強の施策です。300px で表示する画像を 3000px のまま圧縮しても、帯域の無駄でしかありません。",[54,7089,414],{"href":2035}," で",[31,7092,7093],{},"先に縮めてから","圧縮してください。",[15,7096,7097,7098,7101],{},"なお、",[31,7099,7100],{},"元画像より大きいサイズに拡大しても画質は上がりません","。800px の画像を 1600px にリサイズすると、補間で輪郭がぼやけるだけで情報量は増えません。リサイズは「元画像の最大サイズを上限」にして縮小方向だけに使うのが鉄則です。",[178,7103,7105],{"id":7104},"_4-複数ツールを重ねがけしない","4. 複数ツールを重ねがけしない",[15,7107,7108,7109,7112],{},"非可逆圧縮は毎回わずかに画質が落ちます。「JPG を圧縮 → またアップ → また圧縮」を繰り返すと、ジワジワ劣化が積み重なります。元画像から ",[31,7110,7111],{},"1 回だけ"," 圧縮する運用にしましょう。",[178,7114,7116],{"id":7115},"_5-重要な画像だけ手動で確認","5. 重要な画像だけ手動で確認",[15,7118,7119,7120,7123],{},"自動処理で全部済ませてよい画像と、見出し画像やアイキャッチのように",[31,7121,7122],{},"手動で結果を確認すべき画像","を分けます。後者は品質 85% に加えて、元画像とのスライダー比較を挟むと事故を防げます。",[11,7125,7126],{"id":7126},"オンライン画像圧縮ツールの選び方",[178,7128,7130],{"id":7129},"アップロードされるされないを見分ける","アップロードされる\u002Fされないを見分ける",[15,7132,7133],{},"「オンラインで無料で使える」と謳うツールの多くは、一度ファイルをサーバーに送って処理しています。画像のロゴや社内資料では、これが問題になる場面があります。",[15,7135,7136,7137,7140,7141,7144,7145,7148],{},"見分け方はシンプルです。ブラウザの ",[31,7138,7139],{},"DevTools を開き Network タブを表示","してからツールを使ってみてください。アップロード時に大きなデータを伴う POST リクエストが出ていれば、そのツールは送信型です。",[54,7142,7143],{"href":2028},"Zerosend の画像圧縮"," はこの検証で",[31,7146,7147],{},"送信ゼロ","が確認できます。",[178,7150,7151],{"id":7151},"画質コントロールの柔軟性",[15,7153,7154,7155,7158],{},"品質スライダーがあるか、形式を選べるか、出力プレビューがあるかは必ずチェックしましょう。プリセット一択のツールは",[31,7156,7157],{},"過剰圧縮","に陥りがちです。",[178,7160,7161],{"id":7161},"バッチ処理に対応しているか",[15,7163,7164],{},"1 枚ずつでは時間がかかる業務向けに、複数ファイルの一括処理 + ZIP ダウンロードに対応したツールを選びます。",[11,7166,7168],{"id":7167},"zerosend-でブラウザ内完結の画像圧縮をする手順","Zerosend でブラウザ内完結の画像圧縮をする手順",[182,7170,7171,7175,7178,7181,7184],{},[28,7172,7173,6187],{},[54,7174,2028],{"href":2028},[28,7176,7177],{},"画像をドラッグ&ドロップ (JPG \u002F PNG \u002F WebP、複数可)",[28,7179,7180],{},"品質スライダーを調整 (推奨は 80)",[28,7182,7183],{},"「圧縮する」ボタン",[28,7185,7186],{},"1 枚ならそのまま、複数なら ZIP でダウンロード",[15,7188,7189],{},"すべての処理がブラウザ内で完結するので、機密画像も安心して扱えます。",[178,7191,7193],{"id":7192},"devtools-の-network-タブで検証する方法","DevTools の Network タブで検証する方法",[182,7195,7196,7199,7202,7205],{},[28,7197,7198],{},"圧縮する前に DevTools を開く (右クリック → 検証)",[28,7200,7201],{},"Network タブに切り替え、「Preserve log」をオンに",[28,7203,7204],{},"画像をドラッグ&ドロップして処理を走らせる",[28,7206,7207,7208,7211],{},"表示される通信が CDN \u002F GA \u002F AdSense だけで、",[31,7209,7210],{},"画像自体を POST している通信がない"," ことを確認",[11,7213,7214],{"id":7214},"よくある落とし穴",[178,7216,7218],{"id":7217},"透過-png-が白背景になる","透過 PNG が白背景になる",[15,7220,7221,7222,7224],{},"JPG は透過を扱えません。PNG の透過画像を「形式変換: JPG」で処理すると、透過部分が白で埋まります。透過を保ちたい場合は PNG のまま \u002F WebP に変換してください。",[54,7223,564],{"href":2042}," を参照。",[178,7226,7227],{"id":7227},"圧縮後に色がくすむ",[15,7229,7230,7231,7234],{},"sRGB 以外のプロファイル (Adobe RGB \u002F Display P3) で保存された画像は、非対応ブラウザで色がくすんで見えることがあります。Web 配信は ",[31,7232,7233],{},"sRGB に統一","するのが無難です。",[178,7236,7238],{"id":7237},"sns-側で再圧縮される","SNS 側で再圧縮される",[15,7240,7241,7242,7245],{},"Twitter \u002F Instagram \u002F LINE では、投稿された画像がプラットフォーム側でさらに圧縮されます。自分で極限まで圧縮するよりも、",[31,7243,7244],{},"そこそこで止めて SNS の再圧縮に任せる","方が綺麗に見えるケースもあります。",[11,7247,70],{"id":70},[15,7249,7250,7251,2356],{},"画像圧縮は「JPG 品質 85% を目安に、先にリサイズ、メタデータは削る」の 3 原則で大半がうまくいきます。Zerosend の画像圧縮は、この原則をブラウザ内で実現します。機密画像でも気兼ねなく使えるので、",[54,7252,6573],{"href":2028},{"title":80,"searchDepth":81,"depth":81,"links":7254},[7255,7259,7264,7271,7276,7279,7284],{"id":6875,"depth":81,"text":6875,"children":7256},[7257,7258],{"id":6878,"depth":257,"text":6879},{"id":6889,"depth":257,"text":6890},{"id":6896,"depth":81,"text":6896,"children":7260},[7261,7262,7263],{"id":6899,"depth":257,"text":6900},{"id":6919,"depth":257,"text":6920},{"id":6940,"depth":257,"text":6941},{"id":6965,"depth":81,"text":6966,"children":7265},[7266,7267,7268,7269,7270],{"id":6969,"depth":257,"text":6970},{"id":7072,"depth":257,"text":7073},{"id":7083,"depth":257,"text":7084},{"id":7104,"depth":257,"text":7105},{"id":7115,"depth":257,"text":7116},{"id":7126,"depth":81,"text":7126,"children":7272},[7273,7274,7275],{"id":7129,"depth":257,"text":7130},{"id":7151,"depth":257,"text":7151},{"id":7161,"depth":257,"text":7161},{"id":7167,"depth":81,"text":7168,"children":7277},[7278],{"id":7192,"depth":257,"text":7193},{"id":7214,"depth":81,"text":7214,"children":7280},[7281,7282,7283],{"id":7217,"depth":257,"text":7218},{"id":7227,"depth":257,"text":7227},{"id":7237,"depth":257,"text":7238},{"id":70,"depth":81,"text":70},"画像圧縮で画質を落とさず最大限軽くするための実用テクと、ファイルをサーバーに送らずブラウザだけで圧縮する方法を解説。品質 85% の黄金点・フォーマット選び・リサイズとの順序まで。",{},"\u002Fblog\u002Fimage-compress-guide",{"title":6863,"description":7285},"image-compress-guide","blog\u002Fimage-compress-guide",[466,468,744],"WgkSGzLGGIWj-RYIlFVIe_Mx6myS-glWbsNMBp0XNvU",{"id":7294,"title":7295,"author":6,"body":7296,"category":259,"coverImage":87,"description":7900,"draft":89,"extension":90,"locale":91,"meta":7901,"navigation":93,"noindex":89,"path":7902,"publishedAt":95,"seo":7903,"slug":7904,"stem":7905,"tags":7906,"updatedAt":263,"__hash__":7907},"blog\u002Fblog\u002Fpdf-merge-guide.md","PDF 結合 無料 — 顧客情報をアップロードせずに処理する完全手順 2026",{"type":8,"value":7297,"toc":7866},[7298,7305,7309,7312,7315,7318,7321,7325,7328,7332,7336,7343,7353,7357,7360,7364,7367,7371,7378,7382,7404,7407,7411,7418,7421,7424,7441,7474,7478,7481,7531,7535,7538,7541,7548,7551,7554,7558,7562,7565,7569,7572,7576,7587,7591,7601,7813,7820,7824,7826,7829,7832,7835,7837,7844,7847,7849,7858,7863],[15,7299,7300,7301,7304],{},"複数の PDF を 1 つに結合したいが、契約書や請求書を見ず知らずのサーバーに送るのは気が引ける。そんな時に使えるのが、ブラウザだけで完結する ",[54,7302,7303],{"href":3107},"Zerosend の PDF 結合ツール"," です。本記事では選び方のポイント、よくあるトラブル、B2B 現場で使う運用ルールまでまとめます。",[11,7306,7308],{"id":7307},"pdf-結合が業務で必要になる典型シーン","PDF 結合が業務で必要になる典型シーン",[178,7310,7311],{"id":7311},"請求書の月次まとめ",[15,7313,7314],{},"取引先ごとに発行された請求書 PDF を、月末に 1 本の PDF にまとめて経理に回す。毎月繰り返している個人事業主や中小事業主は多いはずです。",[178,7316,7317],{"id":7317},"複数ファイルで届いた契約書の統合",[15,7319,7320],{},"「表紙」「本文」「別紙」「押印欄」が別々の PDF で届くケースは少なくありません。署名前に 1 本にまとめておくと、先方への送付もアーカイブもシンプルになります。",[178,7322,7324],{"id":7323},"スキャン-pdf-添付資料の一体化","スキャン PDF + 添付資料の一体化",[15,7326,7327],{},"紙の書類をスキャンした PDF に、別で作った Excel\u002FWord の PDF 出力を結合して提出するパターン。士業や官公庁関連の手続きで頻出します。",[11,7329,7331],{"id":7330},"無料-pdf-結合ツールの選び方-4-つの判断基準","無料 PDF 結合ツールの選び方 — 4 つの判断基準",[178,7333,7335],{"id":7334},"_1-ファイルがサーバーに送られないか","1. ファイルがサーバーに送られないか",[15,7337,7338,7339,7342],{},"オンラインで使える PDF 結合ツールの多くは、ファイルを一度サーバーへアップロードしてから処理します。ほとんどのサービスは処理後にサーバー上のファイルを消すと明言していますが、",[31,7340,7341],{},"NDA 下の契約書や顧客情報を含む PDF を外部に送ること自体が問題","になる場面があります。",[15,7344,7345,7346,7349,7350,7148],{},"判定は DevTools の Network タブで簡単にできます。",[54,7347,7348],{"href":3107},"Zerosend の PDF 結合"," はブラウザ内で完結するため、ここで",[31,7351,7352],{},"通信ゼロ",[178,7354,7356],{"id":7355},"_2-結合順の制御","2. 結合順の制御",[15,7358,7359],{},"ドラッグ&ドロップで並び替えができるか、ファイル名の自動ソートしか受け付けないかは大きな差。実務では並び替えが必要になるシーンが多いはずです。",[178,7361,7363],{"id":7362},"_3-パスワード付き-pdf-に対応するか","3. パスワード付き PDF に対応するか",[15,7365,7366],{},"社内で暗号化された PDF は、結合する前に一度ロック解除が必要です。現状の Zerosend は非対応なので、先に Acrobat 等で解除してから結合してください。",[178,7368,7370],{"id":7369},"_4-ファイルサイズ枚数の上限","4. ファイルサイズ・枚数の上限",[15,7372,7373,7374,7377],{},"大きな PDF 数十枚の結合はメモリを使います。ブラウザ内処理ツールは",[31,7375,7376],{},"数百 MB 級で動作が不安定","になることがあるので、サイズ上限と処理速度を事前に確認してください。Zerosend は 1 ファイル 100 MB までを推奨しています。",[11,7379,7381],{"id":7380},"zerosend-でアップロードせずに結合する手順","Zerosend でアップロードせずに結合する手順",[182,7383,7384,7388,7391,7398,7401],{},[28,7385,7386,6187],{},[54,7387,3107],{"href":3107},[28,7389,7390],{},"結合したい PDF を複数ドラッグ&ドロップ",[28,7392,7393,7394,7397],{},"リストを",[31,7395,7396],{},"ドラッグで並び替え","て希望の順序に",[28,7399,7400],{},"「結合する」ボタン",[28,7402,7403],{},"結合後の PDF を即ダウンロード",[15,7405,7406],{},"全工程がブラウザ内で実行されるため、処理中に外部通信は発生しません。",[178,7408,7410],{"id":7409},"ダウンロード前に-network-タブで検証する","ダウンロード前に Network タブで検証する",[15,7412,7413,7414,7417],{},"DevTools → Network タブを開いた状態で結合を実行すると、",[31,7415,7416],{},"PDF の中身が通信ペイロードに乗っていない"," ことが目視できます。この検証可能性が Zerosend の強みです。",[11,7419,7420],{"id":7420},"よくあるトラブルと対処",[178,7422,7423],{"id":7423},"結合順が希望通りにならない",[15,7425,7426,7427,62,7430,62,7433,7436,7437,7440],{},"並び替えの基準はツールごとに違い、",[31,7428,7429],{},"追加順",[31,7431,7432],{},"文字列順",[31,7434,7435],{},"更新日時順","のどれを採用するかで結果が変わります。事故の 8 割は文字列順 (",[289,7438,7439],{},"1, 10, 11, 2, 20, 3",") によるものです。",[25,7442,7443,7457,7471],{},[28,7444,7445,7446,7449,7450,6264,7453,7456],{},"ファイル名が ",[289,7447,7448],{},"1, 2, 10, 11, 2-2"," のように桁数が違うと、文字列ソートで 1 → 10 → 11 → 2 の順になります。",[31,7451,7452],{},"ゼロパディング",[289,7454,7455],{},"01, 02, 10, 11",") で解決します",[28,7458,7459,7462,7463,7466,7467,7470],{},[31,7460,7461],{},"日本語ファイル名 + 数字","も罠が多い。",[289,7464,7465],{},"請求書1.pdf, 請求書10.pdf, 請求書2.pdf"," は文字列順では ",[289,7468,7469],{},"請求書1 → 請求書10 → 請求書2"," になります。半角と全角の数字が混ざるとさらに狂います",[28,7472,7473],{},"Zerosend ではリストをドラッグして明示的に並び替えるのが確実です",[7475,7476,7477],"h4",{"id":7477},"並び順事故を防ぐ運用ルール",[15,7479,7480],{},"実務でハマらないための定石は次の通りです。",[25,7482,7483,7492,7505,7511,7521],{},[28,7484,7485,2428,7488,7491],{},[31,7486,7487],{},"契約書 (表紙 + 本文 + 押印)",[289,7489,7490],{},"01_表紙.pdf, 02_本文.pdf, 03_押印欄.pdf"," のようにゼロ埋め連番を頭に付ける",[28,7493,7494,2428,7497,7500,7501,7504],{},[31,7495,7496],{},"請求書の月次結合",[289,7498,7499],{},"2026-04-01_ClientA.pdf, 2026-04-05_ClientB.pdf"," のように ",[31,7502,7503],{},"YYYY-MM-DD を先頭","に置く。文字列ソートが自然に日付順になる",[28,7506,7507,7510],{},[31,7508,7509],{},"桁数の先読み",": 10〜99 件なら 2 桁、100 以上なら 3 桁でゼロパディング",[28,7512,7513,7516,7517,7520],{},[31,7514,7515],{},"月末 50 件のような大量結合",": 本番投入の前に",[31,7518,7519],{},"3 ファイル程度でテスト結合","して並び順仮説を検証する",[28,7522,7523,7526,7527,7530],{},[31,7524,7525],{},"ページ単位で並べ替えたい場合",": 結合前に ",[54,7528,7529],{"href":3292},"PDF ページ編集ツール"," で各 PDF のページ順を整えておく。結合ツール側で頑張るより事故が起きにくい",[178,7532,7534],{"id":7533},"パスワード付き-pdf-が開けない","パスワード付き PDF が開けない",[15,7536,7537],{},"先にロック解除してから Zerosend に持ち込むか、デスクトップアプリを併用してください。パスワード対応は今後の検討事項です。",[178,7539,7540],{"id":7540},"結合後のファイルサイズが大きい",[15,7542,7543,7544,7547],{},"結合すると中身がそのまま積み重なるため、元の合計より少し大きくなります。メール添付できないサイズになったら、",[54,7545,7546],{"href":3100},"PDF 圧縮ツール"," で後処理します。",[178,7549,7550],{"id":7550},"文字化け",[15,7552,7553],{},"フォントが埋め込まれていない PDF は、結合後に一部フォントが別物になって文字化けすることがあります。フォント埋め込みで出力し直すのが確実です。",[11,7555,7557],{"id":7556},"b2b-業務での運用ルール-3-選","B2B 業務での運用ルール 3 選",[178,7559,7561],{"id":7560},"_1-顧客情報を含む-pdf-はどこで処理するか明文化","1. 顧客情報を含む PDF はどこで処理するか明文化",[15,7563,7564],{},"「個人情報を含む PDF は外部 SaaS にアップロードしない」と社内ルールで決めている企業は増えています。ブラウザ内処理ツールに切り替えるだけで、このルールに抵触しにくくなります。",[178,7566,7568],{"id":7567},"_2-共有フォルダに結合後を置く元ファイルは削除","2. 共有フォルダに結合後を置く、元ファイルは削除",[15,7570,7571],{},"結合後に元の分割ファイルが残っていると、どちらが「最新版」か分からなくなります。チームで扱う場合は、結合後を共有し元は個人のアーカイブに退避するのがおすすめです。",[178,7573,7575],{"id":7574},"_3-監査ログを要求される環境での選択","3. 監査ログを要求される環境での選択",[15,7577,7578,7579,7582,7583,7586],{},"監査・法務から「誰が・いつ・どの SaaS で処理したか」のログを求められる場合、クラウドサービスより",[31,7580,7581],{},"ローカル完結型","のほうがログの出所が明確です。DevTools で通信が発生していないことを",[31,7584,7585],{},"自分で確認した記録","は、第三者監査に対しても説明が付きやすくなります。",[11,7588,7590],{"id":7589},"スクリプトで自動化する場合-開発者向け","スクリプトで自動化する場合 (開発者向け)",[15,7592,7593,7594,7596,7597,7600],{},"毎月の定型結合を自動化したいなら、Node.js の ",[289,7595,3019],{}," で順序を",[31,7598,7599],{},"コードで明示","するのが堅い方法です。",[606,7602,7606],{"className":7603,"code":7604,"language":7605,"meta":80,"style":80},"language-typescript shiki shiki-themes github-light github-dark","import { PDFDocument } from 'pdf-lib'\nimport { readFileSync, writeFileSync } from 'node:fs'\n\nconst files = ['01.pdf', '02.pdf', '03.pdf']  \u002F\u002F 明示的に順序指定\nconst out = await PDFDocument.create()\nfor (const f of files) {\n  const src = await PDFDocument.load(readFileSync(f))\n  const pages = await out.copyPages(src, src.getPageIndices())\n  for (const p of pages) out.addPage(p)\n}\nwriteFileSync('merged.pdf', await out.save())\n","typescript",[289,7607,7608,7623,7635,7640,7674,7695,7713,7738,7764,7787,7791],{"__ignoreMap":80},[614,7609,7610,7614,7617,7620],{"class":616,"line":617},[614,7611,7613],{"class":7612},"szBVR","import",[614,7615,7616],{"class":620}," { PDFDocument } ",[614,7618,7619],{"class":7612},"from",[614,7621,7622],{"class":646}," 'pdf-lib'\n",[614,7624,7625,7627,7630,7632],{"class":616,"line":81},[614,7626,7613],{"class":7612},[614,7628,7629],{"class":620}," { readFileSync, writeFileSync } ",[614,7631,7619],{"class":7612},[614,7633,7634],{"class":646}," 'node:fs'\n",[614,7636,7637],{"class":616,"line":257},[614,7638,7639],{"emptyLinePlaceholder":93},"\n",[614,7641,7642,7645,7648,7651,7654,7657,7659,7662,7664,7667,7670],{"class":616,"line":685},[614,7643,7644],{"class":7612},"const",[614,7646,7647],{"class":5813}," files",[614,7649,7650],{"class":7612}," =",[614,7652,7653],{"class":620}," [",[614,7655,7656],{"class":646},"'01.pdf'",[614,7658,1529],{"class":620},[614,7660,7661],{"class":646},"'02.pdf'",[614,7663,1529],{"class":620},[614,7665,7666],{"class":646},"'03.pdf'",[614,7668,7669],{"class":620},"]  ",[614,7671,7673],{"class":7672},"sJ8bj","\u002F\u002F 明示的に順序指定\n",[614,7675,7676,7678,7681,7683,7686,7689,7692],{"class":616,"line":5718},[614,7677,7644],{"class":7612},[614,7679,7680],{"class":5813}," out",[614,7682,7650],{"class":7612},[614,7684,7685],{"class":7612}," await",[614,7687,7688],{"class":620}," PDFDocument.",[614,7690,7691],{"class":639},"create",[614,7693,7694],{"class":620},"()\n",[614,7696,7697,7700,7702,7704,7707,7710],{"class":616,"line":5724},[614,7698,7699],{"class":7612},"for",[614,7701,6264],{"class":620},[614,7703,7644],{"class":7612},[614,7705,7706],{"class":5813}," f",[614,7708,7709],{"class":7612}," of",[614,7711,7712],{"class":620}," files) {\n",[614,7714,7715,7718,7720,7722,7724,7726,7729,7732,7735],{"class":616,"line":5734},[614,7716,7717],{"class":7612},"  const",[614,7719,667],{"class":5813},[614,7721,7650],{"class":7612},[614,7723,7685],{"class":7612},[614,7725,7688],{"class":620},[614,7727,7728],{"class":639},"load",[614,7730,7731],{"class":620},"(",[614,7733,7734],{"class":639},"readFileSync",[614,7736,7737],{"class":620},"(f))\n",[614,7739,7740,7742,7745,7747,7749,7752,7755,7758,7761],{"class":616,"line":5753},[614,7741,7717],{"class":7612},[614,7743,7744],{"class":5813}," pages",[614,7746,7650],{"class":7612},[614,7748,7685],{"class":7612},[614,7750,7751],{"class":620}," out.",[614,7753,7754],{"class":639},"copyPages",[614,7756,7757],{"class":620},"(src, src.",[614,7759,7760],{"class":639},"getPageIndices",[614,7762,7763],{"class":620},"())\n",[614,7765,7766,7769,7771,7773,7776,7778,7781,7784],{"class":616,"line":5929},[614,7767,7768],{"class":7612},"  for",[614,7770,6264],{"class":620},[614,7772,7644],{"class":7612},[614,7774,7775],{"class":5813}," p",[614,7777,7709],{"class":7612},[614,7779,7780],{"class":620}," pages) out.",[614,7782,7783],{"class":639},"addPage",[614,7785,7786],{"class":620},"(p)\n",[614,7788,7789],{"class":616,"line":5942},[614,7790,5956],{"class":620},[614,7792,7793,7796,7798,7801,7803,7806,7808,7811],{"class":616,"line":5953},[614,7794,7795],{"class":639},"writeFileSync",[614,7797,7731],{"class":620},[614,7799,7800],{"class":646},"'merged.pdf'",[614,7802,1529],{"class":620},[614,7804,7805],{"class":7612},"await",[614,7807,7751],{"class":620},[614,7809,7810],{"class":639},"save",[614,7812,7763],{"class":620},[15,7814,7815,7816,7819],{},"ファイル一覧をコードで持つため、ファイル名のソート順に依存せず",[31,7817,7818],{},"意図した順序が必ず保たれる","のが強みです。",[11,7821,7823],{"id":7822},"pdf-結合ツールの-3-類型とプライバシー観点での選び方","PDF 結合ツールの 3 類型とプライバシー観点での選び方",[178,7825,6140],{"id":6139},[15,7827,7828],{},"機能が豊富で UI が洗練されている傾向。ただしファイルはサーバーに送られるため、機密書類には不向き。",[178,7830,7831],{"id":7831},"デスクトップアプリ型",[15,7833,7834],{},"Acrobat 等の本格アプリや、OSS のユーティリティ。インストールと設定が必要だが、ローカル完結でセキュアに処理できます。",[178,7836,6153],{"id":6153},[15,7838,7839,7840,7843],{},"Zerosend のような",[31,7841,7842],{},"インストール不要でローカル完結","なタイプ。PC を変えても使える気軽さと、送信しない安心感を両立しています。",[15,7845,7846],{},"業務要件の機密度・操作感の好み・頻度によって使い分けるのが実務的です。",[11,7848,70],{"id":70},[15,7850,7851,7852,7855,7856,2356],{},"PDF 結合はシンプルな作業ですが、扱う情報の性質を考えると",[31,7853,7854],{},"ツール選びは慎重に","なるべき場面です。Zerosend の PDF 結合はブラウザ内で完結し、DevTools で自ら検証できる透明性があります。",[54,7857,6573],{"href":3107},[15,7859,5507,7860],{},[54,7861,7862],{"href":5514},"プライバシー重視のオンラインツール",[717,7864,7865],{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":80,"searchDepth":81,"depth":81,"links":7867},[7868,7873,7879,7882,7888,7893,7894,7899],{"id":7307,"depth":81,"text":7308,"children":7869},[7870,7871,7872],{"id":7311,"depth":257,"text":7311},{"id":7317,"depth":257,"text":7317},{"id":7323,"depth":257,"text":7324},{"id":7330,"depth":81,"text":7331,"children":7874},[7875,7876,7877,7878],{"id":7334,"depth":257,"text":7335},{"id":7355,"depth":257,"text":7356},{"id":7362,"depth":257,"text":7363},{"id":7369,"depth":257,"text":7370},{"id":7380,"depth":81,"text":7381,"children":7880},[7881],{"id":7409,"depth":257,"text":7410},{"id":7420,"depth":81,"text":7420,"children":7883},[7884,7885,7886,7887],{"id":7423,"depth":257,"text":7423},{"id":7533,"depth":257,"text":7534},{"id":7540,"depth":257,"text":7540},{"id":7550,"depth":257,"text":7550},{"id":7556,"depth":81,"text":7557,"children":7889},[7890,7891,7892],{"id":7560,"depth":257,"text":7561},{"id":7567,"depth":257,"text":7568},{"id":7574,"depth":257,"text":7575},{"id":7589,"depth":81,"text":7590},{"id":7822,"depth":81,"text":7823,"children":7895},[7896,7897,7898],{"id":6139,"depth":257,"text":6140},{"id":7831,"depth":257,"text":7831},{"id":6153,"depth":257,"text":6153},{"id":70,"depth":81,"text":70},"複数の PDF を結合したい、でも契約書や請求書を SaaS に預けたくない事業主へ。Zerosend ならブラウザ内で完結します。無料ツールの選び方、順番トラブルの対処、B2B 運用ルールまで解説します。",{},"\u002Fblog\u002Fpdf-merge-guide",{"title":7295,"description":7900},"pdf-merge-guide","blog\u002Fpdf-merge-guide",[3132,268,269],"6RlWZV8XiJYxdhjlLU9LDr-gRKynMSe66uD6bjeacAQ",{"id":7909,"title":7910,"author":6,"body":7911,"category":8287,"coverImage":87,"description":8288,"draft":89,"extension":90,"locale":91,"meta":8289,"navigation":93,"noindex":89,"path":8290,"publishedAt":95,"seo":8291,"slug":8292,"stem":8293,"tags":8294,"updatedAt":95,"__hash__":8296},"blog\u002Fblog\u002Fprivacy-tools-comparison.md","アップロード不要なファイル処理ツールの選び方 2026 — 3 類型の使い分け",{"type":8,"value":7912,"toc":8265},[7913,7916,7920,7924,7931,7935,7942,7946,7950,7953,7973,7977,7980,7997,8001,8008,8025,8029,8140,8143,8147,8153,8157,8163,8167,8173,8177,8187,8189,8195,8198,8224,8228,8231,8249,8251,8257],[15,7914,7915],{},"ファイルをサーバーに預けずに処理する選択肢は、ここ数年で現実的になりました。本記事では「どの方式を、どんな時に選べばいいか」を 3 類型で整理します。",[11,7917,7919],{"id":7918},"なぜアップロードしないが業務の要件になるのか","なぜ「アップロードしない」が業務の要件になるのか",[178,7921,7923],{"id":7922},"_2025-年以降のデータ保護要件-個人情報保護法改正","2025 年以降のデータ保護要件 (個人情報保護法改正)",[15,7925,7926,7927,7930],{},"日本の個人情報保護法改正で、個人情報を取り扱う事業者の説明責任が強まりました。",[31,7928,7929],{},"顧客の個人情報が含まれるファイルを外部 SaaS にアップロードする","際、少なくとも利用規約・プライバシーポリシーの確認と社内ルールでの合意が求められるケースが増えています。",[178,7932,7934],{"id":7933},"nda-案件受託案件医療-士業での制約","NDA 案件・受託案件・医療 \u002F 士業での制約",[15,7936,7937,7938,7941],{},"受託案件の成果物・医療機関の診療データ・士業が扱う顧客情報は、そもそも",[31,7939,7940],{},"外部にアップロードしてはいけない契約","になっていることが多いです。この場合、ブラウザ内完結型またはローカルアプリ型しか選択肢がありません。",[11,7943,7945],{"id":7944},"ファイル処理ツールの-3-類型","ファイル処理ツールの 3 類型",[178,7947,7949],{"id":7948},"類型-a-アップロード型オンライン-saas","類型 A: アップロード型オンライン SaaS",[15,7951,7952],{},"ブラウザでアクセスしてファイルをアップロード、サーバー側で処理、結果をダウンロードする方式。",[25,7954,7955,7961,7967],{},[28,7956,7957,7960],{},[31,7958,7959],{},"強み",": 機能が豊富。UI が洗練されている。どの端末からでも同じ体験。",[28,7962,7963,7966],{},[31,7964,7965],{},"弱み",": 機密ファイルには使えない。通信遅延あり。",[28,7968,7969,7972],{},[31,7970,7971],{},"適する場面",": 公開済みの画像、共有して良いドキュメントの軽作業。",[178,7974,7976],{"id":7975},"類型-b-デスクトップアプリ","類型 B: デスクトップアプリ",[15,7978,7979],{},"PC にインストールして使うツール。商用アプリも OSS も含みます。",[25,7981,7982,7987,7992],{},[28,7983,7984,7986],{},[31,7985,7959],{},": ローカル完結で速い。機能が深い。複雑な処理に強い。",[28,7988,7989,7991],{},[31,7990,7965],{},": インストールと設定が必要。PC が変わると毎回セットアップ。",[28,7993,7994,7996],{},[31,7995,7971],{},": 日常的にヘビーユースする制作者・業務者。",[178,7998,8000],{"id":7999},"類型-c-ブラウザ内完結型-zerosend-が採用","類型 C: ブラウザ内完結型 (Zerosend が採用)",[15,8002,8003,8004,8007],{},"ブラウザでアクセスするが、ファイルはサーバーに送らず",[31,8005,8006],{},"ブラウザ内 JavaScript \u002F WebAssembly で処理","する方式。",[25,8009,8010,8015,8020],{},[28,8011,8012,8014],{},[31,8013,7959],{},": インストール不要。ローカル完結で送信ゼロ。すぐ使える。",[28,8016,8017,8019],{},[31,8018,7965],{},": 数 GB 級のファイルは苦手 (メモリ上限)。機能はアプリ型より浅い場合がある。",[28,8021,8022,8024],{},[31,8023,7971],{},": 機密ファイルを含む日常的な作業、受託案件、士業・医療の業務補助。",[11,8026,8028],{"id":8027},"類型別の強み弱み比較","類型別の強み・弱み比較",[762,8030,8031,8047],{},[765,8032,8033],{},[768,8034,8035,8038,8041,8044],{},[771,8036,8037],{},"観点",[771,8039,8040],{},"類型 A (SaaS)",[771,8042,8043],{},"類型 B (アプリ)",[771,8045,8046],{},"類型 C (ブラウザ内)",[778,8048,8049,8062,8075,8088,8102,8116,8129],{},[768,8050,8051,8054,8057,8060],{},[783,8052,8053],{},"インストール",[783,8055,8056],{},"不要",[783,8058,8059],{},"必要",[783,8061,8056],{},[768,8063,8064,8067,8070,8073],{},[783,8065,8066],{},"ネットワーク送信",[783,8068,8069],{},"あり (本体)",[783,8071,8072],{},"なし",[783,8074,8072],{},[768,8076,8077,8080,8083,8086],{},[783,8078,8079],{},"複数端末利用",[783,8081,8082],{},"容易",[783,8084,8085],{},"端末ごと設定",[783,8087,8082],{},[768,8089,8090,8093,8096,8099],{},[783,8091,8092],{},"速度",[783,8094,8095],{},"通信待ちあり",[783,8097,8098],{},"最速",[783,8100,8101],{},"端末性能次第",[768,8103,8104,8107,8110,8113],{},[783,8105,8106],{},"機能の深さ",[783,8108,8109],{},"深い",[783,8111,8112],{},"最も深い",[783,8114,8115],{},"中",[768,8117,8118,8121,8124,8127],{},[783,8119,8120],{},"機密データ適性",[783,8122,8123],{},"低",[783,8125,8126],{},"高",[783,8128,8126],{},[768,8130,8131,8134,8136,8138],{},[783,8132,8133],{},"大容量対応",[783,8135,8126],{},[783,8137,8126],{},[783,8139,8115],{},[11,8141,8142],{"id":8142},"カテゴリ別の選び方",[178,8144,8146],{"id":8145},"画像-圧縮-形式変換","画像 (圧縮 \u002F 形式変換)",[15,8148,8149,8150],{},"日常的な画像圧縮・リサイズ・形式変換はブラウザ内完結型で十分です。Photoshop 級の高度なレタッチはデスクトップアプリ型に軍配。 → ",[54,8151,8152],{"href":2028},"Zerosend 画像圧縮",[178,8154,8156],{"id":8155},"pdf-結合-分割-圧縮","PDF (結合 \u002F 分割 \u002F 圧縮)",[15,8158,8159,8160],{},"結合・分割・圧縮などの一般的な処理はブラウザ内完結型が機密データと両立しやすくおすすめです。高度な編集 (埋め込みフォント差し替えなど) はアプリ型が適しています。 → ",[54,8161,8162],{"href":3107},"Zerosend PDF 結合",[178,8164,8166],{"id":8165},"動画-音声","動画 \u002F 音声",[15,8168,8169,8170],{},"短い動画の圧縮・形式変換・トリミングはブラウザ内完結型で実用範囲です。長尺動画 (30 分以上) や 4K 素材の編集はデスクトップアプリ型が現実的。 → ",[54,8171,8172],{"href":1603},"Zerosend 動画圧縮",[178,8174,8176],{"id":8175},"qr-コード","QR コード",[15,8178,8179,8180,8183,8184],{},"生成・読み取りどちらもブラウザ内完結型で十分です。QR コードに個人情報が乗るケースもあるため、",[31,8181,8182],{},"生成時に入力したテキストが送信されないこと","は重要な要件です。 → ",[54,8185,8186],{"href":3934},"Zerosend QR 生成",[178,8188,6374],{"id":6374},[15,8190,8191,8192],{},"1 枚のロゴから一式を生成するタイプ。NDA 下の未公開ロゴ作成ではブラウザ内完結型が最適です。 → ",[54,8193,8194],{"href":4130},"Zerosend ファビコン生成",[11,8196,8197],{"id":8197},"自分の要件で判定するフローチャート",[182,8199,8200,8206,8212,8218],{},[28,8201,8202,8205],{},[31,8203,8204],{},"機密度が高い"," (顧客情報 \u002F 未公開素材 \u002F 医療データ) → 類型 B or C",[28,8207,8208,8211],{},[31,8209,8210],{},"複数端末・出先でも使いたい"," → 類型 C",[28,8213,8214,8217],{},[31,8215,8216],{},"数 GB の動画 \u002F 複雑な編集"," → 類型 B",[28,8219,8220,8223],{},[31,8221,8222],{},"軽作業のみ + 公開済みデータ"," → 類型 A でも可",[11,8225,8227],{"id":8226},"アップロードしていないの検証方法","「アップロードしていない」の検証方法",[15,8229,8230],{},"ブラウザ内完結型と主張しているツールが本当に送っていないかは、30 秒で検証できます。",[182,8232,8233,8236,8239,8242],{},[28,8234,8235],{},"ブラウザの DevTools を開く (右クリック → 検証)",[28,8237,8238],{},"Network タブに切り替え、「Preserve log」を有効化",[28,8240,8241],{},"ツールを実際に使ってファイルを処理してみる",[28,8243,8244,8245,8248],{},"表示される通信が CDN・解析・広告程度で、",[31,8246,8247],{},"処理対象ファイルを含むリクエストがない","ことを確認",[11,8250,70],{"id":70},[15,8252,8253,8254,8256],{},"ファイル処理ツールは「送るか送らないか」で選ぶ時代です。業務の機密度・使用頻度・扱うファイルサイズで 3 類型を使い分けるのが実務的です。日常的な軽作業かつ機密度が高い範囲では、",[31,8255,6153],{}," (Zerosend など) が最もバランスの良い選択肢です。",[15,8258,5507,8259,62,8262],{},[54,8260,8261],{"href":5514},"プライバシー重視のオンラインツール (ピラー)",[54,8263,8264],{"href":5549},"ブラウザ内でファイル処理はどこまでできるか",{"title":80,"searchDepth":81,"depth":81,"links":8266},[8267,8271,8276,8277,8284,8285,8286],{"id":7918,"depth":81,"text":7919,"children":8268},[8269,8270],{"id":7922,"depth":257,"text":7923},{"id":7933,"depth":257,"text":7934},{"id":7944,"depth":81,"text":7945,"children":8272},[8273,8274,8275],{"id":7948,"depth":257,"text":7949},{"id":7975,"depth":257,"text":7976},{"id":7999,"depth":257,"text":8000},{"id":8027,"depth":81,"text":8028},{"id":8142,"depth":81,"text":8142,"children":8278},[8279,8280,8281,8282,8283],{"id":8145,"depth":257,"text":8146},{"id":8155,"depth":257,"text":8156},{"id":8165,"depth":257,"text":8166},{"id":8175,"depth":257,"text":8176},{"id":6374,"depth":257,"text":6374},{"id":8197,"depth":81,"text":8197},{"id":8226,"depth":81,"text":8227},{"id":70,"depth":81,"text":70},"guide","ファイルをサーバーに預けずに処理したい時、どの方式を選ぶか。アップロード型・デスクトップ型・ブラウザ内完結型の 3 類型を、業務要件・UX・対応形式の観点で比較し、用途別の選び方を解説します。",{},"\u002Fblog\u002Fprivacy-tools-comparison",{"title":7910,"description":8288},"privacy-tools-comparison","blog\u002Fprivacy-tools-comparison",[269,8295],"比較","1u9MtR913FhIDCsCr-3EkjysE71wSOjGODw-WNT3_Yw",{"id":4,"title":5,"author":6,"body":8298,"category":87,"coverImage":87,"description":88,"draft":89,"extension":90,"locale":91,"meta":8344,"navigation":93,"noindex":93,"path":94,"publishedAt":95,"seo":8345,"slug":97,"stem":98,"tags":8346,"updatedAt":95,"__hash__":101},{"type":8,"value":8299,"toc":8338},[8300,8302,8304,8306,8308,8322,8324,8332,8334],[11,8301,13],{"id":13},[15,8303,17],{},[11,8305,20],{"id":20},[15,8307,23],{},[25,8309,8310,8314,8318],{},[28,8311,8312,34],{},[31,8313,33],{},[28,8315,8316,40],{},[31,8317,39],{},[28,8319,8320,46],{},[31,8321,45],{},[11,8323,49],{"id":49},[15,8325,52,8326,57,8328,62,8330,67],{},[54,8327,56],{"href":56},[54,8329,61],{"href":60},[54,8331,66],{"href":65},[11,8333,70],{"id":70},[15,8335,73,8336,78],{},[54,8337,77],{"href":76},{"title":80,"searchDepth":81,"depth":81,"links":8339},[8340,8341,8342,8343],{"id":13,"depth":81,"text":13},{"id":20,"depth":81,"text":20},{"id":49,"depth":81,"text":49},{"id":70,"depth":81,"text":70},{},{"title":5,"description":88},[100],{"id":8348,"title":5511,"author":6,"body":8349,"category":87,"coverImage":87,"description":8578,"draft":89,"extension":90,"locale":91,"meta":8579,"navigation":93,"noindex":89,"path":5510,"publishedAt":95,"seo":8580,"slug":8581,"stem":8582,"tags":8583,"updatedAt":95,"__hash__":8585},"blog\u002Fblog\u002Fwhy-browser-only.md",{"type":8,"value":8350,"toc":8568},[8351,8355,8358,8365,8368,8371,8397,8400,8403,8406,8433,8436,8440,8443,8470,8477,8480,8483,8503,8506,8508,8514,8520,8526,8528,8534,8536,8539,8561],[11,8352,8354],{"id":8353},"なぜ送らないのか","なぜ「送らない」のか",[15,8356,8357],{},"オンラインツールの多くはファイルをサーバーに送信して処理します。利便性は高いものの、ユーザーは自分のファイルがサーバー上でどう扱われるかを自分の目で確認できません。",[15,8359,8360,8361,8364],{},"Zerosend の設計原則はシンプルです。",[31,8362,8363],{},"「送らないのが一番確実」","。ファイルを外に出さなければ、ログも、漏洩も、第三者共有も原理的に存在しません。",[11,8366,8367],{"id":8367},"アップロード型ツールのリスク",[15,8369,8370],{},"「処理後に即削除」と書かれているツールを見かけますが、これを利用者側から検証する手段はほぼありません。サービス側のサーバーに一時的にでもファイルが到達する以上、次のようなリスクが残ります。",[25,8372,8373,8379,8385,8391],{},[28,8374,8375,8378],{},[31,8376,8377],{},"ログへの記録",": アクセスログにファイル名やメタデータが残る",[28,8380,8381,8384],{},[31,8382,8383],{},"従業員によるアクセス",": 内部ポリシーによってはサポート担当者などが参照できる",[28,8386,8387,8390],{},[31,8388,8389],{},"セキュリティインシデント",": サーバーが侵害された場合、処理待ちや一時保存中のファイルが漏洩する",[28,8392,8393,8396],{},[31,8394,8395],{},"利用規約の抜け穴",": AI 学習や品質改善目的での利用を広く許可していても、ユーザーは気付きにくい",[15,8398,8399],{},"業務文書・医療情報・個人の写真など、機密性の高いファイルを扱う場面では、この問題が深刻です。",[11,8401,8402],{"id":8402},"ブラウザ内処理で何ができるか",[15,8404,8405],{},"現代のブラウザは、かつてネイティブアプリが担っていた処理の多くを実行できます。",[25,8407,8408,8411,8414,8421],{},[28,8409,8410],{},"Canvas API による画像圧縮・リサイズ・形式変換",[28,8412,8413],{},"WebAssembly + ffmpeg による動画・音声の変換",[28,8415,8416,62,8418,8420],{},[289,8417,3019],{},[289,8419,3198],{}," による PDF の結合・分割・ラスタライズ",[28,8422,8423,62,8426,62,8429,8432],{},[289,8424,8425],{},"File System Access API",[289,8427,8428],{},"Blob",[289,8430,8431],{},"URL.createObjectURL"," を介したダウンロード",[15,8434,8435],{},"これらは全てクライアントサイドで完結します。インストール不要でブラウザを開くだけで使えるため、作業環境を選びません。",[11,8437,8439],{"id":8438},"devtools-で自分の目で確認する方法","DevTools で自分の目で確認する方法",[15,8441,8442],{},"「送っていません」という主張は、ユーザーが自分で確認できなければ信用するしかありません。Zerosend はブラウザ標準の DevTools で検証できる形にしています。",[182,8444,8445,8451,8456,8462,8467],{},[28,8446,8447,8450],{},[31,8448,8449],{},"F12 キーを押す"," (Mac は Cmd+Option+I) — DevTools が開く",[28,8452,8453],{},[31,8454,8455],{},"「Network」タブを選ぶ",[28,8457,8458,8461],{},[31,8459,8460],{},"「Fetch\u002FXHR」フィルターをオンにする"," — API 通信だけを絞り込む",[28,8463,8464],{},[31,8465,8466],{},"ツールにファイルをドロップして処理する",[28,8468,8469],{},"リストに表示される通信を確認。処理中に外部へのリクエストが起きないことを目視できる",[15,8471,8472,8473,8476],{},"CDN や解析スクリプトへの最小限の通信は残りますが、",[31,8474,8475],{},"処理対象のファイル自体が HTTP リクエストのボディに乗らない","ことは目視で確認できます。",[11,8478,8479],{"id":8479},"制約もある",[15,8481,8482],{},"ブラウザ内処理は万能ではありません。",[25,8484,8485,8491,8497],{},[28,8486,8487,8490],{},[31,8488,8489],{},"ファイルサイズの上限",": メモリに載る範囲で処理する必要がある",[28,8492,8493,8496],{},[31,8494,8495],{},"初回ロードが重い",": ffmpeg.wasm は約 30MB の WASM を取得する",[28,8498,8499,8502],{},[31,8500,8501],{},"複雑な処理はサーバーが速い",": 大規模な機械学習推論はまだブラウザには重い",[15,8504,8505],{},"Zerosend は「日常的な軽作業をブラウザで完結させる」範囲に絞ることで、この制約の中で価値を出しています。",[11,8507,1548],{"id":1548},[15,8509,8510,8513],{},[31,8511,8512],{},"Q. ブラウザ内処理でも履歴は残りますか？","\nA. ファイルデータはサーバーに送られません。ブラウザの閲覧履歴にはアクセスしたページの URL が残りますが、どの Web サービスでも同様です。ファイルの内容はブラウザのメモリ上で処理され、ページを閉じれば消えます。",[15,8515,8516,8519],{},[31,8517,8518],{},"Q. オフラインでも使えますか？","\nA. 画像系ツールはページ読み込み後ならオフラインでも動作します。ffmpeg.wasm を使う動画・音声系ツールは初回の WASM 取得にネットワークが必要ですが、取得後はオフラインで処理できます。",[15,8521,8522,8525],{},[31,8523,8524],{},"Q. スマートフォンでも動きますか？","\nA. Safari (iOS) \u002F Chrome (Android) の最新版で動作します。大きなファイルはスマートフォンのメモリ制限に引っかかる場合があります。",[11,8527,70],{"id":70},[15,8529,8530,8531,8533],{},"「送らない」は、透明性と検証可能性をユーザーに返す設計です。詳しい技術背景は ",[54,8532,5515],{"href":5514}," も参照してください。",[11,8535,1575],{"id":1575},[15,8537,8538],{},"Zerosend では画像・動画・音声・PDF の処理をすべてブラウザ内で完結するツールを提供しています。",[25,8540,8541,8546,8551,8556],{},[28,8542,8543,8545],{},[54,8544,2029],{"href":2028}," — 写真や画像をサーバーに送らず軽量化",[28,8547,8548,8550],{},[54,8549,1597],{"href":1596}," — 会議録画や旅行動画を安全にカット",[28,8552,8553,8555],{},[54,8554,3108],{"href":3107}," — 機密文書を手元だけで結合",[28,8557,8558,8560],{},[54,8559,4114],{"href":4113}," — スキャン結果もローカル処理",[15,8562,8563,8564,8567],{},"全ツール一覧は ",[54,8565,8566],{"href":76},"トップページ"," で確認できます。",{"title":80,"searchDepth":81,"depth":81,"links":8569},[8570,8571,8572,8573,8574,8575,8576,8577],{"id":8353,"depth":81,"text":8354},{"id":8367,"depth":81,"text":8367},{"id":8402,"depth":81,"text":8402},{"id":8438,"depth":81,"text":8439},{"id":8479,"depth":81,"text":8479},{"id":1548,"depth":81,"text":1548},{"id":70,"depth":81,"text":70},{"id":1575,"depth":81,"text":1575},"ファイルをサーバーにアップロードしない設計を選んだ理由と、ブラウザ内処理の利点・制約を整理します。DevTools の Network タブで自ら検証できる透明性について書きました。",{},{"title":5511,"description":8578},"why-browser-only","blog\u002Fwhy-browser-only",[269,8584],"設計","tlDh92SJcdqfwID_vZe6xWmz2EJFDwYIL0qkVDzZZvk",1778757802310]