> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload documents

> Add files to your knowledge — drag & drop, paste URLs, or import from a link.

The Knowledge page in your workspace is the fastest way to get docs into Nora without setting up a full Foundry pipeline.

## Ways to upload

### Drag & drop

Open a document collection. Drop files anywhere on the page. Uploads run in the background; you'll see per-file progress and a done state.

Supported formats:

* **Text**: `.txt`, `.md`, `.mdx`, `.rst`, `.tex`
* **Documents**: `.pdf`, `.docx`, `.doc`, `.pages`, `.rtf`
* **Web**: `.html`, `.htm`
* **Data**: `.csv`, `.tsv`, `.xlsx`, `.json`
* **Presentations**: `.pptx`, `.key`
* **Email**: `.eml`, `.msg`
* **Code**: `.js`, `.ts`, `.py`, `.go`, `.rs`, `.java`, `.rb`, `.php`, `.cpp`, `.c`, `.sql`

Max 100 MB per file. Larger files should come through a Foundry pipeline.

### Paste URLs

Click **Import URL** and paste a link. Nora fetches, extracts the readable content (drops nav, ads, cookie banners), and adds it as a document.

Works with:

* Public web pages (readability extraction).
* Public Google Docs.
* Notion public pages.
* Raw file URLs (uses the file type of the response).

### From CLI

```bash theme={null}
nora knowledge upload <file> --collection <name>
nora knowledge upload-url <url> --collection <name>
```

Good for scripted bulk uploads.

## What happens after upload

1. **Extract** — text and tables pulled from the file.
2. **Dedupe** — content hash checked against the collection. Identical uploads are skipped.
3. **Chunk** — split into retrievable pieces using the collection's default chunker.
4. **Enrich** — embedding, auto-tagging, entity extraction.
5. **Index** — written to the retrieval index. Live within seconds.

You can watch it happen in the document's row — status ticks through `uploading → extracting → chunking → indexing → ready`.

## Setting collection defaults

Each collection has default chunker settings and default enrichers. Change under **Collection settings → Ingest defaults**. New uploads use the current defaults; existing chunks aren't re-processed unless you click **Reprocess**.

## Metadata

Add metadata during upload:

* **Tags** — free-form or from your workspace tag palette.
* **Folder** — organize within the collection.
* **Source URL** — where the document originally lived. Shown as a citation.
* **Custom fields** — any workspace-defined field.

Metadata can be edited any time from the document's row — changes take effect immediately without re-processing chunks.

## Bulk upload

For > 100 files, use the CLI or a Foundry pipeline. The web upload is fine up to a few dozen files at a time but slows above that.

## Failed uploads

Common causes:

* Encrypted PDFs — Nora can't extract text. Decrypt first.
* Image-only PDFs — enable OCR in collection settings (adds latency, small cost).
* Files above 100 MB — split or use a pipeline.
* Corrupt files — extractor will retry once, then fail. Re-export the file cleanly.

Every failure shows the reason in the document row and a full log under **details**.
