[{"data":1,"prerenderedAt":1718},["ShallowReactive",2],{"blog-tag-ja-browser":3},[4,391,694,1412],{"id":5,"title":6,"author":7,"body":8,"category":372,"coverImage":373,"description":374,"draft":375,"extension":376,"locale":377,"meta":378,"navigation":379,"noindex":375,"path":380,"publishedAt":381,"seo":382,"slug":383,"stem":384,"tags":385,"updatedAt":381,"__hash__":390},"blog\u002Fblog\u002Fmp3-cut-trim-online.md","MP3をオンラインで無料カット・トリミングする方法【ブラウザ完結】","Zerosend Editorial",{"type":9,"value":10,"toc":356},"minimark",[11,16,20,28,31,34,38,41,140,143,147,160,167,169,172,185,188,195,204,206,210,217,220,250,255,258,278,281,283,287,293,299,305,311,317,319,322,325,353],[12,13,15],"h2",{"id":14},"mp3のカットトリミングでよくある悩み","MP3のカット・トリミングでよくある悩み",[17,18,19],"p",{},"「BGM の冒頭だけ切り出したい」「録音ファイルの余白を削りたい」――MP3 をちょっとだけ編集したいだけなのに、専用ソフトをインストールするのは手間がかかる。そう感じてオンラインツールを検索した経験がある人は多いだろう。",[17,21,22,23,27],{},"ところが、オンラインの音声編集ツールには見落とされがちなリスクがある。",[24,25,26],"strong",{},"ファイルをサーバーにアップロードする仕組みになっているツールが大半","で、会議の録音・社内ナレーション・未公開の音楽素材といった機密性の高いデータを扱う場合は注意が必要だ。利用規約によっては、アップロードされたファイルがサービス改善に使われる可能性もゼロではない。",[17,29,30],{},"この記事では、まず一般的なトリミング方法を整理し、その後にプライバシーリスクを抑えられる選択肢を紹介する。",[32,33],"hr",{},[12,35,37],{"id":36},"オンラインmp3カットの主な方法と比較","オンラインMP3カットの主な方法と比較",[17,39,40],{},"現在よく使われるオンライン音声トリミングツールを整理すると、大きく「サーバー処理型」と「ブラウザ処理型」の2種類に分かれる。",[42,43,44,66],"table",{},[45,46,47],"thead",{},[48,49,50,54,57,60,63],"tr",{},[51,52,53],"th",{},"ツール",[51,55,56],{},"処理場所",[51,58,59],{},"無料利用",[51,61,62],{},"ファイルサイズ上限",[51,64,65],{},"アカウント不要",[67,68,69,87,102,117],"tbody",{},[48,70,71,75,78,81,84],{},[72,73,74],"td",{},"Clideo",[72,76,77],{},"サーバー",[72,79,80],{},"一部無料（透かし付き）",[72,82,83],{},"500 MB",[72,85,86],{},"△（ログイン推奨）",[48,88,89,92,94,97,99],{},[72,90,91],{},"mp3cut.net",[72,93,77],{},[72,95,96],{},"無料",[72,98,83],{},[72,100,101],{},"○",[48,103,104,107,110,112,115],{},[72,105,106],{},"Audacity（Desktop）",[72,108,109],{},"ローカル",[72,111,96],{},[72,113,114],{},"制限なし",[72,116,101],{},[48,118,119,129,132,135,138],{},[72,120,121,128],{},[122,123,127],"a",{"href":124,"rel":125},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Faudio-trim",[126],"nofollow","音声トリミングツール","（zerosend）",[72,130,131],{},"ブラウザ内",[72,133,134],{},"完全無料",[72,136,137],{},"ブラウザメモリ依存",[72,139,101],{},[17,141,142],{},"サーバー処理型はインターフェースが洗練されていることが多く、手軽に使える反面、ファイルが外部に送信される点は変わらない。デスクトップ版 Audacity はローカル処理で信頼性が高いが、インストールと学習コストがかかる。",[144,145,146],"h3",{"id":146},"サーバー処理型ツールを使う際のチェックポイント",[148,149,150,154,157],"ul",{},[151,152,153],"li",{},"プライバシーポリシーに「ファイルの保存期間」が明記されているか",[151,155,156],{},"HTTPS 通信が確保されているか",[151,158,159],{},"無料プランに透かし（ウォーターマーク）が入らないか",[17,161,162,163,166],{},"一般的な音楽素材やポッドキャストの編集であれば、サーバー処理型でも大きな問題はない。ただし、",[24,164,165],{},"業務上の音声データや個人情報を含むファイルは慎重に扱う必要がある","。",[32,168],{},[12,170,171],{"id":171},"ブラウザ内だけで完結するトリミングの仕組み",[17,173,174,175,180,181,184],{},"近年、",[122,176,179],{"href":177,"rel":178},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fja\u002Fdocs\u002FWebAssembly",[126],"WebAssembly（WASM）"," の普及により、従来はサーバーサイドでしか動かせなかった重い処理をブラウザ内で実行できるようになった。ffmpeg を WebAssembly にコンパイルした ",[24,182,183],{},"ffmpeg.wasm"," を使えば、MP3 のカット・変換・エンコードをすべてクライアント側で処理できる。",[17,186,187],{},"この仕組みを採用したツールでは、ファイルがネットワーク経由でどこかのサーバーに送られることはない。ブラウザの開発者ツール（DevTools）の「Network」タブを開きながら処理を実行しても、音声ファイルのアップロードリクエストが発生しないことで確認できる。",[17,189,190],{},[191,192],"img",{"alt":193,"src":194},"スクショ: DevTools の Network タブでアップロードリクエストが0件であることを確認","TODO-screenshot",[17,196,197,198,203],{},"WebAssembly の仕様については ",[122,199,202],{"href":200,"rel":201},"https:\u002F\u002Fwww.w3.org\u002FTR\u002Fwasm-core-2\u002F",[126],"W3C の公式ドキュメント"," でも詳しく解説されている。",[32,205],{},[12,207,209],{"id":208},"zerosend-の音声トリミングツールを使った手順","zerosend の音声トリミングツールを使った手順",[17,211,212,213,216],{},"zerosend が提供する",[122,214,127],{"href":124,"rel":215},[126],"は、ffmpeg.wasm を使ったブラウザ内処理型のツールだ。登録不要・完全無料で利用できる。",[144,218,219],{"id":219},"基本的な操作手順",[221,222,223,232,238,244],"ol",{},[151,224,225,228,231],{},[24,226,227],{},"ページを開く",[229,230,124],"code",{}," にアクセスする。初回はWASMのロードに数秒かかる場合がある。",[151,233,234,237],{},[24,235,236],{},"ファイルを選択する","\n「ファイルを選択」ボタンをクリックするか、MP3ファイルをドラッグ＆ドロップする。対応フォーマットはMP3のほかWAV・M4Aなど主要な音声形式。",[151,239,240,243],{},[24,241,242],{},"トリミング範囲を指定する","\n波形ビューア上でスタート位置とエンド位置をドラッグして設定する。秒数を直接入力することも可能。",[151,245,246,249],{},[24,247,248],{},"処理を実行・ダウンロードする","\n「トリミング」ボタンをクリックすると、ブラウザ内で処理が始まる。完了後にダウンロードボタンが表示され、ファイルをローカルに保存できる。",[17,251,252],{},[191,253],{"alt":254,"src":194},"スクショ: 音声トリミングツールの波形ビューアとトリミング操作画面",[144,256,257],{"id":257},"向いているユースケース",[148,259,260,266,272],{},[151,261,262,265],{},[24,263,264],{},"会議・インタビュー録音の必要部分だけ切り出し",": ファイルを外部に出せない業務シーンに適している。",[151,267,268,271],{},[24,269,270],{},"ポッドキャスト・動画用BGMの尺合わせ",": 曲の前後の無音部分を削るだけなら数十秒で完結する。",[151,273,274,277],{},[24,275,276],{},"SE・効果音の素材トリミング",": ゲーム開発や動画編集で使う短いクリップを切り出す用途にも対応。",[17,279,280],{},"処理後のファイルはブラウザのメモリ上にのみ存在し、ダウンロード後にページを閉じれば痕跡は残らない。",[32,282],{},[12,284,286],{"id":285},"よくある質問faq","よくある質問（FAQ）",[17,288,289,292],{},[24,290,291],{},"Q1. 無料で使える容量・回数に制限はあるか？","\nzerosend の音声トリミングツールに回数制限はない。ただし、処理できるファイルサイズはブラウザに割り当てられたメモリに依存するため、数百MB を超える長時間録音ファイルは分割してから処理するとよい。",[17,294,295,298],{},[24,296,297],{},"Q2. MP3以外の形式（WAV、AAC、M4A）にも対応しているか？","\nffmpeg.wasm ベースのため、WAV・M4A・OGG など主要な音声フォーマットに対応している。出力フォーマットもMP3で書き出せる。",[17,300,301,304],{},[24,302,303],{},"Q3. オフラインでも使えるか？","\nzerosend は Service Worker によるキャッシュを実装しており、初回ロード後はオフライン環境でも動作する。社内ネットワークが不安定な環境でも利用しやすい。",[17,306,307,310],{},[24,308,309],{},"Q4. スマートフォンのブラウザでも動くか？","\nChrome・Safari の最新版であれば iOS・Android でも動作する。ただし、モバイル端末はメモリ制約が厳しいため、大きなファイルを扱う場合はPCでの利用を推奨する。",[17,312,313,316],{},[24,314,315],{},"Q5. トリミング後のファイルが本当にサーバーに送られていないか確認する方法は？","\nChrome DevTools を開き（F12）、「Network」タブを選択した状態でトリミングを実行する。音声ファイルに対するPOSTリクエストが発生しなければ、ブラウザ内処理のみで完了していることを確認できる。",[32,318],{},[12,320,321],{"id":321},"まとめ",[17,323,324],{},"MP3 のカット・トリミングをオンラインで行う方法は複数存在するが、ファイルの機密性や用途によって適切なツールは異なる。",[148,326,327,337,347],{},[151,328,329,332,333,336],{},[24,330,331],{},"手軽さ優先"," かつ ",[24,334,335],{},"一般的なコンテンツ"," → mp3cut.net などサーバー処理型",[151,338,339,342,343,346],{},[24,340,341],{},"プライバシー重視"," または ",[24,344,345],{},"業務データを扱う"," → ブラウザ内処理型を選ぶ",[151,348,349,352],{},[24,350,351],{},"高度な編集が必要"," → Audacity などデスクトップソフト",[17,354,355],{},"ブラウザ内処理型は WebAssembly の普及で実用レベルに達しており、登録不要・無料で使える選択肢が増えている。用途に合ったツールを選ぶ際の判断基準として、「ファイルの送信先はどこか」という視点を持っておくと、意図しないデータ漏洩リスクを減らせる。",{"title":357,"searchDepth":358,"depth":358,"links":359},"",2,[360,361,365,366,370,371],{"id":14,"depth":358,"text":15},{"id":36,"depth":358,"text":37,"children":362},[363],{"id":146,"depth":364,"text":146},3,{"id":171,"depth":358,"text":171},{"id":208,"depth":358,"text":209,"children":367},[368,369],{"id":219,"depth":364,"text":219},{"id":257,"depth":364,"text":257},{"id":285,"depth":358,"text":286},{"id":321,"depth":358,"text":321},"tech",null,"MP3のカット・トリミングをオンラインで無料で行う方法を解説。サーバーに送信しないブラウザ内処理ツールの使い方や注意点も紹介。",false,"md","ja",{},true,"\u002Fblog\u002Fmp3-cut-trim-online","2026-06-02",{"title":6,"description":374},"mp3-cut-trim-online","blog\u002Fmp3-cut-trim-online",[386,387,388,389],"音声","トリミング","プライバシー","ブラウザ","LJyRsY9FYZFVe9DalfHvQape4NKw5YAKwHFVNKxdGqA",{"id":392,"title":393,"author":7,"body":394,"category":372,"coverImage":373,"description":684,"draft":375,"extension":376,"locale":377,"meta":685,"navigation":379,"noindex":375,"path":686,"publishedAt":687,"seo":688,"slug":689,"stem":690,"tags":691,"updatedAt":687,"__hash__":693},"blog\u002Fblog\u002Fqr-code-wifi-share.md","QRコードでWiFiを共有する方法｜ゲスト用パスワード入力なしで快適に",{"type":9,"value":395,"toc":667},[396,400,403,406,409,411,415,424,427,430,438,442,445,447,451,454,457,460,463,466,556,558,562,570,573,578,584,589,594,597,602,605,610,615,618,621,624,626,629,634,637,642,645,650,653,655,657,660],[12,397,399],{"id":398},"wifiパスワードをqrコードで共有するメリット","WiFiパスワードをQRコードで共有するメリット",[17,401,402],{},"カフェや会議室、自宅にゲストを招いたとき、WiFiのパスワードを口頭で伝えるのは想像以上に手間がかかる。大文字・小文字・記号が混在した複雑なパスワードを読み上げて、相手が入力ミスをして、また最初からやり直す――このやり取りを経験したことがある人は多いはずだ。",[17,404,405],{},"QRコードを使えばこの問題をほぼ解消できる。スマートフォンのカメラアプリやQRリーダーでコードを読み取るだけで、パスワードの入力なしにWiFiへ接続できる。特にAndroid 10以降・iOS 14以降のデバイスは、カメラアプリが標準でWiFi用QRコードを認識し、ワンタップで接続を完了する。",[17,407,408],{},"ビジネスシーンでは、受付やロビーにQRコードを印刷して掲示しておくだけで、訪問者対応の工数を大幅に削減できる。飲食店なら卓上POPに、ホテルなら客室カードに印刷すれば、スタッフへの問い合わせも減る。",[32,410],{},[12,412,414],{"id":413},"wifi共有用qrコードの仕組み","WiFi共有用QRコードの仕組み",[17,416,417,418,423],{},"WiFi情報をQRコードに埋め込むには、決まったフォーマットに従ってデータを構造化する必要がある。このフォーマットはZXing（ zebra crossing）プロジェクトが策定したもので、現在はAndroid・iOSともに標準対応している（参考: ",[122,419,422],{"href":420,"rel":421},"https:\u002F\u002Fgithub.com\u002Fzxing\u002Fzxing\u002Fwiki\u002FBarcode-Contents#wi-fi-network-config-android",[126],"ZXing wiki – WIFI","）。",[17,425,426],{},"構造としては、SSIDと呼ばれるネットワーク名、パスワード、暗号化方式（WPA\u002FWPA2 または WEP、またはパスワードなし）を一定のルールで文字列化し、QRコードに変換する。",[144,428,429],{"id":429},"暗号化方式の選び方",[17,431,432,433,423],{},"現在ほとんどの家庭用・業務用ルーターはWPA2またはWPA3を採用している。QRコード生成時には「WPA」を選択すれば問題ない。古い機器との互換性のためにWEPを使っているネットワークはセキュリティ上のリスクがあり、Wi-Fi Allianceもすでに非推奨としている（参考: ",[122,434,437],{"href":435,"rel":436},"https:\u002F\u002Fwww.wi-fi.org\u002Fdiscover-wi-fi\u002Fsecurity",[126],"Wi-Fi Alliance – Security",[144,439,441],{"id":440},"ssidやパスワードに記号が含まれる場合","SSIDやパスワードに記号が含まれる場合",[17,443,444],{},"SSID・パスワードにバックスラッシュ、セミコロン、コロン、ダブルクォートが含まれる場合、それぞれバックスラッシュでエスケープが必要になる。手動で文字列を組み立てるとこのエスケープ漏れがよくある失敗ポイントだ。ツールを使えばこの処理は自動化される。",[32,446],{},[12,448,450],{"id":449},"手動で作る方法とツールを使う方法の比較","手動で作る方法と、ツールを使う方法の比較",[17,452,453],{},"QRコードを生成する手段は大きく2つある。「コードを自分で書く方法」と「ブラウザツールを使う方法」だ。",[144,455,456],{"id":456},"手動で作成する場合",[17,458,459],{},"PythonのライブラリであるqrcodeパッケージやJavaScriptのqrcode.jsを使えば、フォーマット文字列を自分で組み立ててQRコードを生成できる。開発者向けの選択肢だが、記号のエスケープ処理や出力フォーマット（PNG\u002FSVG）の指定など、コーディング知識が前提となる。",[144,461,462],{"id":462},"ブラウザツールを使う場合",[17,464,465],{},"ノーコードで即座に作成したい場合は、ブラウザで動作するQRコード生成ツールが便利だ。ただしツールによっては、入力したSSIDやパスワードをサーバーに送信するものもある。ネットワーク認証情報を外部サーバーに送ることはセキュリティ上のリスクになり得るため、ツール選定には注意が必要だ。",[42,467,468,484],{},[45,469,470],{},[48,471,472,475,478,481],{},[51,473,474],{},"比較項目",[51,476,477],{},"手動（コーディング）",[51,479,480],{},"オンラインツール（一般）",[51,482,483],{},"zerosend QRコード生成ツール",[67,485,486,499,515,528,542],{},[48,487,488,491,494,497],{},[72,489,490],{},"必要なスキル",[72,492,493],{},"プログラミング知識",[72,495,496],{},"不要",[72,498,496],{},[48,500,501,504,507,510],{},[72,502,503],{},"SSIDの送信先サーバー",[72,505,506],{},"なし（ローカル実行）",[72,508,509],{},"サーバーに送信される場合あり",[72,511,512],{},[24,513,514],{},"送信なし（ブラウザ内完結）",[48,516,517,519,522,525],{},[72,518,96],{},[72,520,521],{},"無料（環境構築が必要）",[72,523,524],{},"多くは無料（広告あり）",[72,526,527],{},"完全無料・広告なし",[48,529,530,533,536,539],{},[72,531,532],{},"オフライン利用",[72,534,535],{},"可能",[72,537,538],{},"不可",[72,540,541],{},"可能（初回ロード後）",[48,543,544,547,550,553],{},[72,545,546],{},"出力形式",[72,548,549],{},"PNG\u002FSVG（要設定）",[72,551,552],{},"PNG が多い",[72,554,555],{},"PNG\u002FSVG",[32,557],{},[12,559,561],{"id":560},"zerosend-の-qrコード生成ツールで作成する手順","zerosend の QRコード生成ツールで作成する手順",[17,563,564,569],{},[122,565,568],{"href":566,"rel":567},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fqr-create",[126],"QR コード生成ツール"," はWiFi共有用のQRコードを含め、URL・テキスト・連絡先など複数の種類に対応している。入力した情報はブラウザ内だけで処理され、外部サーバーには一切送信されない。DevToolsのNetworkタブを開いた状態で操作すれば、通信が発生していないことを自分で確認できる。",[144,571,572],{"id":572},"手順",[17,574,575],{},[24,576,577],{},"Step 1: ツールを開く",[17,579,580,583],{},[122,581,566],{"href":566,"rel":582},[126]," にアクセスする。登録や会員登録は不要で、即時利用できる。",[17,585,586],{},[191,587],{"alt":588,"src":194},"スクショ: トップ画面のQRコード種別選択UI",[17,590,591],{},[24,592,593],{},"Step 2: 種別として「WiFi」を選択する",[17,595,596],{},"生成タイプの選択肢からWiFiを選ぶ。SSID（ネットワーク名）、パスワード、暗号化方式（WPA\u002FWEP\u002Fなし）の入力フォームが表示される。",[17,598,599],{},[24,600,601],{},"Step 3: ネットワーク情報を入力する",[17,603,604],{},"SSIDとパスワードを入力し、暗号化方式を選択する。SSIDが非公開（ステルスSSID）の場合は、該当チェックボックスをオンにする。",[17,606,607],{},[191,608],{"alt":609,"src":194},"スクショ: WiFi情報入力フォームの記入例",[17,611,612],{},[24,613,614],{},"Step 4: QRコードを生成・ダウンロードする",[17,616,617],{},"「生成」ボタンを押すとQRコードがリアルタイムで表示される。PNG形式でダウンロードし、印刷物やデジタルサイネージに使用する。",[144,619,620],{"id":620},"印刷時のポイント",[17,622,623],{},"QRコードは最低2cm × 2cm以上のサイズで印刷すると読み取りやすくなる。周囲に白い余白（クワイエットゾーン）をコードサイズの10%以上確保することも重要だ。SVG形式でダウンロードすれば、拡大印刷してもピクセルが粗くならない。",[32,625],{},[12,627,628],{"id":628},"よくある失敗と対処法",[17,630,631],{},[24,632,633],{},"読み取りができない場合",[17,635,636],{},"暗号化方式がルーターの設定と一致していない可能性がある。ルーターの管理画面（多くは192.168.1.1または192.168.0.1）でセキュリティ方式を確認し、QRコードの設定と合わせる。",[17,638,639],{},[24,640,641],{},"SSIDに日本語が含まれる場合",[17,643,644],{},"日本語SSIDは原則動作するが、一部の古い端末では認識されないことがある。可能であればSSIDを英数字に変更するか、接続が確認できた端末でのみ使用を限定する。",[17,646,647],{},[24,648,649],{},"ゲスト用ネットワークを分けるべき理由",[17,651,652],{},"業務用ネットワークのパスワードをQRコードで共有するのは避けたほうがよい。QRコードは複製されやすいため、ゲスト用の独立したSSIDを別途用意し、そちらのパスワードをQRコード化するのが適切な運用だ。多くのルーターはゲストネットワーク機能を標準搭載している。",[32,654],{},[12,656,321],{"id":321},[17,658,659],{},"QRコードによるWiFi共有は、技術的な難しさはなく、適切なツールを使えば数分で完成する。作成時の主な注意点は「暗号化方式をルーター設定と一致させる」「SSIDの特殊文字をエスケープする（ツールなら自動処理）」「業務用ネットワークは共有しない」の3点だ。",[17,661,662,663,666],{},"ツールを選ぶ際は、ネットワーク認証情報をサーバーに送信しないかどうかを確認することを推奨する。",[122,664,568],{"href":566,"rel":665},[126]," はその要件を満たす選択肢の一つとして参考にしてほしい。",{"title":357,"searchDepth":358,"depth":358,"links":668},[669,670,674,678,682,683],{"id":398,"depth":358,"text":399},{"id":413,"depth":358,"text":414,"children":671},[672,673],{"id":429,"depth":364,"text":429},{"id":440,"depth":364,"text":441},{"id":449,"depth":358,"text":450,"children":675},[676,677],{"id":456,"depth":364,"text":456},{"id":462,"depth":364,"text":462},{"id":560,"depth":358,"text":561,"children":679},[680,681],{"id":572,"depth":364,"text":572},{"id":620,"depth":364,"text":620},{"id":628,"depth":358,"text":628},{"id":321,"depth":358,"text":321},"QRコードを使ってWiFiパスワードをスマートに共有する手順を解説。カフェ・オフィス・自宅でも使えるブラウザ完結の無料ツールも紹介。",{},"\u002Fblog\u002Fqr-code-wifi-share","2026-05-27",{"title":393,"description":684},"qr-code-wifi-share","blog\u002Fqr-code-wifi-share",[53,389,388,692],"業務","mqDcT2SdIonyJZaZTV6hp9fIpZ3hMuCjiGeFku3Ojx0",{"id":695,"title":696,"author":7,"body":697,"category":372,"coverImage":373,"description":1401,"draft":375,"extension":376,"locale":377,"meta":1402,"navigation":379,"noindex":375,"path":1403,"publishedAt":1404,"seo":1405,"slug":1406,"stem":1407,"tags":1408,"updatedAt":1410,"__hash__":1411},"blog\u002Fblog\u002Fpdf-email-compress.md","PDFがメールで送れない時の圧縮方法｜サーバー送信なしで安全にサイズを減らす",{"type":9,"value":698,"toc":1363},[699,702,704,708,711,714,759,762,766,769,789,792,795,798,811,814,816,820,823,826,852,860,863,901,904,908,911,913,917,920,923,926,930,1037,1040,1042,1046,1050,1059,1079,1092,1096,1102,1106,1109,1113,1163,1166,1170,1173,1177,1180,1208,1211,1214,1217,1219,1222,1225,1229,1238,1241,1244,1247,1250,1270,1273,1275,1277,1281,1284,1288,1291,1295,1298,1302,1305,1309,1312,1314,1316,1319,1355],[17,700,701],{},"PDFをメールに添付しようとして「ファイルサイズが大きすぎます」と弾かれる場面は、ビジネス文書を扱う人なら一度は経験する。上限を超えたとき、真っ先に試すべきなのは圧縮だ。ただし「どのツールを使うか」という選択には、ファイルサイズ削減の効果だけでなく、データのプライバシーという観点が絡んでくる。本記事では、PDF圧縮の仕組みから主要ツールのプライバシー比較、ブラウザ内処理で完結するツールの具体的な操作手順まで、実務で即使える情報を体系的に解説する。",[32,703],{},[12,705,707],{"id":706},"pdfをメールに添付できない本当の理由","PDFをメールに添付できない本当の理由",[144,709,710],{"id":710},"主要メールサービスの添付上限",[17,712,713],{},"メールの添付ファイルに上限があることは広く知られているが、その数値は意外と小さい。",[42,715,716,726],{},[45,717,718],{},[48,719,720,723],{},[51,721,722],{},"サービス",[51,724,725],{},"添付上限の目安",[67,727,728,736,744,751],{},[48,729,730,733],{},[72,731,732],{},"Gmail",[72,734,735],{},"25 MB",[48,737,738,741],{},[72,739,740],{},"Outlook \u002F Hotmail",[72,742,743],{},"20 MB",[48,745,746,749],{},[72,747,748],{},"Yahoo! メール",[72,750,735],{},[48,752,753,756],{},[72,754,755],{},"社内メールサーバー（一般的な設定）",[72,757,758],{},"5〜10 MB",[17,760,761],{},"社内メールサーバーは管理者が上限を独自に設定しているケースが多く、5 MB以下に制限されている環境も珍しくない。送信側が25 MBのGmailで送っても、受信側が10 MB制限のサーバーだと弾かれる。",[144,763,765],{"id":764},"重くなりやすいpdfの特徴","重くなりやすいPDFの特徴",[17,767,768],{},"PDF自体がフォーマットとして重いわけではない。問題になるのはほぼ例外なく「埋め込み画像」だ。以下の条件が重なると数十MBになる。",[148,770,771,777,783],{},[151,772,773,776],{},[24,774,775],{},"カラースキャン＋300 dpi以上","：契約書をスキャナで取り込む際にデフォルト設定のまま使うと発生しやすい",[151,778,779,782],{},[24,780,781],{},"高解像度の写真・図版を多数挿入","：プレゼン資料やカタログPDFに多い",[151,784,785,788],{},[24,786,787],{},"複数スキャン画像を結合","：ページごとにスキャン画像が丸ごと埋め込まれる",[17,790,791],{},"テキストのみで構成されたPDFはそもそもデータ量が少なく、10ページ程度であれば1 MB未満に収まることが大半だ。",[144,793,794],{"id":794},"対策の選択肢を整理する",[17,796,797],{},"上限超えを解消するための主な手段は3つある。",[221,799,800,805,808],{},[151,801,802],{},[24,803,804],{},"圧縮してサイズを小さくする",[151,806,807],{},"Google Drive・OneDrive などクラウドストレージのリンクをメール本文に貼る",[151,809,810],{},"WeTransfer などのファイル転送サービスを使う",[17,812,813],{},"「すぐに・追加サービス登録なしで・安全に」完結するのが圧縮だ。クラウドストレージやファイル転送は機密文書を別サービスに預ける手間とリスクが発生する。ただし圧縮ツールの選び方を誤ると、それ自体が情報漏洩のリスクになりうる。この点は後述する比較表で詳しく解説する。",[32,815],{},[12,817,819],{"id":818},"pdf圧縮の仕組みと削減率の目安","PDF圧縮の仕組みと削減率の目安",[144,821,822],{"id":822},"圧縮ツールが実際に何をしているか",[17,824,825],{},"「圧縮」という言葉は漠然としているが、PDFの場合は主に以下の処理を指す。",[148,827,828,834,840,846],{},[151,829,830,833],{},[24,831,832],{},"画像の再エンコード","：埋め込みPNGをJPEGに変換したり、JPEG品質係数を下げたりする",[151,835,836,839],{},[24,837,838],{},"解像度のダウンサンプリング","：300 dpi → 150 dpi など、目的に応じた解像度へ変換する",[151,841,842,845],{},[24,843,844],{},"埋め込みフォントのサブセット化","：文書内で実際に使われている文字のみを残し、フォントデータ全体を削る",[151,847,848,851],{},[24,849,850],{},"不要メタデータの除去","：作成ソフトのバージョン情報、サムネイルキャッシュ、コメント履歴などを取り除く",[17,853,854,859],{},[122,855,858],{"href":856,"rel":857},"https:\u002F\u002Fwww.iso.org\u002Fstandard\u002F75839.html",[126],"PDF仕様はISO 32000-2として標準化されており","、画像ストリームの格納方式が規定されている。圧縮ツールはこの仕様に沿ってバイナリを書き換えることでサイズを削減する。",[144,861,862],{"id":862},"どのくらい軽くなるか",[42,864,865,875],{},[45,866,867],{},[48,868,869,872],{},[51,870,871],{},"元のファイルの種類",[51,873,874],{},"想定される削減率",[67,876,877,885,893],{},[48,878,879,882],{},[72,880,881],{},"カラースキャン（300 dpi以上）",[72,883,884],{},"50〜80%",[48,886,887,890],{},[72,888,889],{},"図版・グラフを含む資料",[72,891,892],{},"30〜60%",[48,894,895,898],{},[72,896,897],{},"テキストのみ",[72,899,900],{},"5〜15% 程度",[17,902,903],{},"20 MBのカラースキャン書類であれば、設定次第で4〜10 MB台まで落とせる計算になる。Gmail の25 MB上限を狙うなら、「中」程度の品質設定でほとんどのケースをカバーできる。",[144,905,907],{"id":906},"注意点テキストと画像は別処理","注意点：テキストと画像は別処理",[17,909,910],{},"圧縮で影響を受けるのは埋め込み画像のみで、テキストデータはそのまま保持される。フォントのサブセット化によってテキストが文字化けしたり消えたりすることはない。品質設定が「低（最高圧縮）」であっても、文字の読み取りには影響しない。",[32,912],{},[12,914,916],{"id":915},"主要pdf圧縮ツールのプライバシー比較","主要PDF圧縮ツールのプライバシー比較",[144,918,919],{"id":919},"サーバー送信の有無が最重要指標",[17,921,922],{},"PDF圧縮ツールを選ぶ際、見落とされがちなのが「ファイルがどこで処理されるか」だ。多くのオンラインツールは、PDFを外部クラウドサーバーへアップロードしてから処理を行う仕組みをとっている。「アップロード後1時間で削除」「TLS通信で暗号化」といった記載があっても、処理の瞬間にサーバー上にファイルが存在することは変わらない。",[17,924,925],{},"契約書・請求書・個人情報・未公開の事業計画書など、機密性の高い文書を日常的に扱う場合、このリスクは無視できない。",[144,927,929],{"id":928},"比較表送信先サーバーを軸に評価","比較表：送信先サーバーを軸に評価",[42,931,932,949],{},[45,933,934],{},[48,935,936,938,940,943,946],{},[51,937,53],{},[51,939,56],{},[51,941,942],{},"送信先サーバー",[51,944,945],{},"料金",[51,947,948],{},"アカウント登録",[67,950,951,968,983,998,1012],{},[48,952,953,956,959,962,965],{},[72,954,955],{},"Smallpdf",[72,957,958],{},"クラウド",[72,960,961],{},"Smallpdf社サーバー（スイス）",[72,963,964],{},"無料枠あり（1日2件制限）",[72,966,967],{},"無料登録あり",[48,969,970,973,975,978,981],{},[72,971,972],{},"iLovePDF",[72,974,958],{},[72,976,977],{},"iLovePDF社サーバー（スペイン）",[72,979,980],{},"無料枠あり",[72,982,967],{},[48,984,985,988,990,993,995],{},[72,986,987],{},"Adobe Acrobat オンライン",[72,989,958],{},[72,991,992],{},"Adobe社サーバー（米国）",[72,994,980],{},[72,996,997],{},"Adobe ID必須",[48,999,1000,1003,1005,1008,1010],{},[72,1001,1002],{},"PDF24",[72,1004,958],{},[72,1006,1007],{},"PDF24社サーバー（ドイツ）",[72,1009,96],{},[72,1011,496],{},[48,1013,1014,1019,1024,1029,1033],{},[72,1015,1016],{},[24,1017,1018],{},"zerosend（PDF圧縮）",[72,1020,1021],{},[24,1022,1023],{},"ブラウザ内（ローカル）",[72,1025,1026],{},[24,1027,1028],{},"なし（ゼロ送信）",[72,1030,1031],{},[24,1032,134],{},[72,1034,1035],{},[24,1036,496],{},[17,1038,1039],{},"Smallpdf・iLovePDF・Adobe Acrobat オンラインはいずれも広く使われている信頼性の高いサービスだが、処理の核心部はサーバー側で実行される。利用規約上のデータ取り扱いポリシーを確認する手間をかけたくない場合、あるいはポリシーを読んでもなおサーバー送信を避けたい場合は、ブラウザ内処理型が合理的な選択肢となる。",[32,1041],{},[12,1043,1045],{"id":1044},"zerosenedでpdfを圧縮する手順実践ガイド","zerosenedでPDFを圧縮する手順（実践ガイド）",[144,1047,1049],{"id":1048},"使用技術の概要なぜサーバーなしで動くのか","使用技術の概要：なぜサーバーなしで動くのか",[17,1051,1052,1053,1058],{},"zerosendの",[122,1054,1057],{"href":1055,"rel":1056},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fpdf-compress",[126],"PDF圧縮ツール","は、以下のライブラリとブラウザ標準APIをクライアント側で動作させることで、外部サーバーへのファイル送信ゼロを実現している。",[148,1060,1061,1067,1073],{},[151,1062,1063,1066],{},[24,1064,1065],{},"pdf-lib","：PDFの解析・ページ操作・書き出しをJavaScriptで実行するオープンソースライブラリ",[151,1068,1069,1072],{},[24,1070,1071],{},"pdfjs-dist（PDF.js）","：Mozillaが開発したオープンソースのPDFレンダリングエンジン。各ページをピクセルデータとして展開する",[151,1074,1075,1078],{},[24,1076,1077],{},"Canvas API","：各ページを画像として再描画し、解像度調整・JPEG再エンコードを行うブラウザ標準のグラフィックAPI",[17,1080,1081,1082,1085,1086,1091],{},"重い処理はメインスレッドをブロックしないよう",[24,1083,1084],{},"Web Worker","内で実行される。",[122,1087,1090],{"href":1088,"rel":1089},"https:\u002F\u002Fhtml.spec.whatwg.org\u002Fmultipage\u002Fcanvas.html",[126],"Canvas APIはW3C HTMLリビングスタンダードで標準化","されており、Chrome・Firefox・Safari・Edgeすべてで追加インストールなしに利用できる。",[144,1093,1095],{"id":1094},"ステップ1ツールにアクセスする","ステップ1：ツールにアクセスする",[17,1097,1098,1101],{},[122,1099,1055],{"href":1055,"rel":1100},[126]," をブラウザで開く。PC・スマートフォン・タブレットのいずれからでも動作する。インストール不要で、アクセス直後から使える状態になっている。",[144,1103,1105],{"id":1104},"ステップ2pdfをドロップまたは選択する","ステップ2：PDFをドロップまたは選択する",[17,1107,1108],{},"画面中央のドロップゾーンにPDFをドラッグ＆ドロップするか、「ファイルを選択」ボタンからファイルを指定する。このタイミングでファイルはブラウザのメモリ上に読み込まれるだけで、外部への送信は行われない。",[144,1110,1112],{"id":1111},"ステップ3圧縮品質を選択する","ステップ3：圧縮品質を選択する",[42,1114,1115,1128],{},[45,1116,1117],{},[48,1118,1119,1122,1125],{},[51,1120,1121],{},"品質設定",[51,1123,1124],{},"DPI目安",[51,1126,1127],{},"おすすめ用途",[67,1129,1130,1141,1152],{},[48,1131,1132,1135,1138],{},[72,1133,1134],{},"高（Low compression）",[72,1136,1137],{},"150 dpi前後",[72,1139,1140],{},"印刷・長期保存が必要な場合",[48,1142,1143,1146,1149],{},[72,1144,1145],{},"中（Balanced）",[72,1147,1148],{},"96〜120 dpi",[72,1150,1151],{},"メール添付の標準的な用途",[48,1153,1154,1157,1160],{},[72,1155,1156],{},"低（High compression）",[72,1158,1159],{},"72 dpi前後",[72,1161,1162],{},"とにかくサイズを最小化したい場合",[17,1164,1165],{},"メール添付が目的であれば「中」から試して、それでも上限を超えるようなら「低」に切り替えるのが効率的だ。画像品質の劣化が気になる場合は「高」を選び、添付上限との折り合いをつける。",[144,1167,1169],{"id":1168},"ステップ4圧縮してダウンロードする","ステップ4：圧縮してダウンロードする",[17,1171,1172],{},"「圧縮する」ボタンをクリックすると処理が始まる。処理中は進捗が表示される。完了後は「ダウンロード」ボタンでローカルデバイスに保存される。アカウント登録・ログイン・メールアドレスの入力は一切不要だ。",[144,1174,1176],{"id":1175},"通信ゼロをdevtoolsで自分の目で確認する","通信ゼロをDevToolsで自分の目で確認する",[17,1178,1179],{},"ファイルが本当に外部送信されていないかを自分で検証したい場合、次の手順で確認できる。",[221,1181,1182,1185,1195,1198],{},[151,1183,1184],{},"Chrome または Edge でツールページを開く",[151,1186,1187,1190,1191,1194],{},[24,1188,1189],{},"F12"," キーを押して開発者ツールを起動し、",[24,1192,1193],{},"Network"," タブをクリックする",[151,1196,1197],{},"ページをリロードしてからPDFをドロップし、「圧縮する」ボタンをクリックする",[151,1199,1200,1201,342,1204,1207],{},"Networkタブのフィルタに ",[24,1202,1203],{},"XHR",[24,1205,1206],{},"Fetch"," を選択し、リクエスト一覧を確認する",[17,1209,1210],{},"zerosendの場合、PDFデータを乗せた外部ドメインへのリクエストは記録されない。ライブラリファイルのロードは発生するが、PDFファイルのバイナリが外部に飛ぶ通信はゼロだ。「信頼してください」という主張ではなく、利用者が手元で検証できる透明性を担保している点が特徴といえる。",[144,1212,1213],{"id":1213},"オフライン環境でも動作する",[17,1215,1216],{},"zerosendは初回アクセス後、Service Workerがライブラリ等を端末内にキャッシュする。2回目以降はオフライン状態（機内モード・VPN切断・社内ネットワーク制限下）でもPDF圧縮処理を実行できる。処理がサーバーに依存していないため、ネットワーク接続が切れても動作に影響しない。出張先や移動中の作業にも対応できる。",[32,1218],{},[12,1220,1221],{"id":1221},"圧縮してもサイズが足りないときの追加対策",[17,1223,1224],{},"最高圧縮率を適用してもなお添付上限を超える場合は、以下の方法を組み合わせる。",[144,1226,1228],{"id":1227},"pdfを分割して複数通に分ける","PDFを分割して複数通に分ける",[17,1230,1231,1232,1237],{},"ページ数が多い場合は前半・後半に分けて2通に分割するのがシンプルな回避策だ。zerosendには",[122,1233,1236],{"href":1234,"rel":1235},"https:\u002F\u002Fzerosend.site\u002Ftools\u002Fpdf-split",[126],"PDF分割ツール","も用意されており、同様にサーバー送信なしで処理できる。受信者に分割の旨を件名に明記すると混乱が少ない。",[144,1239,1240],{"id":1240},"クラウドストレージのリンク共有を使う",[17,1242,1243],{},"Google Drive・OneDrive・Dropboxにアップロードしてリンクをメール本文に貼る方法は、ファイルサイズ制限を完全に回避できる。ただし機密文書の場合は共有設定を「特定のユーザーのみ」に限定し、アクセス権の設定ミスによる情報漏洩に注意が必要だ。",[144,1245,1246],{"id":1246},"スキャン設定を見直す",[17,1248,1249],{},"根本的にファイルサイズを抑えたいなら、スキャナの設定を変更するのが最も効果が大きい。",[148,1251,1252,1258,1264],{},[151,1253,1254,1257],{},[24,1255,1256],{},"解像度","：200 dpi以下に落とす（業務書類の多くは200 dpiで十分読める）",[151,1259,1260,1263],{},[24,1261,1262],{},"カラー設定","：カラーからグレースケールまたは白黒に変更する",[151,1265,1266,1269],{},[24,1267,1268],{},"PDF圧縮品質","：スキャナメーカーによっては保存時の圧縮率を選択できる項目がある",[17,1271,1272],{},"設定変更だけで同じ書類のファイルサイズが5分の1以下になることも珍しくない。",[32,1274],{},[12,1276,286],{"id":285},[144,1278,1280],{"id":1279},"q1-圧縮後にpdfのテキストが読めなくなることはあるか","Q1. 圧縮後にPDFのテキストが読めなくなることはあるか？",[17,1282,1283],{},"テキストデータは再エンコードされず、文字情報はそのまま保持される。影響を受けるのは埋め込み画像の解像度と品質のみだ。「高」品質設定であれば、通常の画面閲覧・業務文書の印刷用途で視覚的な劣化に気づくケースはほとんどない。",[144,1285,1287],{"id":1286},"q2-スマートフォンからも使えるか","Q2. スマートフォンからも使えるか？",[17,1289,1290],{},"iOS Safari・Android Chromeで動作確認済みだ。ファイル選択はスマートフォンのファイルアプリや写真アプリと連携できる。ただし50 MBを超える大容量ファイルを処理する場合、端末搭載メモリの量によって処理速度が低下することがある。",[144,1292,1294],{"id":1293},"q3-パスワードがかかったpdfは圧縮できるか","Q3. パスワードがかかったPDFは圧縮できるか？",[17,1296,1297],{},"パスワード保護（暗号化）されたPDFは、まずパスワードを解除してから圧縮する必要がある。現時点では、パスワード付きPDFをそのまま圧縮する機能には対応していない。",[144,1299,1301],{"id":1300},"q4-圧縮後のpdfは印刷に使えるか","Q4. 圧縮後のPDFは印刷に使えるか？",[17,1303,1304],{},"「高」設定（Low compression・150 dpi前後）であれば、家庭用・オフィス用レーザープリンター・インクジェットプリンターでの印刷に十分な画質を維持できる。商業印刷（入稿データ）や高精細な図面への用途には元ファイルの使用を推奨する。",[144,1306,1308],{"id":1307},"q5-一度に複数のpdfをまとめて圧縮できるか","Q5. 一度に複数のPDFをまとめて圧縮できるか？",[17,1310,1311],{},"現時点では1ファイルずつの処理となる。複数ファイルを連続処理したい場合は、1件ダウンロード後に次のファイルをドロップゾーンに投入することで続けて利用できる。",[32,1313],{},[12,1315,321],{"id":321},[17,1317,1318],{},"PDFがメールで送れない場合の対処法と、ツール選びの判断基準を以下に整理する。",[148,1320,1321,1327,1333,1339,1349],{},[151,1322,1323,1326],{},[24,1324,1325],{},"サイズ超過の主因は埋め込み画像","：カラースキャンや図版入り資料は適切な設定で50〜80%の削減が見込める。テキストのみのPDFへの効果は限定的だ。",[151,1328,1329,1332],{},[24,1330,1331],{},"オンラインツールはサーバー送信の有無を確認する","：Smallpdf・iLovePDF・Adobe Acrobat オンラインなど代表的なサービスはクラウド処理型であり、機密文書のアップロードにはデータポリシーの確認が必要になる。",[151,1334,1335,1338],{},[24,1336,1337],{},"ブラウザ内処理はネットワーク通信ゼロを実現する","：zerosenedはpdf-lib・pdfjs-dist・Canvas APIをWeb Worker内で動作させ、データを一切外部送信しない。DevToolsのNetworkタブで利用者自身が通信ゼロを検証できる。",[151,1340,1341,1344,1345,1348],{},[24,1342,1343],{},"圧縮で解決しない場合はPDF分割またはクラウド共有を組み合わせる","：zerosendの",[122,1346,1236],{"href":1234,"rel":1347},[126],"も同様にサーバー送信なしで利用できる。",[151,1350,1351,1354],{},[24,1352,1353],{},"初回アクセス後はオフラインでも動作する","：Service Workerキャッシュにより、ネットワーク環境に左右されない安定した処理が可能だ。",[17,1356,1357,1358,1362],{},"業務文書や個人情報を含むPDFを日常的に扱う環境では、処理の透明性を自分で確認できるツールを選ぶことが長期的なリスク管理につながる。",[122,1359,1361],{"href":1055,"rel":1360},[126],"PDF圧縮ツール（zerosend）","はそのための実用的な選択肢の一つだ。",{"title":357,"searchDepth":358,"depth":358,"links":1364},[1365,1370,1375,1379,1388,1393,1400],{"id":706,"depth":358,"text":707,"children":1366},[1367,1368,1369],{"id":710,"depth":364,"text":710},{"id":764,"depth":364,"text":765},{"id":794,"depth":364,"text":794},{"id":818,"depth":358,"text":819,"children":1371},[1372,1373,1374],{"id":822,"depth":364,"text":822},{"id":862,"depth":364,"text":862},{"id":906,"depth":364,"text":907},{"id":915,"depth":358,"text":916,"children":1376},[1377,1378],{"id":919,"depth":364,"text":919},{"id":928,"depth":364,"text":929},{"id":1044,"depth":358,"text":1045,"children":1380},[1381,1382,1383,1384,1385,1386,1387],{"id":1048,"depth":364,"text":1049},{"id":1094,"depth":364,"text":1095},{"id":1104,"depth":364,"text":1105},{"id":1111,"depth":364,"text":1112},{"id":1168,"depth":364,"text":1169},{"id":1175,"depth":364,"text":1176},{"id":1213,"depth":364,"text":1213},{"id":1221,"depth":358,"text":1221,"children":1389},[1390,1391,1392],{"id":1227,"depth":364,"text":1228},{"id":1240,"depth":364,"text":1240},{"id":1246,"depth":364,"text":1246},{"id":285,"depth":358,"text":286,"children":1394},[1395,1396,1397,1398,1399],{"id":1279,"depth":364,"text":1280},{"id":1286,"depth":364,"text":1287},{"id":1293,"depth":364,"text":1294},{"id":1300,"depth":364,"text":1301},{"id":1307,"depth":364,"text":1308},{"id":321,"depth":358,"text":321},"PDFの添付上限超えをブラウザ内処理で解決。サーバーにファイルを送信せず圧縮できるツールの仕組み・手順・競合比較をまとめた実践ガイド。",{},"\u002Fblog\u002Fpdf-email-compress","2026-05-06",{"title":696,"description":1401},"pdf-email-compress","blog\u002Fpdf-email-compress",[1409,388,692,389],"圧縮","2026-05-15","cz9PDy-rI2dQcuqiEXSdCrhXES8d2lz1ZvNuYLxhcMg",{"id":1413,"title":1414,"author":7,"body":1415,"category":372,"coverImage":373,"description":1707,"draft":375,"extension":376,"locale":377,"meta":1708,"navigation":379,"noindex":375,"path":1709,"publishedAt":1710,"seo":1711,"slug":1712,"stem":1713,"tags":1714,"updatedAt":1710,"__hash__":1717},"blog\u002Fblog\u002Fbrowser-only-limits.md","ブラウザ内でファイル処理は「どこまで」できるか — 2026 年の現在地",{"type":9,"value":1416,"toc":1676},[1417,1420,1424,1428,1439,1442,1445,1448,1452,1463,1467,1474,1478,1488,1492,1511,1514,1518,1521,1525,1531,1535,1538,1542,1546,1553,1557,1564,1568,1571,1575,1579,1589,1593,1600,1604,1615,1624,1627,1631,1645,1648,1650,1657,1665],[17,1418,1419],{},"「ファイルをサーバーに送らずに処理する」は、2026 年のブラウザでかなりの範囲が実現可能です。ただし万能ではありません。Zerosend が採用している技術と、その限界を正直に整理します。",[12,1421,1423],{"id":1422},"なぜブラウザだけで処理する選択を採るのか","なぜ「ブラウザだけで処理する」選択を採るのか",[144,1425,1427],{"id":1426},"送らないので漏れないという直球の設計","送らないので漏れない、という直球の設計",[17,1429,1430,1431,1434,1435,1438],{},"サーバー送信を伴わない構造そのものが、",[24,1432,1433],{},"個人情報漏洩・誤操作・第三者共有"," のリスクを原理的にゼロにします。「漏れない仕組み」を語るより、",[24,1436,1437],{},"漏れる場所をなくす","ほうが検証しやすい設計です。",[144,1440,1441],{"id":1441},"設定や権限に依存しない単純さ",[17,1443,1444],{},"サーバー側で暗号化キーを守る \u002F ログを消す \u002F バックアップから除外する、という細かい運用は継続的な手間がかかります。ブラウザ内で完結するなら、そもそもその運用自体が発生しません。",[12,1446,1447],{"id":1447},"使っている技術スタック",[144,1449,1451],{"id":1450},"canvas-api-画像の基礎処理","Canvas API — 画像の基礎処理",[17,1453,1454,1455,1458,1459,1462],{},"2D 描画と画像ピクセル操作の標準 API。Zerosend の画像圧縮・リサイズ・形式変換はすべて Canvas 経由です。",[229,1456,1457],{},"drawImage()"," で任意の描画、",[229,1460,1461],{},"toBlob()"," で指定フォーマットに書き出せます。",[144,1464,1466],{"id":1465},"web-worker-メインスレッドを止めない","Web Worker — メインスレッドを止めない",[17,1468,1469,1470,1473],{},"重い処理をメインスレッドで回すと UI がフリーズします。Web Worker で別スレッドに逃がすことでスムーズな UX を維持します。",[229,1471,1472],{},"browser-image-compression"," のように Worker を内包しているライブラリは、そのまま使うだけでメインスレッドを解放してくれます。",[144,1475,1477],{"id":1476},"webassembly-ffmpeg-pdf-系ライブラリの移植","WebAssembly — ffmpeg \u002F pdf 系ライブラリの移植",[17,1479,1480,1481,1483,1484,1487],{},"C \u002F C++ で書かれたネイティブライブラリを WASM 化することで、ブラウザで直接実行できます。Zerosend では ",[24,1482,183],{}," (動画・音声) と ",[24,1485,1486],{},"pdfjs-dist"," (PDF レンダリング) が WASM ベースです。",[144,1489,1491],{"id":1490},"file-system-access-api-blob-入出力","File System Access API \u002F Blob — 入出力",[17,1493,1494,1495,1498,1499,1502,1503,1506,1507,1510],{},"モダンブラウザは ",[229,1496,1497],{},"showOpenFilePicker()"," \u002F ",[229,1500,1501],{},"showSaveFilePicker()"," で OS のファイル選択ダイアログを呼べます。非対応の環境でも ",[229,1504,1505],{},"\u003Cinput type=\"file\">"," + ",[229,1508,1509],{},"Blob + URL.createObjectURL"," でダウンロードできるため、互換性の最低ラインは広いです。",[12,1512,1513],{"id":1513},"できること",[144,1515,1517],{"id":1516},"数-mb-数十-mb-のファイル処理","数 MB 〜数十 MB のファイル処理",[17,1519,1520],{},"現代のブラウザは 100MB 級のファイルでも (メモリ次第で) 安定して扱えます。JPG\u002FPNG 画像の圧縮・リサイズ・一括 ZIP 生成は問題なく動作します。",[144,1522,1524],{"id":1523},"バッチ処理-zip-生成を含む","バッチ処理 (ZIP 生成を含む)",[17,1526,1527,1530],{},[229,1528,1529],{},"jszip"," を使えば複数ファイルの圧縮まとめもブラウザ内で完結します。100 ファイル程度の一括処理は実用範囲です。",[144,1532,1534],{"id":1533},"逆圧縮形式変換","逆圧縮・形式変換",[17,1536,1537],{},"JPG → WebP、HEIC → JPG、PDF → PNG、MP4 → GIF などの変換は、すべてブラウザ内で実行できます。",[12,1539,1541],{"id":1540},"苦手なことできないこと","苦手なこと・できないこと",[144,1543,1545],{"id":1544},"数-gb-級の動画処理はメモリが持たない","数 GB 級の動画処理はメモリが持たない",[17,1547,1548,1549,1552],{},"ブラウザのプロセスメモリ上限はだいたい 2〜4 GB 程度。それ以上の動画をまるごと処理するのは困難です。",[24,1550,1551],{},"1 GB を超える動画はデスクトップツール"," (ffmpeg CLI 等) のほうが安定します。",[144,1554,1556],{"id":1555},"機械学習推論は遅い-onnx-runtime-web-は軽量モデル限定","機械学習推論は遅い (ONNX Runtime Web は軽量モデル限定)",[17,1558,1559,1560,1563],{},"ONNX Runtime Web や TensorFlow.js で推論は可能ですが、",[24,1561,1562],{},"数 GB 級のモデル","はブラウザで回すとかなり遅く、UX が実用的ではありません。軽量モデル (数百 MB) に限定するか、サーバー推論と割り切るのが現実的です。",[144,1565,1567],{"id":1566},"os-ネイティブ機能への直接アクセス","OS ネイティブ機能への直接アクセス",[17,1569,1570],{},"ブラウザはサンドボックス内で動くので、OS のファイルシステム全体を書き換えるような処理・プロセス起動はできません。セキュリティの観点からも妥当な制約です。",[12,1572,1574],{"id":1573},"zerosend-での実装のコツ-開発者向け","Zerosend での実装のコツ (開発者向け)",[144,1576,1578],{"id":1577},"ドメイン層を-ui-から分離する","ドメイン層を UI から分離する",[17,1580,1581,1584,1585,1588],{},[229,1582,1583],{},"domain\u002Fprocessors\u002F"," 配下に",[24,1586,1587],{},"純粋関数","を置き、Vue \u002F DOM API に依存させない設計にしています。テストが書きやすく、将来的に CLI 化・API 化もしやすくなります。",[144,1590,1592],{"id":1591},"web-worker-に重い処理を分離する判断基準","Web Worker に重い処理を分離する判断基準",[17,1594,1595,1596,1599],{},"目安は ",[24,1597,1598],{},"100 ms を超える処理はすべて Worker","。メインスレッドがそれ以上ブロックすると、ユーザー操作への応答 (クリック・スクロール) が目に見えて遅延します。",[144,1601,1603],{"id":1602},"csp-を破らずに-wasm-を読み込む","CSP を破らずに WASM を読み込む",[17,1605,1606,1607,1610,1611,1614],{},"CSP (Content Security Policy) に ",[229,1608,1609],{},"wasm-unsafe-eval"," を追加する必要があります。Zerosend では meta と ",[229,1612,1613],{},"_headers"," の両方に設定し、本番でも正しく動作することを確認しています。",[1616,1617,1622],"pre",{"className":1618,"code":1620,"language":1621},[1619],"language-text","Content-Security-Policy: script-src 'self' 'wasm-unsafe-eval'\n","text",[229,1623,1620],{"__ignoreMap":357},[12,1625,1626],{"id":1626},"今後の展望",[144,1628,1630],{"id":1629},"webgpu-opfs-の成熟","WebGPU \u002F OPFS の成熟",[148,1632,1633,1639],{},[151,1634,1635,1638],{},[24,1636,1637],{},"WebGPU",": GPU を直接使える API。機械学習推論や 3D レンダリングで大きく速度改善が見込まれます",[151,1640,1641,1644],{},[24,1642,1643],{},"OPFS (Origin Private File System)",": Origin ごとにブラウザが管理する高速ファイル領域。大容量ファイル処理時の中間ストレージに使えます",[17,1646,1647],{},"これらが広く使える前提になれば、現状「苦手」としている領域の多くがブラウザだけで片付くようになります。",[12,1649,321],{"id":321},[17,1651,1652,1653,1656],{},"ブラウザ内ファイル処理は ",[24,1654,1655],{},"Canvas \u002F Web Worker \u002F WebAssembly \u002F File System Access API"," の組み合わせで、日常的な軽作業のほぼ全域をカバーできます。GB 級や重い ML 推論は依然として苦手ですが、Zerosend が対象とする画像・PDF・音声・短い動画の範囲では実用レベルです。",[17,1658,1659,1660,1664],{},"この設計の結果、",[122,1661,1663],{"href":1662},"\u002F#tools","Zerosend のツール群"," はサーバーに何も送らずに動作し、DevTools で自ら検証できる透明性を持っています。",[17,1666,1667,1668,1498,1672],{},"関連: ",[122,1669,1671],{"href":1670},"\u002Fblog\u002Fwhy-browser-only","なぜ Zerosend はブラウザ内処理にこだわるのか",[122,1673,1675],{"href":1674},"\u002Fguide\u002Fprivacy-online-tools","ピラー記事",{"title":357,"searchDepth":358,"depth":358,"links":1677},[1678,1682,1688,1693,1698,1703,1706],{"id":1422,"depth":358,"text":1423,"children":1679},[1680,1681],{"id":1426,"depth":364,"text":1427},{"id":1441,"depth":364,"text":1441},{"id":1447,"depth":358,"text":1447,"children":1683},[1684,1685,1686,1687],{"id":1450,"depth":364,"text":1451},{"id":1465,"depth":364,"text":1466},{"id":1476,"depth":364,"text":1477},{"id":1490,"depth":364,"text":1491},{"id":1513,"depth":358,"text":1513,"children":1689},[1690,1691,1692],{"id":1516,"depth":364,"text":1517},{"id":1523,"depth":364,"text":1524},{"id":1533,"depth":364,"text":1534},{"id":1540,"depth":358,"text":1541,"children":1694},[1695,1696,1697],{"id":1544,"depth":364,"text":1545},{"id":1555,"depth":364,"text":1556},{"id":1566,"depth":364,"text":1567},{"id":1573,"depth":358,"text":1574,"children":1699},[1700,1701,1702],{"id":1577,"depth":364,"text":1578},{"id":1591,"depth":364,"text":1592},{"id":1602,"depth":364,"text":1603},{"id":1626,"depth":358,"text":1626,"children":1704},[1705],{"id":1629,"depth":364,"text":1630},{"id":321,"depth":358,"text":321},"ブラウザだけで画像・PDF・動画を扱うには、どんな技術を使いどこまでできるのか。Canvas \u002F Web Worker \u002F WebAssembly \u002F File System Access API の採用ポイントと、率直な限界を整理します。",{},"\u002Fblog\u002Fbrowser-only-limits","2026-04-19",{"title":1414,"description":1707},"browser-only-limits","blog\u002Fbrowser-only-limits",[1715,389,1716],"WebAssembly","技術解説","DVMRpha441VjgXVwUg-Ky9ljmdcZEo-shW86ze3x7Uo",1781827531763]