ファイルを選択
  1. base64hub
  2. ファイルツール
  3. Base64 → ZIP

Base64 から ZIP へ変換

Base64 でエンコードされた ZIP を貼り付けると、中身の確認、個別ファイルの表示や保存、アーカイブ全体のダウンロードができます。展開はお使いの端末の中だけで行われます。

無料 登録不要・制限なし ローカル アップロードなし エントリごと 中の任意のファイルを表示・保存 更新日 2026/10/27
入力 –出力 –サイズ –

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

Base64 を ZIP ファイルにデコードする手順

  1. Base64 を Base64 または data URI に貼り付けるか、それを含むテキストファイルを .txt ファイルを開く で開きます。
  2. 概要には、ファイルとフォルダーの数、展開後のサイズと圧縮で削減された割合、アーカイブコメント(あれば)、ZIP64 を使っているか、保護されたエントリを含むかが表示されます。
  3. 表には各エントリが サイズ、圧縮後 のサイズ、更新日時 とともに並び、表示 と 保存 のボタンが付いています。
  4. ファイルをダウンロード を押すと、アーカイブそのものが保存されます。

一覧に表示されるのは最大 500 エントリで、それより大きいアーカイブでは残りの件数が 1 行で示されます。ボタンを押すまで何も展開されず、処理はすべてブラウザ内で行われます。ページの Content Security Policy が Cloudflare のページビュー計測以外のネットワークリクエストを禁止しているため、アーカイブがアップロードされることはありません。

アーカイブから 1 つのファイルを開く

表示 を押すと 1 つのエントリを展開し、表の下にプレビューします。画像、PDF、音声と動画、テキストと JSON に加え、ZIP の中の ZIP も 3 階層まで開けます。保存 を押すと、そのファイルだけをフォルダーのパスなしで元の名前のままダウンロードします。取り出したエントリはそれぞれ、アーカイブに記録された CRC-32 と照合され、一致しない場合は「チェックサムが一致しません。このエントリは破損しています。」と表示されます。

一覧表示は、一般的なツールがつまずくアーカイブにも対応しています。

  • ZIP64 アーカイブ。4 GB を超えるファイルや 65,535 を超えるエントリに使われます。
  • ファイル名:UTF-8、古い Windows ツールが使っていた DOS のコードページ 437、Info-ZIP の Unicode パスフィールドのいずれにも対応します。
  • 自己解凍アーカイブ など、先頭に余分なデータが付いた ZIP。
  • 途中で切れたアーカイブ。 末尾のディレクトリが欠けている場合、各ファイルの前にあるヘッダーからエントリを復元し、「セントラルディレクトリがありません(データが途中で切れているようです)。」とその旨を表示します。データが切れたエントリは、データがないことを示します。

従来の ZIP のタイムスタンプにはタイムゾーンがないため、更新日時 にはアーカイブを作ったマシンの時計が示していた時刻がそのまま表示されます。エントリが拡張フィールドに Unix タイムスタンプも持っている場合は、そちらを使い、お使いのローカル時刻で表示します。

取り出せるもの

エントリ一覧表示表示と保存
無圧縮(方式 0)可可
Deflate(方式 8)可可
Deflate64、BZIP2、LZMA、Zstandard、XZ、PPMd可、方式名を括弧内に表示不可:「圧縮方式 BZIP2 はブラウザでは対応していません。」
暗号化(ZipCrypto または AES)可、[protected](日本語表示では「保護」)の印付き不可:「このエントリはパスワードで保護されています。一覧表示はできますが、取り出せません。」
フォルダー可不可

Windows、macOS、zip コマンドで作ったアーカイブは Deflate を使います。それ以外の方式は、主に 7-Zip や WinZip で圧縮率を上げるために選ばれたものです。

zip 爆弾への対策

