Unstructured
Open-source partitioning of PDFs and other documents into structured elements for LLM pipelines.
Jobs Extract
Where your files are processed
Reported to stay on your device
Claimed by the vendor. Not yet independently verified. That is a property of the library itself: what an application built with it does with your file depends on that application, not on this.
The library runs on your own machine or in your own container, so documents stay local. Two exceptions, and they are different in kind: the hosted API and Pipelines products are services you upload to, and the library itself contacts an Unstructured endpoint by default to send telemetry — usage metadata, not document content, but a network call the operator may not expect from a local tool.
What it does
Unstructured turns a document into a list of typed elements — titles, narrative text, tables, list items — that a language-model pipeline can work with, and it does the same job across PDFs, HTML, Word files and more. The library is open source and runs locally in a container or a virtual environment; the same company sells a hosted API and a managed Pipelines product for teams that would rather not run it. It is the ingestion step rather than an editor: it reads documents and returns elements.
Best for: Anyone building a retrieval or model-training pipeline who needs one interface across many file types and does not want to write a parser per format. The open-source library is the reason to choose it over the hosted competitors, and it is credible for PDFs specifically.
Worth knowing: The library sends telemetry by default. Importing it and calling a partition function pings an Unstructured endpoint with package and platform details, which is a surprising default for a tool whose selling point is that it runs on your own machine, and it has to be disabled deliberately with an environment variable. Its PDF handling also splits into a fast path and a heavy one: the higher-accuracy strategy pulls in deep-learning dependencies and OCR models that are far larger than the library itself, so "pip install unstructured" is not what a production PDF pipeline actually ends up installing. And the hosted products are on a different footing from the library — they are commercial and priced per page, so teams that prototype on the open-source package and move to the hosted API are moving onto different terms.
Details, and where each comes from
Vendor statements, our own reading of their pages, and the things nobody has established yet, each answered separately. Where we have not confirmed something it says so rather than guessing, and a row nobody has established is greyed out.
- Versions covered
- Self-hosted · Linux · Windows · macOS
- Website
- github.com
- Requires an account
- Not applicable
- Free tier
- Yes
- Watermark on the free tier
- Not verified
- Maximum file size
- Not verified
- Batch processing
- Yes
- Data residency
- Not verified
- Open source
- Yes
- Self-hostable
- Yes
- Licence
- Apache-2.0 for the library; the hosted API and Pipelines are commercial
- Redaction
- No redaction feature
- Programmatic access
- Embeddable library · HTTP API
- Last availability check
- Responded in 425 ms 16 October 2026
Checked automatically by our own runner, not reported by the vendor. 100% of our last 30 checks got a response.
What the redaction verdict rests on
From the vendor's own documentation, read 22 September 2026. Not tested by us.
“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.”
What that does not establish: Recorded as `none` because partitioning is a read-only operation: the library converts a document into elements and does not write a PDF back, so there is no redaction feature and no output file in which hidden content could survive. The basis is the library's own description of its purpose, quoted above, so this is absence from a feature set rather than a test. What it does not establish: that elements returned by the library are an anonymised view of the document. Text extracted from a document carries whatever was in it, so a partitioning step is not a sanitising step and should not be used as one.
What the vendor says
Claims are labelled rather than repeated as fact. Where we have checked something ourselves, it says so and shows when. Checked means we read the vendor's own page and it says what we recorded — not that we tested the behaviour, unless the note says we did.
-
“Unstructured sends lightweight analytics to GET https://packages.unstructured.io/python-telemetry by default: one library-load ping when it is imported and one best-effort local attempt for each top-level public partition call.”
Checked by us — the source says this Read 1 October 2026
Confirmed. The quoted text appears in the rendered page as read on 2026-10-01. This claim was carried as reported rather than checked until this read.
Standing: Not re-read against the live source
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- 0dc1c4b4bc2bc78544047eb787b2c3972ee95ccc3fd3f14f07842df4def8181f
How we checked: Read as rendered text in headless Chrome on 2026-10-01 and saved to the evidence archive, so the read can be repeated against the same file. Comparison ignores case, punctuation and hyphenation, which is why "open-source" on the record matches "open source" on the page.
-
“Start processing your data with 10,000 free pages.”
Checked by us — the source says this Read 1 October 2026
Confirmed. The quoted text appears in the rendered page as read on 2026-10-01. This claim was carried as reported rather than checked until this read.
Standing: Not re-read against the live source
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- 6bafbb0705e3593f82e113fd08b9cbd6248798baa2c64214c91af3e42fa02939
How we checked: Read as rendered text in headless Chrome on 2026-10-01 and saved to the evidence archive, so the read can be repeated against the same file. Comparison ignores case, punctuation and hyphenation, which is why "open-source" on the record matches "open source" on the page.
Each claim is quoted from the vendor's own pages. This section describes what we have and have not checked — it is not a judgement about anyone.
Sponsorship is distribution, not an endorsement or a promise of search rankings, AI citations, traffic, or sales. This listing is a free entry, compiled from published sources.
Related reading
- Open source PDF tools, and what their licences require — what open source does and does not tell you.