Unstructured
Open-source library plus hosted Platform/API that turns messy documents — PDF, HTML, docx, images, email — into clean, chunked JSON for LLMs and RAG.
Unstructured preprocesses messy documents — PDF, HTML, docx, images, email — into clean, chunked JSON ready for LLMs and RAG. It ships as an Apache-2.0 Python library and a hosted Platform/API with source and destination connectors, partitioning files into typed elements, then enriching, chunking, and embedding them as an ingestion ETL layer.
Unstructured is a document preprocessing and ETL layer for LLMs. Real-world source data — PDFs, HTML, Word and PowerPoint files, spreadsheets, scanned images, and email — is messy and inconsistent, and feeding it raw into a RAG pipeline produces poor retrieval. Unstructured partitions each file into typed elements (Title, NarrativeText, Table, ListItem, and more), applies OCR and layout detection where needed, and emits clean, structured JSON that downstream chunking and embedding can rely on.
It comes in two forms. The open-source library (unstructured, Apache-2.0) runs locally and handles partitioning across dozens of file types through a single partition entry point. The hosted Platform/API layers on source and destination connectors, enrichment, chunking, and embedding, so teams can build continuous ingestion pipelines from data sources into vector databases and warehouses without operating the infrastructure.
Highlights
- Many file types — one pipeline for PDF (digital and scanned), HTML, DOCX, PPTX, XLSX, CSV, images, EML/MSG, EPUB, Markdown, and more.
- OSS + Platform/API — Apache-2.0 library for local use, plus a managed API with connectors and workflows.
- RAG-ready output — partition into typed elements, then chunk (e.g. by title) and serialize to JSON tuned for retrieval.
- Connectors — source and destination integrations for vector stores and data platforms like Pinecone, Weaviate, Databricks, Snowflake, and MongoDB.
Good to know
Unstructured is freemium: the core library is free and self-hostable under Apache-2.0, while the hosted Platform/API is usage-based with a free tier and enterprise (dedicated/VPC) options. It sits at the start of a RAG stack — see how RAG works and best RAG frameworks 2026 for where ingestion fits, and pair it with a chunking strategy optimizer once documents are parsed.
Frequently asked questions
- What is Unstructured?
- Unstructured is a document preprocessing and ETL layer for LLMs. It partitions messy files — PDFs (digital and scanned), HTML, DOCX, PPTX, XLSX, images, EML/MSG email, and dozens of other formats — into clean, typed elements like Title, NarrativeText, and Table, then chunks and serializes them into JSON ready for RAG and other LLM pipelines.
- Is Unstructured free?
- It's freemium. The core library is open source under Apache-2.0 and free to self-host. The hosted Platform/API adds connectors, enrichment, embedding, and managed pipelines on a usage-based model with a free tier, plus paid usage and enterprise (dedicated/VPC) options.
- How do I use Unstructured?
- Install the open-source `unstructured` Python package and call `partition` to convert a file into elements locally, or use the hosted Platform/API to wire source connectors, processing workflows, and destination connectors (vector stores, warehouses) without managing infrastructure yourself.
Related
- How RAG Actually Works: Ingestion, Chunking, Retrieval & RerankingA clear, practical walkthrough of the retrieval-augmented generation pipeline — what each stage does, where it fails, and how the pieces fit together.
- Best RAG Frameworks in 2026A roundup of the top RAG frameworks in 2026 — LlamaIndex, LangChain, Haystack, and DSPy — and which one fits your retrieval stack.
- Chunking Strategy OptimizerFind the chunking strategy and size that maximizes retrieval quality for a specific corpus, by sweeping configurations against a fixed eval set instead of guessing. Use when RAG answers miss obvious content, when standing up a new corpus, or when picking chunk size/overlap.
- Multimodal Document ExtractorExtract structured data from documents and images with a vision-language model — define the target schema, prompt the VLM to fill it from the page (invoices, forms, receipts, statements, IDs), and verify critical fields against the source. Use when you need reliable structured output from messy, varied, or scanned documents that defeat template-based OCR.
- Multimodal RAG over PDFs, Scans & Charts: Two Approaches That Actually WorkRAG over visual documents — PDFs, scans, charts — where text-only extraction loses tables and layout. Parse-then-text vs embed-the-page-image, with trade-offs.