---
name: "pdf123-split-by-size"
description: "Split a PDF into parts of N pages each, or into N equal documents. Runs the PDF123 \"Split PDF by Page Count\" tool (pdf123.xyz) over its REST API with curl, no account needed. Use when the user wants this done to their file. Also known as: 按页数拆分 PDF, Dividir PDF por número de páginas, पृष्ठ संख्या से PDF बाँटें, تقسيم PDF حسب عدد الصفحات, Pisah PDF menurut jumlah halaman, Diviser le PDF par nombre de pages, Разделить PDF по числу страниц, ページ数でPDFを分割, Nach Seitenzahl teilen, 페이지 수로 PDF 분할, Tách PDF theo số trang, PDF'i sayfa sayısına göre böl, 依頁數分割 PDF, Dividi PDF per numero di pagine, แยก PDF ตามจำนวนหน้า, Podziel PDF według liczby stron, Розрізати PDF за кількістю сторінок, PDF splitsen op aantal pagina's, Asingkan PDF mengikut bilangan halaman, Dela PDF efter sidantal, Διαχωρισμός PDF κατά αριθμό σελίδων, Разделяне на PDF по брой страници, Parteix per nombre de pàgines, Gawanya kwa idadi ya kurasa."
compatibility: "Needs curl 7.76+ and outbound HTTPS to pdf123.xyz, or PDFX_API_BASE pointing at a self-hosted pdfx-server."
---

# Split PDF by Page Count (PDF123)

Split a PDF into parts of N pages each, or into N equal documents.

Web version: https://pdf123.xyz/split-by-size · All tools: https://pdf123.xyz/skills/pdf123.md

## When to use

- Cut a 100-page PDF into 10-page pieces
- Divide a long scan into 4 equal parts
- Prepare chunks for a system that limits page count

## Run it

Replace the sample file names and values with the user's, then run:

```bash
API="${PDFX_API_BASE:-https://pdf123.xyz}"
curl -sS --fail-with-body -X POST "$API/api/v1/general/split-by-size-or-count" \
  -F "fileInput=@input.pdf" \
  -F "splitType=1" \
  -F "splitValue=1" \
  --output-dir "pdf123-output/$(date +%Y%m%d-%H%M%S)" --create-dirs -OJ -w '%{filename_effective} %{content_type}\n'
```

## Inputs

Everything is `multipart/form-data`. The command above already sends each field with its default; keep them all and change only the values the user asked for, since some endpoints reject a missing optional field.

| Field | Type | Required | Default | Notes |
| --- | --- | --- | --- | --- |
| `fileInput` | file | yes | | .pdf (one file) |
| `splitType` | choice | no | `1` | Split by. One of: `1` (By page count), `2` (By document count) |
| `splitValue` | number | no | `1` | Value |

## Result

curl saves the result in a new `pdf123-output/<timestamp>/` directory under the server's file name and prints its path and content type. Several output files come back as one ZIP. Tell the user where the file is.

## Limits

- No split by file size
- The value must be a whole number of 1 or more
- Password-protected files need the password; API callers run Unlock first
- Upload limit on this website: 500 MB per file, sent in chunks above about 95 MB. A single direct API request body is capped at 100 MB.

## Errors

- A non-zero curl exit means the request failed. The saved file then holds `application/problem+json`; read it and report its `detail` to the user instead of retrying blindly.
- `413`: the upload exceeds 100 MiB. `429`: wait for `Retry-After` seconds, then retry once.
- Send `X-API-KEY: $PDFX_API_KEY` only if the user has a PDF123 API key; anonymous calls work without it.

## Privacy

Files are uploaded to the API host, processed, and deleted once the response is sent. For confidential files, ask before uploading, or use a self-hosted server via `PDFX_API_BASE`.
