ToolActToolAct

ZIP Entpacken

ZIP-Archiv hochladen, Dateien anzeigen und extrahieren, einzeln oder komplett herunterladen

ZIP-Datei hochladen

ZIP-Datei hierher ziehen oder klicken zum Auswählen

.zip Archiv-Dateien unterstützt

Was ist ZIP Entpacken?

ZIP-Extraktion öffnet ein Archiv und stellt die darin gespeicherten Dateien wieder her. Sie ist nützlich, wenn ein komprimiertes Paket ankommt, der Inhalt vor dem Herunterladen geprüft werden soll, nur eine Datei benötigt wird oder Dateinamen und Größen vor dem Vertrauen in ein Archiv kontrolliert werden sollen. Für normale Dateien ist ZIP verlustfrei, der Inhalt sollte nach dem Entpacken identisch sein. Entpacken macht unbekannte Inhalte jedoch nicht sicher. Archive können irreführende Dateinamen, unerwartete Ordner, sehr große entpackte Daten oder ausführbare Dateien enthalten, die nicht ungeprüft geöffnet werden sollten. Dieses Browser-Werkzeug liest das Archiv lokal und erlaubt das Herunterladen ausgewählter Dateien, eignet sich aber eher für kleine Prüfungen. Es ersetzt keine Sicherheitsprüfung verdächtiger Archive.

Anleitung

So geht's

  1. Ziehen Sie eine ZIP-Datei in den Upload-Bereich oder klicken Sie auf 'ZIP-Datei auswählen'
  2. Sehen Sie die Dateiliste und Dateiinformationen im Archiv
  3. Klicken Sie bei einer Datei auf 'Herunterladen', um sie zu entpacken
  4. Klicken Sie auf 'Alle entpacken', um alle Dateien als ZIP herunterzuladen

Sicherheit beim Entpacken

  • Überprüfen Sie die Dateiliste, bevor Sie entpackte Dateien herunterladen – insbesondere wenn das Archiv aus unbekannter Quelle stammt.
  • Seien Sie vorsichtig mit ausführbaren Dateien, verschachtelten Archiven und verdächtigen Dateinamen.

Anwendungsfälle

Ein ZIP prüfen, bevor etwas entpackt wirdLegen Sie eine .zip-Datei ab und die Seite erstellt einen sortierten Ordnerbaum mit Dateityp-Icons, aufklappbaren Ordnern und berechneten Dateigrößen. So sehen Sie schnell, ob das Archiv die erwarteten Dokumente, Assets oder den Code enthält, bevor Sie einzelne Dateien herunterladen. Der Reader liest den End-of-Central-Directory-Eintrag am Ende der Datei, um das zentrale Verzeichnis zu finden – ein versehentlich abgeschnittenes oder angehängtes .zip mit gültigem EOCD-Marker listet seine deklarierten Einträge auf, auch wenn einige lokale Header beschädigt sind.
Nur die tatsächlich benötigten Dateien herunterladenWählen Sie eine Datei, einen ganzen Ordner, mehrere verschachtelte Elemente oder alles im Archiv aus und laden Sie die Auswahl direkt aus dem Browser herunter. Die Auswahllogik klappt Ordner in deren enthaltene Dateien auf, sodass Sie einzelne benötigte Elemente aus einem größeren Archiv herausziehen können.
Browserseitige Extraktion für eine leichtgewichtige Archiv-Prüfung nutzenJSZip liest das Archiv lokal und jede extrahierte Datei wird als eigener Browser-Download heruntergeladen. Die Batch-Extraktion stellt den ursprünglichen Ordnerbaum nicht auf der Festplatte wieder her und erzeugt kein neues ZIP – sie eignet sich daher am besten für Prüfung, Sortierung und kleine Abrufaufgaben statt für vollständige Backup-Wiederherstellung.
Einen verdächtigen Dateinamen vor dem Entpacken erkennenPrüfen Sie die Dateiliste auf doppelte Erweiterungen wie report.pdf.exe, versteckte Systemdateien oder Pfade, die mit ..-Segmenten versuchen, ein Verzeichnis zu verlassen. Behandeln Sie unbekannte Archive als nicht vertrauenswürdig, auch wenn die Quelle vertraut wirkt, und scannen Sie alles Ausführbare mit Antivirensoftware vor dem Öffnen. Dateinamen, deren General-Purpose-Flag-Bit 11 gesetzt ist, werden als UTF-8 gespeichert, sodass nicht-ASCII-Namen korrekt decodiert werden – fehlende Flags können Mojibake erzeugen, das selbst ein Hinweis auf ein manipuliertes oder umgepacktes Archiv ist.
Eine einzelne Konfigurationsdatei aus einem Backup-ZIP extrahieren, ohne den Rest herunterzuladenDurchsuchen Sie den Ordnerbaum, wählen Sie nur die gewünschte config.json oder das Zertifikat aus und laden Sie nur diesen Eintrag herunter. So lässt sich eine verlorene Datei aus einem mehrere Gigabyte großen Backup schnell wiederherstellen, ohne Bandbreite für nicht benötigte Teile zu verschwenden. Archive über 4 GB basieren auf der ZIP64-Erweiterung – das Werkzeug liest die ZIP64-Extra-Felder für unkomprimierte Größe, komprimierte Größe und lokalen Header-Offset, sodass die Einzeldatei-Wiederherstellung auch für Backups funktioniert, die die klassische 32-Bit-Grenze überschreiten.

