--- title: Split Text slug: /split-text --- import Icon from "@site/src/components/icon"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PartialParams from '@site/docs/_partial-hidden-params.mdx'; import PartialCurlyBraces from '@site/docs/_partial-escape-curly-braces.mdx'; The **Split Text** component splits data into chunks based on parameters like chunk size and separator. It is often used to chunk data to be tokenized and embedded into vector databases. For examples, see [Use embedding model components in a flow](/components-embedding-models#use-embedding-model-components-in-a-flow) and [Create a Vector RAG chatbot](/chat-with-rag). ![An embedding generation flow that uses a Split Text component to chunk data.](/img/component-split-text.png) The component accepts `Message`, `JSON`, or `Table`, and then outputs either **Chunks** or **DataFrame**. The **Chunks** output returns a list of [`JSON`](/data-types#json) objects containing individual text chunks. The **DataFrame** output returns the list of chunks as a structured [`Table`](/data-types#table) with additional `text` and `metadata` columns. ## Split Text parameters The **Split Text** component's parameters control how the text is split into chunks, specifically the `chunk_size`, `chunk_overlap`, and `separator` parameters. To test the chunking behavior, add a **Text Input** or **Read File** component with some sample data to chunk, click