# Chunking keeps line breaks and indentation

> Agno's FixedSizeChunking and RecursiveChunking now keep newlines and tabs when they clean text, so code, lists and Markdown keep their structure in each chunk.

- Published: 2026-09-16
- Author: icn5381
- Categories: Changelog
- Canonical: https://www.agno.com/articles/chunking-keeps-line-breaks-and-indentation
- Markdown: https://www.agno.com/articles/chunking-keeps-line-breaks-and-indentation.md

Agno's `FixedSizeChunking` and `RecursiveChunking` clean each document before they split it, and cleaning now keeps a line break as a line break and a tab as a tab. It used to replace every newline and tab with a space, so code, lists and Markdown reached your vector database as a single line.

![The same text after cleaning, before and now. Before, "Steps:", "- Open a ticket" and "- Attach the receipt" ran together on one line. Now the three lines stay separate, with the tab before the last item.](https://www.agno.com/images/v3-0-10-chunking-whitespace.png)

Cleaning still collapses repeated spaces, tabs and line breaks.

To give stored chunks this structure, re-insert the documents you chunked with these strategies.

See the [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/07_knowledge/09_archive/chunking/fixed_size_chunking.py), and learn more about [fixed-size chunking](https://docs.agno.com/knowledge/concepts/chunking/fixed-size-chunking) and [recursive chunking](https://docs.agno.com/knowledge/concepts/chunking/recursive-chunking) in the documentation.
