ToolActToolAct

Extraction et décompression ZIP

Télécharger des archives ZIP pour prévisualiser et extraire les fichiers, télécharger individuellement ou extraire tout

Télécharger un fichier ZIP

Glissez un fichier ZIP ici, ou cliquez pour sélectionner

Supporte les archives au format .zip

Qu'est-ce que l'extraction ZIP ?

L’extraction ZIP ouvre une archive et restaure les fichiers qu’elle contient. Elle est utile lorsqu’on reçoit un paquet compressé, qu’on veut inspecter son contenu avant de tout télécharger, récupérer seulement un fichier ou vérifier noms et tailles avant de faire confiance à l’archive. Pour des fichiers ordinaires, ZIP est sans perte et le contenu extrait doit correspondre à l’original. Mais extraire ne rend pas un contenu inconnu sûr. Une archive peut contenir des noms trompeurs, des dossiers inattendus, des données énormes après extraction ou des exécutables à ne pas ouvrir sans analyse. Cet outil lit l’archive localement et permet de télécharger les fichiers choisis, pratique pour de petits contrôles. Il ne remplace pas une vérification de sécurité des archives suspectes.

Comment utiliser

Comment utiliser

  1. Faites glisser un fichier ZIP dans la zone de dépôt, ou cliquez sur le bouton « Sélectionner un fichier ZIP ».
  2. Consultez la liste des fichiers et leurs informations à l'intérieur de l'archive.
  3. Cliquez sur « Télécharger » sur un fichier pour l'extraire.
  4. Cliquez sur « Extraire tout » pour télécharger l'ensemble des fichiers au format ZIP.

Sécurité d'extraction

  • Inspectez la liste des fichiers avant de télécharger les éléments extraits, surtout si l'archive provient d'une source inconnue.
  • Méfiez-vous des fichiers exécutables, des archives imbriquées et des noms de fichiers suspects.

Cas d’utilisation

Inspecter un ZIP avant d’extraire quoi que ce soitDéposez un fichier .zip et la page construit une arborescence triée avec des icônes de type de fichier, des dossiers extensibles et des tailles calculées. Vous pouvez rapidement vérifier si l’archive contient les documents, ressources ou code attendus avant de télécharger des fichiers individuels. Le lecteur parcourt l’enregistrement End of Central Directory en fin de fichier pour localiser le répertoire central, un .zip accidentellement tronqué ou complété qui se termine encore par un marqueur EOCD valide listera donc ses entrées déclarées même si certains en-têtes locaux sont endommagés.
Télécharger uniquement les fichiers dont vous avez réellement besoinSélectionnez un fichier, un dossier entier, plusieurs éléments imbriqués ou tout le contenu de l’archive, puis téléchargez les fichiers sélectionnés depuis le navigateur. La logique de sélection étend les dossiers en leurs fichiers contenus, vous pouvez ainsi extraire quelques éléments nécessaires d’une archive plus volumineuse.
Utiliser l’extraction côté navigateur pour une revue légère d’archiveJSZip lit l’archive localement et chaque fichier extrait est téléchargé comme un téléchargement de navigateur distinct. L’extraction par lot ne recrée pas l’arborescence originale sur le disque ni ne produit un nouveau ZIP, elle convient donc mieux à la revue, au tri et à la récupération de petits fichiers plutôt qu’à la restauration complète d’une sauvegarde.
Repérer un nom de fichier suspect avant de l’extraireParcourez la liste des fichiers à la recherche de doubles extensions comme rapport.pdf.exe, de fichiers système cachés ou de chemins tentant de sortir d’un répertoire avec des segments .. Considérez les archives inconnues comme non fiables même si la source semble familière, et analysez tout exécutable avec un antivirus avant de l’ouvrir. Les noms de fichiers dont le bit 11 du drapeau général est activé sont stockés en UTF-8, les noms non ASCII sont donc décodés correctement, tandis que des drapeaux manquants peuvent produire du mojibake qui constitue en soi un indice d’archive trafiquée ou réempaquétée.
Récupérer un seul fichier de configuration d’un ZIP de sauvegarde sans tout téléchargerParcourez l’arborescence, sélectionnez uniquement le config.json ou le certificat souhaité et téléchargez uniquement cette entrée. C’est un moyen rapide de récupérer un fichier perdu d’une sauvegarde de plusieurs gigaoctets sans consommer de bande passante sur les parties inutiles. Les archives de plus de 4 Go reposent sur l’extension ZIP64, et l’outil lit les champs extra ZIP64 pour la taille non compressée, la taille compressée et le décalage de l’en-tête local, la récupération d’un seul fichier fonctionne donc pour les sauvegardes dépassant la limite classique de 32 bits.