Technisches Prinzip

Das Lesen eines ZIP-Archivs erfolgt in umgekehrter Reihenfolge zum Schreiben. Der Browser empfängt die Datei als `ArrayBuffer` über die File API (`file.arrayBuffer()`) und der Leser scannt rückwärts vom Dateiende nach der End-of-Central-Directory-Signatur `0x06054b50` (PK\x05\x06). EOCD ist höchstens 22 Bytes plus ein optionaler Kommentar von bis zu 65.535 Bytes, sodass das Scanfenster begrenzt ist. EOCD verweist auf Offset und Größe des Zentralverzeichnisses, das einen Datei-Header (`0x02014b50`) pro Eintrag enthält. Jeder Datei-Header trägt die komprimierten und unkomprimierten Größen, CRC-32, Komprimierungsmethode, Dateinamen und den Offset des zugehörigen Lokalen Datei-Headers (`0x04034b50`). Der Leser kann dann direkt zu jedem einzelnen Eintrag seeken, ohne die vorherigen Einträge parsen zu müssen – daher ist die Einzeldatei-Extraktion aus einem mehrere GB großen Backup schnell. Die Dekomprimierung hängt vom Methoden-Byte ab: `0x00` ist gespeichert (keine Komprimierung, nur memcpy), `0x08` ist DEFLATE gemäß RFC 1951 (~99 % der Archive in der Praxis), `0x0C` ist BZIP2, `0x0E` ist LZMA und `0x5D` ist das ältere PPMd. Dieses Werkzeug verwendet JSZip (oder fflate für höheren Durchsatz – fflates `unzipSync` dekodiert ein typisches 10-MB-DEFLATE-Archiv in Zehntelsekunden, mehrfach schneller als JSZip). Nach der Dekomprimierung wird der CRC-32 der rohen Bytes neu berechnet und mit dem Wert im Zentralverzeichnis verglichen; eine Nichtübereinstimmung zeigt Korruption oder Manipulation an. Zwei Sicherheitsaspekte sind für jeden Extraktionscodepfad relevant. Der erste ist die Zip-Slip-Schwachstelle (Snyk, 2018): Ein bösartiges Archiv kann Einträge mit Pfadaversalsequenzen wie `../../etc/passwd` enthalten, und ein naiver Extraktor, der den Eintragsnamen mit einem Zielverzeichnis zusammenfügt, schreibt außerhalb der vorgesehenen Sandbox. Die Lösung besteht darin, den zusammengefügten Pfad mit `path.resolve()` zu normalisieren und zu verifizieren, dass er noch mit dem Zielverzeichnis beginnt, bevor geschrieben wird. Dieses Werkzeug bietet jeden Eintrag als individuellen Browser-Download über `URL.createObjectURL(new Blob([bytes]))` an, und der Browser sandkastet das Ziel, sodass Verzeichnistrawersal nicht aus dem Downloads-Ordner des Benutzers ausbrechen kann, aber dasselbe Archiv wäre bei einem serverseitigen Extraktor ausnutzbar. Zweitens werden verschlüsselte Archive nicht behandelt: Das traditionelle ZipCrypto ist eine 32-Bit-Stromchiffre, die mit einem Known-Plaintext-Angriff von drei Bytes trivial gebrochen werden kann, und das moderne WinZip AES-256 (PKWARE APPNOTE 7.0) erfordert das AE-2-Extra-Feld mit HMAC-SHA1-Authentifizierung – keiner der beiden Pfade ist hier implementiert. Archive über 4 GiB basieren auf den Extra-Feldern der ZIP64-Erweiterung für 64-Bit-Größen und -Offsets, die der Parser lesen muss, anstatt die 32-Bit-Zentralverzeichnis-Felder zu verwenden.

  • Parse-Reihenfolge: Rückwärts vom Dateiende nach EOCD-Signatur `0x06054b50` scannen (maximal 22 + 65535 Bytes vom Ende) → zum Zentralverzeichnis seeken → zu jedem Lokalen Datei-Header seeken.
  • Komprimierungsmethoden: `0x00` gespeichert, `0x08` DEFLATE (RFC 1951, ~99 % der Archive), `0x0C` BZIP2, `0x0E` LZMA, `0x5D` PPMd.
  • Integrität: CRC-32 mit Polynom `0xEDB88320` (umgekehrtes IEEE 802.3) wird für extrahierte Bytes neu berechnet und mit dem Wert im Zentralverzeichnis verglichen.
  • Zip Slip (Snyk 2018): Einträge mit `../`-Pfadaversal können außerhalb des Extraktionsverzeichnisses schreiben; Lösung durch Normalisierung und Validierung des aufgelösten Pfads vor dem Schreiben.
  • Browser-Implementierung: `File.arrayBuffer()` → JSZip / fflate `unzipSync()` → pro Eintrag `URL.createObjectURL(new Blob([bytes]))` für Downloads, kein Server-Roundtrip.
  • Verschlüsselung wird nicht behandelt: ZipCrypto ist in 3 Known-Plaintext-Bytes gebrochen; WinZip AES-256 (APPNOTE 7.0, AE-2-Extra-Feld mit HMAC-SHA1) ist hier nicht implementiert.
  • ZIP64 (APPNOTE 4.5+) erweitert 32-Bit-Größen-/Offset-Felder auf 64-Bit über Extra-Felder; erforderlich für Archive oder einzelne Einträge über 4 GiB (2³² − 1 Bytes).

