Unstructured-IO /unstructured

Convert documents to structured data effortlessly. Unstructured is open-source ETL solution for transforming complex documents into clean, structured formats for language models. Visit our website to learn more about our enterprise grade Platform product for production grade workflows, partitioning, enrichments, chunking and embedding.

★ 15,708⑂ 1,392
HTMLCreated 2022-09-26www.unstructured.io/
15,708
stars
+32+37+182
1,392
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

!https://pypi.python.org/pypi/unstructured/
  !https://pypi.python.org/pypi/unstructured/
  !https://GitHub.com/unstructured-io/unstructured.js/graphs/contributors
  !code_of_conduct.md 
  !https://GitHub.com/unstructured-io/unstructured.js/releases
  !https://github.com/Naereen/badges/
  
  
  
	
   




  
  
    
  
  
    
  



  Open-Source Pre-Processing Tools for Unstructured Data


The unstructured library provides open-source components for ingesting and pre-processing images and text documents, such as PDFs, HTML, Word docs, and many more. The use cases of unstructured revolve around streamlining and optimizing the data processing workflow for LLMs. unstructured modular functions and connectors form a cohesive system that simplifies data ingestion and pre-processing, making it adaptable to different platforms and efficient in transforming unstructured data into structured outputs.

 [!NOTE]
 The open-source library is, and will stay, completely free. If you need higher-quality output, though, our latest models are available through the Transform v2 API. Compared with this library, Transform gets 2x table content accuracy, 58% less invented content, and 0.878 text accuracy (vs. 0.715):

 | Model | Table Cell Content | Table Cell Spatial | Adjusted CCT (text accuracy) | Tokens Added (lower is better) |
 |---|---|---|---|---|
 | Transform (Best) | 0.866 | 0.853 | 0.878 | 0.050 |
 | Unstructured OSS | 0.426 | 0.498 | 0.715 | 0.119 |

 OSS: unstructured.io/benchmarks (1,000+ pages). Transform Best: SCOREBench, 224 pages, Sept 2026.


 :eight_pointed_black_star: Quick Start

There are several ways to use the unstructured library:
 Run the library in a container or
 Install the library
    1. Install from PyPI
    2. Install for local development
 For installation with conda on Windows system, please refer to the documentation

 Run the library in a container

The following instructions are intended to help you get up and running using Docker to interact with unstructured.
See here if you don't already have docker installed on your machine.

NOTE: we build multi-platform images to support both x86_64 and Apple silicon hardware. docker pull should download the corresponding image for your architecture, but you can specify with --platform (e.g. --platform linux/amd64) if needed.

We build Docker images for all pushes to main. We tag each image with the corresponding short commit hash (e.g. fbc7a69) and the application version (e.g. 0.5.5-dev1). We also tag the most recent image with latest. To leverage this, docker pull from our image repository.

bash
docker pull downloads.unstructured.io/unstructured-io/unstructured:latest


Once pulled, you can create a container from this image and shell to it.

bash
 create the container
docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest

 this will drop you into a bash shell where the Docker image is running
docker exec -it unstructured bash


You can also bui

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON