# Splitter: web app, CLI and MCP

## What it does
Split a PDF by page ranges, bookmarks, or fixed size. Splits a PDF into multiple files by page, range, or single page.

## Inputs and limits
**Command line options**

* `--range` (string, default null): Pages to extract, e.g. 1,3,5-7 (default: every page).
* `--page` (int, default 0): Single page number to extract; 0 means unused.
* `--split-type` (int, default 1): Split strategy code (default 1).
* `--parameters` (string, default null): Strategy-specific parameters; null = none.

**MCP parameters of `split_document`**

* `fileUrl` (string, required): Public URL of the PDF to split
* `splitType` (integer, required): Split type: 0=pages, 1=bookmarks, 2=size
* `parameters` (string): Page range or interval (e.g. '1-3,5' or '5')

## Web app
Open the web app: [Split a PDF](https://products.documentize.app/split-pdf).

## Command line (CLI)
The `Documentize.Split` plugin: Splits a PDF into multiple files by page, range, or single page.

Replace `input-file` with your file and add the options listed above after `--task-id job1`.

```bash
# Linux / macOS (needs the .NET 10 runtime and documentize.lic next to the DLL)
export PLUGIN_INPUT_DIR=./work/input
export PLUGIN_OUTPUT_DIR=./work/output
mkdir -p "$PLUGIN_INPUT_DIR/job1"
cp input-file "$PLUGIN_INPUT_DIR/job1/"
dotnet Documentize.Split.dll --task-id job1
ls "$PLUGIN_OUTPUT_DIR/job1"
```

```powershell
# Windows PowerShell
$env:PLUGIN_INPUT_DIR  = "$PWD\work\input"
$env:PLUGIN_OUTPUT_DIR = "$PWD\work\output"
New-Item -ItemType Directory -Force "$env:PLUGIN_INPUT_DIR\job1" | Out-Null
Copy-Item input-file "$env:PLUGIN_INPUT_DIR\job1\"
dotnet Documentize.Split.dll --task-id job1
Get-ChildItem "$env:PLUGIN_OUTPUT_DIR\job1"
```

The `Documentize.SplitDoc` plugin: Splits a non-PDF document (Word/Excel/PowerPoint) using a strategy code.

Replace `input-file` with your file and add the options listed above after `--task-id job1`.

```bash
# Linux / macOS (needs the .NET 10 runtime and documentize.lic next to the DLL)
export PLUGIN_INPUT_DIR=./work/input
export PLUGIN_OUTPUT_DIR=./work/output
mkdir -p "$PLUGIN_INPUT_DIR/job1"
cp input-file "$PLUGIN_INPUT_DIR/job1/"
dotnet Documentize.SplitDoc.dll --task-id job1
ls "$PLUGIN_OUTPUT_DIR/job1"
```

```powershell
# Windows PowerShell
$env:PLUGIN_INPUT_DIR  = "$PWD\work\input"
$env:PLUGIN_OUTPUT_DIR = "$PWD\work\output"
New-Item -ItemType Directory -Force "$env:PLUGIN_INPUT_DIR\job1" | Out-Null
Copy-Item input-file "$env:PLUGIN_INPUT_DIR\job1\"
dotnet Documentize.SplitDoc.dll --task-id job1
Get-ChildItem "$env:PLUGIN_OUTPUT_DIR\job1"
```

All command line plugins: [Documentize CLI plugins](https://products.documentize.ai/pdf-cli).

## MCP
`split_document`: Split a PDF by page ranges, bookmarks, or fixed size. Returns a task ID.

Client configuration (the key comes from your Documentize account):

```json
{
  "mcpServers": {
    "documentize": {
      "url": "https://api.documentize.app/mcp",
      "headers": {
        "Authorization": "Bearer dmk_YOUR_KEY_HERE"
      }
    }
  }
}
```

Tool call (`tools/call`). The tool returns a task id; poll `get_task_status` until it reports 200, then download the file from `uploadFileName`:

```json
{
  "name": "split_document",
  "arguments": {
    "fileUrl": "https://example.org/document.pdf",
    "splitType": 1
  }
}
```

About the MCP server: [Documentize MCP server](https://products.documentize.ai/pdf-mcp).

## Related guides

* [Merge PDF files: web app, CLI, and C# libraries](/docs/merger)
* [Delete pages from a PDF: web app and CLI](/docs/delete-page)
* [Rotate PDF pages: web app and CLI](/docs/rotation)
* [Resize PDF pages: web app, CLI, MCP and C# (FOSS)](/docs/resize)
* [Booklet: web app](/docs/booklet)

## Verification status
**Not verified.** This guide is built from the product documentation and the app's own page. The commands and calls above have not been run successfully, so they may need changes, and the file names in them are placeholders. Written on 2026-11-04; a verified guide replaces this page when the app passes the checks.
