# RecursiveCharacterTextSplitter

> **Class** in `langchain_text_splitters`

📖 [View in docs](https://reference.langchain.com/python/langchain-text-splitters/character/RecursiveCharacterTextSplitter)

Splitting text by recursively look at characters.

Recursively tries to split by different characters to find one
that works.

## Signature

```python
RecursiveCharacterTextSplitter(
    self,
    separators: list[str] | None = None,
    keep_separator: bool | Literal['start', 'end'] = True,
    is_separator_regex: bool = False,
    **kwargs: Any = {},
)
```

## Extends

- `TextSplitter`

## Constructors

```python
__init__(
    self,
    separators: list[str] | None = None,
    keep_separator: bool | Literal['start', 'end'] = True,
    is_separator_regex: bool = False,
    **kwargs: Any = {},
) -> None
```

| Name | Type |
|------|------|
| `separators` | `list[str] \| None` |
| `keep_separator` | `bool \| Literal['start', 'end']` |
| `is_separator_regex` | `bool` |


## Methods

- [`split_text()`](https://reference.langchain.com/python/langchain-text-splitters/character/RecursiveCharacterTextSplitter/split_text)
- [`from_language()`](https://reference.langchain.com/python/langchain-text-splitters/character/RecursiveCharacterTextSplitter/from_language)
- [`get_separators_for_language()`](https://reference.langchain.com/python/langchain-text-splitters/character/RecursiveCharacterTextSplitter/get_separators_for_language)

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/f0c5a28fa05adcda89aebcb449d897245ab21fa4/libs/text-splitters/langchain_text_splitters/character.py#L88)