Beispiele

Archivinhalt anzeigen

Die Dateiliste eines ZIP-Archivs direkt im Browser ansehen, ohne Entpackungssoftware zu installieren

Einzelne Dateien extrahieren

Nur die benötigte Datei aus dem Archiv herunterladen, ohne alles zu entpacken

Batch-Extraktion

Alle Dateien aus dem Archiv mit einem Klick extrahieren und herunterladen

FAQ

Wird das ZIP zum Entpacken hochgeladen?

Nein. Die Seite liest das ZIP lokal über die FileReader API und dekomprimiert die Einträge im Browser mit JSZip. Dateien verlassen dein Gerät nicht. Du kannst das im Network-Tab beim Entpacken bestätigen.

Welche ZIP-Varianten werden unterstützt?

Standard-ZIP-Dateien mit DEFLATE-Komprimierung (die häufigste Variante). Stored-Einträge (unkomprimiert) funktionieren ebenfalls. ZIP64 (für Archive über 4 GB) wird in den meisten Builds unterstützt. Verschlüsselte Einträge (passwortgeschützt) sowie 7Z, RAR und TAR werden nicht unterstützt - dafür brauchst du ein dediziertes Tool.

Kann ich passwortgeschützte ZIPs entpacken?

In der Regel nein. JSZip kommt weder mit ZipCrypto- noch mit AES-verschlüsselten Einträgen klar. Entschlüssle sie zunächst auf dem Desktop mit 7-Zip oder WinRAR und packe sie neu, falls du die Struktur hier prüfen möchtest.

Was ist, wenn das ZIP chinesische oder japanische Dateinamen enthält?

Die Seite liest Dateinamen standardmäßig als UTF-8. Alte, unter Windows erstellte ZIPs speichern Dateinamen mitunter in GBK (Chinesisch) oder Shift_JIS (Japanisch), ohne das UTF-8-Flag zu setzen - die erscheinen dann verstümmelt. Erzeuge das ZIP mit einem UTF-8-fähigen Tool neu, oder nimm 7-Zip auf dem Desktop mit der passenden Codepage-Einstellung.

Wo liegt die Dateigrößenbegrenzung?

Beim Browser-Speicher. Moderne Desktops kommen mit ZIPs ab 1 GB klar; mobilen Browsern geht ab ein paar Hundert MB der Speicher aus. Für sehr große Archive nimm ein Desktop-Tool, das von der Festplatte streamt.

Kann ich Dateiinhalte ohne Entpacken vorab ansehen?

Bei Textdateien ja - klicke einen beliebigen Eintrag an und die Seite zeigt seinen Inhalt. Bilder werden als Thumbnails vorab angezeigt. Binäre Einträge (Executables, verschachtelte ZIPs) zeigen nur Metadaten; lade sie zum Inspizieren herunter.

Werden Dotfiles und versteckte Dateien entpackt?

Ja. ZIP kennt kein 'hidden'-Attribut - alle Einträge sind sichtbar. Dateinamen, die mit einem Punkt beginnen (.gitignore, .env), werden ganz normal entpackt; behandle sie wie gewöhnliche Dateien.