---
title: "Split Recursively"
description: "Local-first visual environment for building and running AI workflows. Build agents visually, deploy anywhere, privacy by design."
canonical: https://docs.nodetool.ai/nodes/nodetool/document/splitrecursively
markdown: https://docs.nodetool.ai/nodes/nodetool/document/splitrecursively.md
product: NodeTool
source: https://github.com/nodetool-ai/nodetool/blob/main/docs/nodes/nodetool/document/splitrecursively.md
---

# Split Recursively

**Type:** `nodetool.document.SplitRecursively`

**Namespace:** `nodetool.document`

## Description

Splits text recursively using LangChain's RecursiveCharacterTextSplitter.
    text, split, chunks

    Use cases:
    - Splitting documents while preserving semantic relationships
    - Creating chunks for language model processing
    - Handling text in languages with/without word boundaries

## Properties

| Property | Type | Description | Default |
|----------|------|-------------|---------|
| document | `document` |  | `{"type":"document","uri":"","asset_id":null,"da...` |
| chunk_size | `int` | Maximum size of each chunk in characters | `1000` |
| chunk_overlap | `int` | Number of characters to overlap between chunks | `200` |
| separators | `list[str]` | List of separators to use for splitting, in order of preference | `["\\n\\n","\\n","."]` |

## Outputs

| Output | Type | Description |
|--------|------|-------------|
| text | `str` |  |
| source_id | `str` |  |
| start_index | `int` |  |
| chunks | `list` |  |

## Related Nodes

Browse other nodes in the [nodetool.document](./) namespace.
