Home/Data & Retrieval/unstructured
unstructured logo

unstructured

Unstructured-IO/unstructured

Convert documents to structured data effortlessly

GraphCanon updated 2w · GitHub synced 2w · 25 views this month

15k stars1.3k forksLast push 2w HTML Apache-2.0

Decision brief

Unstructured is an open-source ETL solution designed specifically to convert complex documents into structured data suitable for language models.

Good fit when

  • When you need to transform various types of unprocessed, complex documents (including PDFs, images with text) into formats that are easily usable by machine learning pipelines.
  • If your project requires processing a wide variety of document formats and the ability to parse these quickly using Docker containers or locally installed packages.

Avoid when

  • When your workflow is limited to only one type of data, as Unstructured might introduce unnecessary complexity due to its broad support for multiple data types.
  • If you prefer a proprietary solution with dedicated enterprise-level support and features that are beyond the scope of an open-source project like Unstructured.
Requirements:
Requires Docker; Building Docker images independently may require customizing the `Dockerfile` to include only necessary packages/requirements based on specific data parsing use; The base image `wolfi-base`, a regularly updated image, might cause build failures due to upstream changes but can be managed by specifying requirements.

Observed Jul 11, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Very active (0d since push)
As of 2w
Provenance
Not a fork · Organization account
As of 2w
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

git clone https://github.com/Unstructured-IO/unstructured

How it fits your stack(11)

Typed graph edges - alternatives, integrations, successors, and dependencies. Ranked by relationship type, not raw GitHub stars.

Relationship graph

Optional deeper exploration of typed edges and category neighbours.

Similar tools

Same-category neighbours not already linked as typed edges.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Unstructured is an open-source ETL solution for transforming complex documents into clean, structured formats suitable for language models.

Capability facts

Deploy
Self-host

Source: dockerfile:Dockerfile · Aug 1, 2026

Docker
Dockerfile present

Source: dockerfile:Dockerfile · Aug 1, 2026

CLI
CLI entrypoint

Source: pyproject.toml:[project.scripts] · Aug 1, 2026

Languages
html, python

Source: github.language+pyproject.toml · Aug 1, 2026

Categories

Graph entities

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Aug 1, 2026)

Once in the running container, you can try things directly in Python interpreter's interactive mode.
Source link

Tags

README

:eight_pointed_black_star: Quick Start

There are several ways to use the unstructured library:


this will drop you into a bash shell where the Docker image is running

docker exec -it unstructured bash


You can also build your own Docker image. Note that the base image is `wolfi-base`, which is
updated regularly. If you are building the image locally, it is possible `docker-build` could
fail due to upstream changes in `wolfi-base`.

If you only plan on parsing one type of data you can speed up building the image by commenting out some
of the packages/requirements necessary for other data types. See Dockerfile to know which lines are necessary
for your use case.

```bash
make docker-build

---

# this will drop you into a bash shell where the Docker image is running
make docker-start-bash

Once in the running container, you can try things directly in Python interpreter's interactive mode.


---

### Installation Instructions for Local Development

The following instructions are intended to help you get up and running with `unstructured`
locally if you are planning to contribute to the project.

This project uses [uv](https://docs.astral.sh/uv/) for dependency management. Install it first:

```bash

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.