---
title: "Upload files"
description: "Upload PDFs, Word documents, CSVs, Markdown, HTML, JSON, EPUB, text and zip files to give your bot knowledge from your documents."
canonical_url: "https://chatthing.ai/docs/knowledge/files"
last_updated: "2026-09-25"
---

# Upload files

Upload documents such as manuals, policies, price lists or product guides so your bot can answer questions from them.

**Who can do this:** [team owners and admins](https://chatthing.ai/docs/account/teams#what-each-role-can-do).

## Supported files

| Format | Notes |
| --- | --- |
| PDF (`.pdf`) | Text only. Scanned pages or text inside images can't be read. |
| Word (`.docx`) |  |
| CSV (`.csv`) | Each row becomes its own entry. |
| Markdown (`.md`), text (`.txt`) |  |
| HTML (`.html`), web archive (`.mht`) |  |
| JSON (`.json`) |  |
| EPUB (`.epub`) |  |
| Zip (`.zip`) | Unpacked, and each supported file inside is added separately. EPUB files inside a zip are skipped. |

The upload dialog shows the maximum size for each file.

## Steps

1. Open your bot, go to the **Data sources** tab and click **New data source**.
2. Choose **Upload files** and click **Create data source**.
   ![The Upload files data source card selected on the Choose a data source page](https://res.cloudinary.com/djyjvrw5u/image/upload/v1721381213/upload_files_9a27f3610d.png)
3. On the **Content** tab, click **Upload files**.
   ![The Content tab of a new file data source, with an Upload files button and an Upload content button in the empty table](https://res.cloudinary.com/djyjvrw5u/image/upload/v1721381429/upload_files_settings_2ac37bbd0b.png)
4. Drag your files into the **Select files** dialog, or click to choose them.
   ![The Select files dialog listing the supported file extensions above a drop area with a browse button](https://res.cloudinary.com/djyjvrw5u/image/upload/v1687358979/Xnapper_2023_06_21_15_44_33_e1644ce8eb.png)
5. Check your files are listed. Upload more if you need to.
6. Click **Synchronise**.
   ![An uploaded PDF listed as Not synced, with the Synchronise button at the top of the page highlighted](https://res.cloudinary.com/djyjvrw5u/image/upload/v1721381743/sync_files_52579aab06.png)

## Update a file

To replace a file with a newer version, delete the old file's row on the **Content** tab, upload the new version and click **Synchronise**.

## Check it works

1. After the sync, each file's **Status** shows **Finished** and its **Storage tokens** are filled in.
2. Ask your bot a question that one of the files answers.

## How your files are stored

Uploaded files are kept in private storage that only Chat Thing's systems can access. We read them when the data source syncs, to extract their text for your bot. When you delete the file data source or the bot, the files are deleted. See [security and data](https://chatthing.ai/docs/account/security-and-data) for more on how data is handled.

## Troubleshooting

### A PDF synced but the bot can't answer from it

The PDF is probably a scan: an image of text rather than text. Check by trying to select text in a PDF viewer. Convert it with OCR software first, or add the content as [manual content](https://chatthing.ai/docs/knowledge/manual).

### My file type isn't accepted

Save it in one of the supported formats first. For example, export spreadsheets as CSV, or save a Google Doc or Pages file as Word (`.docx`) or PDF.

## Related

- [Add, sync and delete data sources](https://chatthing.ai/docs/knowledge/manage-data-sources): Add a data source to your bot, sync it, re-sync after changes and delete it, plus how many data sources each plan allows and per-type limits.
- [Security and data handling](https://chatthing.ai/docs/account/security-and-data): Where Chat Thing stores your data, which AI providers process it, whether it's used for training, how access and deletion work, GDPR, DPA and SOC 2.