圧縮を使えば、小さなダウンロードを巨大なファイルに変えられます。100 MiB のゼロは Deflate で約 100 KB になり、入れ子にしたり細工したりしたアーカイブはそれをはるかに上回ります。ツールはエントリを展開する前にアーカイブに記載されたサイズを確認し、64 MB を超えるものは「展開後 64.0 MB で停止しました。ブラウザで展開するには大きすぎます(zip 爆弾の可能性)。代わりにアーカイブをダウンロードしてください。」と表示して拒否します。展開中も、記載サイズに 1 KB を足した時点で止まるため、サイズを偽ったエントリが申告より大きくなることはありません。

概要の行には記載された合計サイズがそのまま表示され、それ自体が有用な警告になります。数百キロバイトのアーカイブが展開すると数ギガバイトになるなら、どのツールで展開するにせよ、その前に疑ってかかるべきです。

本当に ZIP か

ZIP ファイルは PK と 2 バイトで始まり、Base64 では UEsDB になります。空のアーカイブは UEsFBg で始まります。多くの形式は別名の ZIP アーカイブで、ツールはその種類を表示します。DOCX、XLSX、PPTX、EPUB、ODT、JAR、APK です。どれもここで一覧表示と展開ができ、Office 文書は Base64 から Word へ と Base64 から Excel へ でテキストのプレビューも見られます。

ほかのアーカイブ形式は ZIP ではありません。このツールは gzip なら展開できますが、7-Zip や RAR は展開できません。

Base64 の先頭形式動作
H4sIgzip(.gz、.tar.gz)展開してプレビューし、.gz としてダウンロード を提示
N3q8ryc7-Zip「ZIPではないようです(検出:7-Zip)」
UmFyIRoRAR「ZIPではないようです(検出:RAR)」

7-Zip と RAR の場合、拡張子 は zip のままです。ダウンロードする前にそこへ 7z か rar と入力してください。そうしないと、システムが ZIP として開こうとして失敗します。

Python で Base64 の ZIP を展開する

zipfile はデコードしたバイト列から直接読めるので、先にディスクへ書き出す必要はありません。

import base64, io, zipfile

with open("archive.b64") as f:
    data = base64.b64decode(f.read())

with zipfile.ZipFile(io.BytesIO(data)) as z:
    for info in z.infolist():
        print(f"{info.filename:20} {info.file_size:>8} method={info.compress_type}")
    z.extract("docs/readme.txt", "out")

method 列には上の表と同じ番号が表示されます。0 が無圧縮、8 が Deflate、12 が BZIP2、14 が LZMA で、Python はこの 4 つをすべて展開できます。シェルなら base64 -d archive.b64 > archive.zip && unzip -l archive.zip で中身を一覧できます。ファイルからそうした文字列を作るには、ZIP から Base64 へ と Python での Base64 をご覧ください。

よくある質問

Base64 を ZIP ファイルに変換するには?

上の入力欄に文字列を貼り付けて ファイルをダウンロード を押すと、decoded.zip が保存されます。1 つのファイルだけを取り出したい場合は、一覧でその横にある 保存 を押してください。

パスワード付きの ZIP をここで開けますか?

エントリは [protected] の印(日本語表示では「保護」)付きで一覧に出ますが、ブラウザでは取り出せません。アーカイブをダウンロードし、7-Zip、unzip、または OS のアーカイブツールで開くと、パスワードを求められます。

エントリに「圧縮方式に対応していない」と表示されるのはなぜですか?

ブラウザが展開できるのは、ほぼすべての ZIP が使う Deflate だけです。主に 7-Zip や WinZip で BZIP2、LZMA、Deflate64、Zstandard、PPMd を使って圧縮されたエントリは、一覧には出ますが、デスクトップのツールか、BZIP2 と LZMA を読める Python の zipfile で取り出す必要があります。

Base64 が H4sI で始まります。これは ZIP ですか?

いいえ、それは gzip です。ツールは GZIP のようだと表示し、展開して中身を見せます。.tar.gz なら中身は TAR アーカイブです。.gz としてダウンロード を押すと、正しい拡張子で保存されます。