Principe technique

La lecture d'une archive ZIP s'effectue dans l'ordre inverse de l'écriture. Le navigateur reçoit le fichier sous forme d'`ArrayBuffer` via l'API File (`file.arrayBuffer()`) et le lecteur parcourt le fichier en partant de la fin à la recherche de la signature End of Central Directory `0x06054b50` (PK\x05\x06). L'EOCD occupe au maximum 22 octets plus un commentaire optionnel de 65 535 octets au plus, ce qui borne la fenêtre de recherche. L'EOCD indique la position et la taille du répertoire central, qui contient un en-tête de fichier (`0x02014b50`) par entrée. Chaque en-tête de fichier porte les tailles compressée et décompressée, le CRC-32, la méthode de compression, le nom de fichier et la position de l'en-tête local correspondant (`0x04034b50`). Le lecteur peut alors accéder directement à n'importe quelle entrée sans parcourir les entrées précédentes — d'où la rapidité de l'extraction d'un seul fichier à partir d'une sauvegarde de plusieurs gigaoctets. La décompression dépend de l'octet de méthode : `0x00` est le stockage (aucune compression, simple memcpy), `0x08` est le DEFLATE conformément à la RFC 1951 (~99 % des archives dans la nature), `0x0C` est le BZIP2, `0x0E` est le LZMA et `0x5D` est le PPMd plus ancien. Cet outil utilise JSZip (ou fflate pour un débit plus élevé — `unzipSync` de fflate décode une archive DEFLATE typique de 10 Mo en quelques dizaines de millisecondes, plusieurs fois plus vite que JSZip). Après la décompression, le CRC-32 des octets bruts est recalculé et comparé à la valeur du répertoire central ; une différence indique une corruption ou une altération. Deux aspects de sécurité sont importants pour tout chemin de code d'extraction. Le premier est la vulnérabilité Zip Slip (Snyk, 2018) : une archive malveillante peut contenir des entrées avec des séquences de traversée de chemin comme `../../etc/passwd`, et un extracteur naïf qui concatène le nom de l'entrée à un répertoire cible écrira en dehors du bac à sable prévu. La solution consiste à normaliser le chemin concaténé avec `path.resolve()` et à vérifier qu'il commence toujours par le répertoire cible avant toute écriture. Cet outil propose chaque entrée comme un téléchargement navigateur distinct via `URL.createObjectURL(new Blob([bytes]))` et le navigateur isole la destination, de sorte que la traversée de répertoire ne peut pas sortir du dossier Téléchargements de l'utilisateur, mais la même archive sur un extracteur côté serveur serait exploitable. Ensuite, les archives chiffrées ne sont pas gérées : le ZipCrypto traditionnel est un chiffrement par flux de 32 bits qui peut être cassé trivialement avec une attaque en texte clair connu de trois octets, et le WinZip AES-256 moderne (PKWARE APPNOTE 7.0) nécessite le champ supplémentaire AE-2 avec authentification HMAC-SHA1 — aucun de ces deux chemins n'est implémenté ici. Les archives dépassant 4 Gio s'appuient sur les champs supplémentaires de l'extension ZIP64 pour les tailles et positions sur 64 bits, que le lecteur doit lire à la place des champs 32 bits du répertoire central.

  • Ordre d'analyse : parcours en partant de la fin du fichier à la recherche de la signature EOCD `0x06054b50` (max 22 + 65535 octets depuis la fin) → accès au répertoire central → accès à chaque en-tête local.
  • Méthodes de compression : `0x00` stocké, `0x08` DEFLATE (RFC 1951, ~99 % des archives), `0x0C` BZIP2, `0x0E` LZMA, `0x5D` PPMd.
  • Intégrité : CRC-32 avec le polynôme `0xEDB88320` (IEEE 802.3 inversé) recalculé sur les octets extraits et comparé à la valeur du répertoire central.
  • Zip Slip (Snyk 2018) : les entrées contenant des séquences de traversée `../` peuvent écrire en dehors du répertoire d'extraction ; la solution consiste à normaliser et valider le chemin résolu avant l'écriture.
  • Implémentation navigateur : `File.arrayBuffer()` → JSZip / fflate `unzipSync()` → `URL.createObjectURL(new Blob([bytes]))` par entrée pour les téléchargements, sans aller-retour serveur.
  • Le chiffrement n'est pas géré : ZipCrypto est cassé en 3 octets de texte clair connu ; WinZip AES-256 (APPNOTE 7.0, champ supplémentaire AE-2 avec HMAC-SHA1) n'est pas implémenté ici.
  • ZIP64 (APPNOTE 4.5+) étend les champs de taille/position 32 bits à 64 bits via des champs supplémentaires ; requis pour les archives ou entrées individuelles dépassant 4 Gio (2³² − 1 octets).

