Archive Workbench

Archive Workbench

Inspect and edit a small ZIP without uploading it. This workbench checks the raw directory before unpacking, verifies each file's CRC-32 while reading, and keeps edits in memory until you download a new ZIP. It preserves safe nested paths and original file bytes.

Classic ZIP only: up to 40 MiB input/output, 100 entries, 8 MiB per file, 32 MiB expanded in total and a declared compression ratio up to 100:1. ZIP64, encryption, symlinks and legacy non-ASCII names are unsupported. Repacked entries are stored without compression.

Ready for a local ZIP or new archive.

Archive entries and validation

New archive: 0 entries, 0 files, 0 uncompressed bytes

Imported files passed CRC-32 validation. The compressed size is from the original ZIP; a dash means the file was added here.

No entries yet. Open a ZIP, load the example or add files.

Comments & questions

Archive Workbench

Inspect and edit a small ZIP without uploading it. This workbench checks the raw directory before unpacking, verifies each file's CRC-32 while reading, and keeps edits in memory until you download a new ZIP. It preserves safe nested paths and original file bytes.

Key features

  • List safe ZIP paths, sizes and CRC-32 values after verifying the actual file bytes
  • Reject traversal paths, duplicate aliases, encrypted entries and unsupported ZIP variants before extraction
  • Limit entries, file sizes, total uncompressed bytes and declared compression ratios
  • Add local files, remove entries and download individual files
  • Save a new ZIP and reopen it with a standard ZIP reader
  • Work entirely in the browser with no account or file upload

How to use

  1. Open a local .zip file or load the example archive.
  2. Review its entry paths, original compressed sizes, uncompressed sizes and validated CRC-32 values.
  3. Add local files or remove unwanted entries. Added files use their basename at archive root.
  4. Download an individual file if needed, then choose Download rebuilt ZIP and check the saved result.

Use cases

  • Remove an unwanted document from a small ZIP before sharing
  • Add a readme or license file to a ZIP containing nested folders
  • Inspect suspicious archive paths and CRC failures without extracting to disk
  • Check a ZIP's file inventory and download one safe member

Frequently asked questions

Which archive formats work?

Only classic single-disk .zip archives with stored or Deflate members. RAR, 7z, TAR, ZIP64, encrypted archives, multi-volume archives and non-ASCII legacy filename encodings are unsupported. The new ZIP uses stored entries, so it may be larger than the input.

How do you stop ZIP slip and decompression bombs?

The raw ZIP directory is checked before decompression. Absolute or parent paths, unsafe separators and path aliases are rejected. Inputs are capped at 40 MiB, each file at 8 MiB, total expanded bytes at 32 MiB, 100 entries and a declared compression ratio of 100:1. The reader also stops if streamed bytes exceed the declared size.

Are CRC-32 values verified?

Yes. Each file is decompressed under a byte cap and its actual bytes are checked against the ZIP CRC-32. CRC-32 detects accidental damage, but is not a cryptographic authenticity or malware check.

Will my original ZIP metadata survive?

File bytes and safe names survive. Repacking creates a new stored ZIP; compression method, timestamps, comments, permissions and extra fields are not preserved. Symlinks and special files are rejected.

Are my files uploaded?

No. The ZIP and additions are read locally and downloads are generated in this tab. Large files are rejected before being read.

Privacy

ZIPs and added files stay in this browser tab. They are read with the File API and processed in memory; no archive content is sent to the server or analytics.

References

Related Tools

Batch File RenamerFile Manifest VerifierFolder Space MapWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →