Split a .zip into smaller standalone zips
split_zipSplits an oversized .zip into smaller, individually valid zip parts under a chosen size limit for upload, returning each part’s path and byte size so all parts can be sent.
Instructions
Use when a .zip is too big to upload/attach. Splits it into parts named _part01.zip, _part02.zip ... each <= max_mb, and each a complete, valid zip that opens on its own (files are never cut unless a single file is bigger than a part; such files become .001/.002 pieces). Returns absolute paths and byte sizes of every part: upload all of them. Never overwrites anything. The original can be rebuilt exactly (SHA-256 verified) with the rebuild tool or the AgentParcel apps. For anything that is not a .zip (folders, logs, videos...) use split_files.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path of the .zip to split. | |
| max_mb | No | Max size of each part in MiB (1 MB here = 1,048,576 bytes). Default 19.5. If your upload limit is in decimal MB (e.g. 20 MB = 20,000,000 bytes) pass max_bytes or a smaller max_mb. | |
| preset | No | Pick the part size from a platform cap. custom (default) uses max_mb/max_bytes. chatgpt-dot: 19,000,000 bytes (under a 20,000,000 byte ChatGPT Dot cap). chat-512: 500,000,000 bytes (under a 512,000,000 byte chat cap; products differ). discord: 24,000,000 bytes for the free 25 MB limit (Nitro is higher and is not this preset). email: 24,000,000 bytes under a common 25 MB attachment cap (other providers differ). github-release: 1,900,000,000 bytes under GitHub's 2 GB release-asset limit. A named preset sets the part size. max_mb is ignored. max_bytes together with a named preset is an error. These limits can change; confirm the current one before a large send. | |
| max_bytes | No | Exact max size of each part in bytes. Overrides max_mb. Do not combine with a named preset. | |
| output_dir | No | Absolute folder to write into. A new sub-folder '<name>_split' (or ' (2)', ' (3)'... if taken) is created inside it. Default: the folder of the input. | |
| include_apps | No | Also write AgentParcel-apps.zip (AgentParcel for Windows, Mac and Linux, about 0.35 MB; not a part) so a human recipient can rebuild. | |
| unpack_inner | No | Unpack zips found inside so their files can be spread over parts and opened directly; rebuild puts the inner zips back (same files, verified). | |
| create_output_dir | No | Create output_dir if it does not exist (otherwise that is an error). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| parts | No | ||
| set_id | No | ||
| max_bytes | No | ||
| output_dir | No | ||
| part_count | No | ||
| how_to_rebuild | No |