Exemples

Afficher le contenu de l'archive

Afficher la liste des fichiers contenus dans une archive ZIP directement dans le navigateur, sans installer de logiciel d'extraction

Extraire des fichiers individuels

Télécharger uniquement le fichier dont vous avez besoin depuis l'archive, sans tout extraire

Extraction par lot

Extraire et télécharger tous les fichiers de l'archive en un seul clic

FAQ

Le ZIP est-il téléversé pour l'extraction ?

Non. La page lit le ZIP localement via l'API FileReader et décompresse les entrées dans le navigateur avec JSZip. Les fichiers ne quittent jamais votre appareil. Vous pouvez le confirmer dans l'onglet Réseau pendant l'extraction.

Quelles variantes ZIP sont prises en charge ?

Les fichiers ZIP standards utilisant la compression DEFLATE (la variante la plus courante). Les entrées Stored (non compressées) fonctionnent aussi. ZIP64 (pour les archives de plus de 4 Go) est pris en charge dans la plupart des versions. Les entrées chiffrées (protégées par mot de passe) ainsi que 7Z, RAR et TAR ne sont pas prises en charge : utilisez un outil dédié pour cela.

Puis-je extraire des ZIP protégés par mot de passe ?

Généralement non. JSZip ne gère pas les entrées chiffrées en ZipCrypto ni en AES. Déchiffrez d'abord avec 7-Zip ou WinRAR sur le bureau, puis recompressez et téléversez ici si vous devez en inspecter la structure.

Et si le ZIP contient des noms de fichiers chinois ou japonais ?

La page lit les noms de fichiers en UTF-8 par défaut. Les anciens ZIP créés sous Windows peuvent stocker les noms en GBK (chinois) ou Shift_JIS (japonais) sans positionner le drapeau UTF-8 : ceux-ci s'affichent illisibles. Recréez le ZIP avec un outil compatible UTF-8, ou utilisez 7-Zip sur le bureau avec le bon réglage de page de codes.

Quelle est la limite de taille de fichier ?

La mémoire du navigateur. Les ordinateurs de bureau modernes gèrent des ZIP de 1 Go et plus ; les navigateurs mobiles s'épuisent autour de quelques centaines de Mo. Pour de très grandes archives, utilisez un outil de bureau qui lit en flux depuis le disque.

Puis-je prévisualiser le contenu d'un fichier sans l'extraire ?

Oui pour les fichiers texte : cliquez sur n'importe quelle entrée et la page affiche son contenu. Les images sont prévisualisées en miniatures. Les entrées binaires (exécutables, ZIP imbriqués) n'affichent que les métadonnées ; téléchargez-les pour les inspecter.

Les fichiers cachés et les dotfiles sont-ils extraits ?

Oui. ZIP n'a pas de notion d'attribut « caché » : toutes les entrées sont visibles. Les noms commençant par un point (.gitignore, .env) sont extraits normalement ; traitez-les comme des fichiers ordinaires.