{"id":102072,"date":"2026-07-05T18:51:37","date_gmt":"2026-07-05T18:51:37","guid":{"rendered":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/"},"modified":"2026-07-05T18:51:37","modified_gmt":"2026-07-05T18:51:37","slug":"structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026","status":"publish","type":"post","link":"https:\/\/youzum.net\/es\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/","title":{"rendered":"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Most enterprise data still sits inside PDFs, scans, and slide decks. Large language models and agents cannot use that data until it becomes structured JSON. Open-source document extraction has become the standard way to do that conversion on your own hardware.<\/p>\n<p class=\"wp-block-paragraph\">Two different problems hide under the phrase \u2018PDF to JSON.\u2019 The first is <strong>schema-driven extraction<\/strong>: you define fields, and a model fills them with values. The second is <strong>document parsing<\/strong>: a model reconstructs the page into structured JSON or Markdown. Most teams need one, sometimes both. Choosing the wrong category costs real time.<\/p>\n<p class=\"wp-block-paragraph\">Open weights matter here for cost and privacy. Proprietary APIs can cost thousands of dollars per million pages, and they require sending documents off-premise. Local models remove both constraints. Below are the models and toolkits worth evaluating, grouped by what they actually do.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Two categories, one phrase<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">Schema-driven extraction takes a document and a JSON schema, then returns values for your fields. Use it for invoices, forms, contracts, and receipts, where you know the fields in advance.<\/p>\n<p class=\"wp-block-paragraph\">Document parsing reconstructs the document itself. It detects layout, reading order, tables, formulas, and code, then exports JSON or Markdown. Use it to prepare clean corpora for retrieval-augmented generation (RAG) and agents.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Category 1: Schema-driven structured extraction<\/strong><\/h2>\n<h3 class=\"wp-block-heading\"><strong><a href=\"https:\/\/pxllnk.co\/rc5yap\" target=\"_blank\" rel=\"noreferrer noopener\">Datalab lift<\/a><\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/pxllnk.co\/rc5yap\" target=\"_blank\" rel=\"noreferrer noopener\">lift<\/a> is a 9B vision model from <a href=\"https:\/\/pxllnk.co\/rc5yap\" target=\"_blank\" rel=\"noreferrer noopener\">Datalab<\/a>, the team behind Marker and Surya. You pass a JSON schema, and lift returns JSON that matches it. Schema-constrained decoding guarantees the output is valid JSON. The model is built on Qwen 3.5 and runs locally through Hugging Face or remotely through a vLLM server.<\/p>\n<p class=\"wp-block-paragraph\">It handles multi-page documents in a single pass, including values that span pages. It ships a CLI, a Python API, and a Streamlit \u2018Schema Studio\u2019 for building and testing schemas.<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">pip install lift-pdf\n\n# Start the vLLM server, then extract to your schema\nlift_vllm\nlift_extract input.pdf .\/output --schema schema.json<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">\nfrom lift import extract\n\nresult = extract(\"document.pdf\", \"schema.json\")\nif result.extraction is not None:\n    data = result.extraction  # dict matching your schema<\/code><\/pre>\n<\/div>\n<\/div>\n<p class=\"wp-block-paragraph\">On Datalab\u2019s 225-document benchmark, lift reaches 90.2% field accuracy at 9.5s median latency. It leads NuExtract3 (81.5%) and Qwen3.5-9B (76.3%) on field accuracy. It trails Gemini Flash 3.5 (91.3%) and the hosted Datalab API (95.9%). Note that full-document accuracy stays low for all local models, with lift at 20.9%. Getting every field right in one document remains hard.<\/p>\n<p class=\"wp-block-paragraph\">The code is Apache-2.0. The weights use a modified OpenRAIL-M license, free for research, personal use, and startups under $5M in funding or revenue. Commercial self-hosting needs a license, and the weights cannot be used competitively with the Datalab API.<\/p>\n<h3 class=\"wp-block-heading\"><strong>NuMind NuExtract 3<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/numindai\/nuextract\">NuExtract 3<\/a> is a 4B vision-language model from <a href=\"https:\/\/numind.ai\/\">NuMind<\/a>. It unifies two tasks in one model: structured extraction (document to JSON) and content extraction (OCR to Markdown). You provide an input and a JSON template describing the fields you need. The model is trained with reinforcement learning to add extraction-specific reasoning, which you can switch on or off per request.<\/p>\n<p class=\"wp-block-paragraph\">NuExtract 3 is multimodal, multilingual, and based on a Qwen backbone. It serves through vLLM with an OpenAI-compatible API, and a Python SDK is available via <code>pip install numind<\/code>. NuMind positions it as a reference open model for both structured and content extraction at its size. Check the <a href=\"https:\/\/huggingface.co\/numind\/NuExtract3\">model card<\/a> for exact license terms before commercial use.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Category 2: Document parsing to structured JSON and Markdown<\/strong><\/h2>\n<h3 class=\"wp-block-heading\"><strong>IBM Docling<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/docling-project\/docling\">Docling<\/a> started at IBM Research and is now hosted by the LF AI &amp; Data Foundation. It parses PDF, DOCX, PPTX, XLSX, HTML, images, and more. Output formats include Markdown, HTML, lossless JSON, and DocTags. Its core is the DoclingDocument representation, which preserves layout, reading order, tables, and formulas as LaTeX.<\/p>\n<p class=\"wp-block-paragraph\">Docling runs locally for air-gapped environments. It integrates with LangChain, LlamaIndex, Crew AI, and Haystack, and ships an MCP server and a Docling Serve mode. The project carries a permissive MIT license. IBM also offers a managed version through watsonx.<\/p>\n<h3 class=\"wp-block-heading\"><strong>IBM Granite-Docling-258M<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/huggingface.co\/ibm-granite\/granite-docling-258M\">Granite-Docling-258M<\/a> is a compact 258M vision-language model from IBM. It performs one-shot document conversion inside Docling pipelines. Despite its size, it handles OCR, layout, tables, code, and equations, and outputs DocTags. On an A100 GPU, it averages roughly 0.35 seconds per page.<\/p>\n<p class=\"wp-block-paragraph\">The model builds on the Idefics3 architecture, with a SigLIP2 encoder and a Granite 165M language backbone. It is released under Apache 2.0. IBM states it is built for document conversion, not general image understanding.<\/p>\n<h3 class=\"wp-block-heading\"><strong>OpenDataLab MinerU<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/opendatalab\/MinerU\">MinerU<\/a>, from OpenDataLab and Shanghai AI Laboratory, converts PDF, image, DOCX, PPTX, and XLSX inputs into Markdown and JSON. It pairs a processing pipeline with a vision-language model. The current model, MinerU2.5-Pro, targets high-resolution parsing of complex layouts, including cross-page tables and charts.<\/p>\n<p class=\"wp-block-paragraph\">MinerU recently changed its license. It moved from AGPL-3.0 to the \u201cMinerU Open Source License,\u201d a custom license based on Apache 2.0 with additional conditions. That change lowers friction for commercial deployment. <\/p>\n<h3 class=\"wp-block-heading\"><strong>Datalab Marker<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/datalab-to\/marker\">Marker<\/a> is Datalab\u2019s pipeline for converting documents into Markdown, JSON, chunks, and HTML. It supports PDF, image, PPTX, DOCX, XLSX, HTML, and EPUB. It formats tables, forms, equations, inline math, links, and code. An optional <code>--use_llm<\/code> flag adds a language model to improve tables and forms.<\/p>\n<p class=\"wp-block-paragraph\">On the third-party olmOCR-Bench suite, Marker scores around 76.1. Its code is GPL-3.0, and its model weights use a modified AI Pubs OpenRAIL-M license. That weight license is free for research, personal use, and startups under $2M in funding or revenue. Datalab\u2019s managed platform now runs a newer OCR model, <a href=\"https:\/\/github.com\/datalab-to\/chandra\">Chandra<\/a>, which is Apache-2.0 and outputs HTML, Markdown, and JSON.<\/p>\n<h3 class=\"wp-block-heading\"><strong>Ai2 olmOCR 2<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/allenai\/olmocr\">olmOCR 2<\/a> is a 7B OCR-specialized vision-language model from the Allen Institute for AI (Ai2). It converts PDFs into clean text and Markdown while preserving reading order. It handles tables, equations, and handwriting across complex multi-column layouts. The model is trained with reinforcement learning from verifiable rewards, using synthetic unit tests as the reward signal.<\/p>\n<p class=\"wp-block-paragraph\">olmOCR 2 scores 82.4 on its own olmOCR-Bench, among the higher published results on that suite. Ai2 estimates a cost of roughly $178 per million pages on your own GPUs. The toolkit and the <code>allenai\/olmOCR-2-7B-1025<\/code> weights are Apache-2.0. The current model is English-focused.<\/p>\n<h3 class=\"wp-block-heading\"><strong>DeepSeek DeepSeek-OCR<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/deepseek-ai\/DeepSeek-OCR\">DeepSeek-OCR<\/a> is an open OCR model from DeepSeek, released in October 2025. It introduces \u201ccontexts optical compression,\u201d which represents text-rich pages as compact vision tokens, then decodes them back to text. This lets it process long documents with far fewer tokens than typical vision-language models.<\/p>\n<p class=\"wp-block-paragraph\">It uses a DeepEncoder plus a 3B Mixture-of-Experts decoder that activates about 570M parameters per token. Depending on the prompt, it outputs plain text, Markdown, HTML tables, or structured JSON, and it supports 100+ languages. The code is released under the MIT license. A follow-up, DeepSeek-OCR2, arrived in January 2026.<\/p>\n<h2 class=\"wp-block-heading\"><strong>The general-purpose option: Qwen3-VL<\/strong><\/h2>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/QwenLM\/Qwen3-VL\">Qwen3-VL<\/a> from Alibaba is not a document-specific model. It is a general multimodal series that many extraction models use as a base. You can prompt it to return Markdown, JSON, or code from a page. Most sizes ship under Apache 2.0. It is a flexible fallback when a specialized model does not fit, though it needs more prompt engineering and offers fewer output guarantees.<\/p>\n<h2 class=\"wp-block-heading\"><strong>How the options compare<\/strong><\/h2>\n<figure class=\"wp-block-table\">\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Model<\/th>\n<th>Org<\/th>\n<th>Size<\/th>\n<th>What it does<\/th>\n<th>Primary output<\/th>\n<th>License<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/pxllnk.co\/rc5yap\" target=\"_blank\" rel=\"noreferrer noopener\">lift<\/a><\/td>\n<td>Datalab<\/td>\n<td>9B<\/td>\n<td>Schema-driven extraction<\/td>\n<td>JSON to your schema<\/td>\n<td>Apache-2.0 code \/ OpenRAIL-M weights<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/numindai\/nuextract\">NuExtract 3<\/a><\/td>\n<td>NuMind<\/td>\n<td>4B<\/td>\n<td>Schema extraction + OCR<\/td>\n<td>JSON + Markdown<\/td>\n<td>Open weights (see card)<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/docling-project\/docling\">Docling<\/a><\/td>\n<td>IBM \/ LF AI &amp; Data<\/td>\n<td>Pipeline<\/td>\n<td>Layout parsing<\/td>\n<td>Markdown, JSON, DocTags<\/td>\n<td>MIT<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/huggingface.co\/ibm-granite\/granite-docling-258M\">Granite-Docling<\/a><\/td>\n<td>IBM<\/td>\n<td>258M<\/td>\n<td>One-shot conversion<\/td>\n<td>DocTags, Markdown<\/td>\n<td>Apache-2.0<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/opendatalab\/MinerU\">MinerU<\/a><\/td>\n<td>OpenDataLab<\/td>\n<td>~1.2B VLM<\/td>\n<td>Layout parsing<\/td>\n<td>Markdown, JSON<\/td>\n<td>MinerU Open Source License<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/datalab-to\/marker\">Marker<\/a><\/td>\n<td>Datalab<\/td>\n<td>Pipeline<\/td>\n<td>Layout parsing<\/td>\n<td>Markdown, JSON, HTML<\/td>\n<td>GPL-3.0 code \/ OpenRAIL-M weights<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/allenai\/olmocr\">olmOCR 2<\/a><\/td>\n<td>Ai2<\/td>\n<td>7B<\/td>\n<td>OCR to text<\/td>\n<td>Plain text, Markdown<\/td>\n<td>Apache-2.0<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/deepseek-ai\/DeepSeek-OCR\">DeepSeek-OCR<\/a><\/td>\n<td>DeepSeek<\/td>\n<td>3B MoE (~570M active)<\/td>\n<td>OCR with token compression<\/td>\n<td>Text, Markdown, JSON<\/td>\n<td>MIT (code)<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/QwenLM\/Qwen3-VL\">Qwen3-VL<\/a><\/td>\n<td>Alibaba<\/td>\n<td>2B\u2013235B<\/td>\n<td>General VLM<\/td>\n<td>Markdown, JSON, code<\/td>\n<td>Apache-2.0 (most sizes)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p class=\"wp-block-paragraph\">A note on benchmarks: these numbers come from different suites and are not directly comparable. lift\u2019s 90.2% is field accuracy on Datalab\u2019s schema-extraction benchmark. The olmOCR-Bench scores for olmOCR 2 (82.4) and Marker (76.1) measure content extraction with unit-test scoring. Run your own documents through each candidate before deciding.<\/p>\n<div>\n<p class=\"head-kicker\">Marktechpost Explainer<\/p>\n<h1>Open-Source Document Extraction Models for Structured PDF-to-JSON<\/h1>\n<p class=\"sub\">\u201cPDF to JSON\u201d hides two different jobs. Schema-driven extraction fills fields you define. Document parsing rebuilds the page into JSON or Markdown. Filter by task and license, then open any repo.<\/p>\n<div class=\"legend\">\n    <span><i class=\"dot schema\"><\/i> Schema-driven extraction<\/span><br \/>\n    <span><i class=\"dot parse\"><\/i> Document parsing<\/span><br \/>\n    <span><i class=\"dot general\"><\/i> General-purpose VLM<\/span>\n  <\/div>\n<div class=\"controls\">\n<div class=\"ctrl-group\">\n      <span class=\"ctrl-label\">Task<\/span>\n<div class=\"btns\">\n        <button class=\"btn active\" data-cat=\"all\">All<\/button><br \/>\n        <button class=\"btn\" data-cat=\"schema\">Schema-driven<\/button><br \/>\n        <button class=\"btn\" data-cat=\"parse\">Document parsing<\/button><br \/>\n        <button class=\"btn\" data-cat=\"general\">General<\/button>\n      <\/div>\n<\/div>\n<div class=\"ctrl-group\">\n      <span class=\"ctrl-label\">License<\/span>\n<div class=\"btns\">\n        <button class=\"btn active\" data-lic=\"any\">Any<\/button><br \/>\n        <button class=\"btn\" data-lic=\"permissive\">Permissive (MIT \/ Apache)<\/button><br \/>\n        <button class=\"btn\" data-lic=\"other\">Copyleft \/ Custom<\/button>\n      <\/div>\n<\/div>\n<\/div>\n<p class=\"count\">\n<div class=\"grid\"><\/div>\n<div class=\"note\">\n    <b>Benchmarks are not directly comparable.<\/b> lift\u2019s 90.2% is field accuracy on Datalab\u2019s schema benchmark. The olmOCR-Bench scores for olmOCR 2 (82.4) and Marker (76.1) measure content extraction with unit tests. Run your own documents before choosing.\n  <\/div>\n<footer>\n    <span class=\"brand\">Marktechpost <span>\u00b7 AI Media Inc.<\/span><\/span><br \/>\n    <span class=\"verified\">Verified from primary sources \u00b7 July 2026<\/span><br \/>\n  <\/footer>\n<\/p><\/div>","protected":false},"excerpt":{"rendered":"<p>Most enterprise data still sits inside PDFs, scans, and slide decks. Large language models and agents cannot use that data until it becomes structured JSON. Open-source document extraction has become the standard way to do that conversion on your own hardware. Two different problems hide under the phrase \u2018PDF to JSON.\u2019 The first is schema-driven extraction: you define fields, and a model fills them with values. The second is document parsing: a model reconstructs the page into structured JSON or Markdown. Most teams need one, sometimes both. Choosing the wrong category costs real time. Open weights matter here for cost and privacy. Proprietary APIs can cost thousands of dollars per million pages, and they require sending documents off-premise. Local models remove both constraints. Below are the models and toolkits worth evaluating, grouped by what they actually do. Two categories, one phrase Schema-driven extraction takes a document and a JSON schema, then returns values for your fields. Use it for invoices, forms, contracts, and receipts, where you know the fields in advance. Document parsing reconstructs the document itself. It detects layout, reading order, tables, formulas, and code, then exports JSON or Markdown. Use it to prepare clean corpora for retrieval-augmented generation (RAG) and agents. Category 1: Schema-driven structured extraction Datalab lift lift is a 9B vision model from Datalab, the team behind Marker and Surya. You pass a JSON schema, and lift returns JSON that matches it. Schema-constrained decoding guarantees the output is valid JSON. The model is built on Qwen 3.5 and runs locally through Hugging Face or remotely through a vLLM server. It handles multi-page documents in a single pass, including values that span pages. It ships a CLI, a Python API, and a Streamlit \u2018Schema Studio\u2019 for building and testing schemas. Copy CodeCopiedUse a different Browser pip install lift-pdf # Start the vLLM server, then extract to your schema lift_vllm lift_extract input.pdf .\/output &#8211;schema schema.json Copy CodeCopiedUse a different Browser from lift import extract result = extract(&#8220;document.pdf&#8221;, &#8220;schema.json&#8221;) if result.extraction is not None: data = result.extraction # dict matching your schema On Datalab\u2019s 225-document benchmark, lift reaches 90.2% field accuracy at 9.5s median latency. It leads NuExtract3 (81.5%) and Qwen3.5-9B (76.3%) on field accuracy. It trails Gemini Flash 3.5 (91.3%) and the hosted Datalab API (95.9%). Note that full-document accuracy stays low for all local models, with lift at 20.9%. Getting every field right in one document remains hard. The code is Apache-2.0. The weights use a modified OpenRAIL-M license, free for research, personal use, and startups under $5M in funding or revenue. Commercial self-hosting needs a license, and the weights cannot be used competitively with the Datalab API. NuMind NuExtract 3 NuExtract 3 is a 4B vision-language model from NuMind. It unifies two tasks in one model: structured extraction (document to JSON) and content extraction (OCR to Markdown). You provide an input and a JSON template describing the fields you need. The model is trained with reinforcement learning to add extraction-specific reasoning, which you can switch on or off per request. NuExtract 3 is multimodal, multilingual, and based on a Qwen backbone. It serves through vLLM with an OpenAI-compatible API, and a Python SDK is available via pip install numind. NuMind positions it as a reference open model for both structured and content extraction at its size. Check the model card for exact license terms before commercial use. Category 2: Document parsing to structured JSON and Markdown IBM Docling Docling started at IBM Research and is now hosted by the LF AI &amp; Data Foundation. It parses PDF, DOCX, PPTX, XLSX, HTML, images, and more. Output formats include Markdown, HTML, lossless JSON, and DocTags. Its core is the DoclingDocument representation, which preserves layout, reading order, tables, and formulas as LaTeX. Docling runs locally for air-gapped environments. It integrates with LangChain, LlamaIndex, Crew AI, and Haystack, and ships an MCP server and a Docling Serve mode. The project carries a permissive MIT license. IBM also offers a managed version through watsonx. IBM Granite-Docling-258M Granite-Docling-258M is a compact 258M vision-language model from IBM. It performs one-shot document conversion inside Docling pipelines. Despite its size, it handles OCR, layout, tables, code, and equations, and outputs DocTags. On an A100 GPU, it averages roughly 0.35 seconds per page. The model builds on the Idefics3 architecture, with a SigLIP2 encoder and a Granite 165M language backbone. It is released under Apache 2.0. IBM states it is built for document conversion, not general image understanding. OpenDataLab MinerU MinerU, from OpenDataLab and Shanghai AI Laboratory, converts PDF, image, DOCX, PPTX, and XLSX inputs into Markdown and JSON. It pairs a processing pipeline with a vision-language model. The current model, MinerU2.5-Pro, targets high-resolution parsing of complex layouts, including cross-page tables and charts. MinerU recently changed its license. It moved from AGPL-3.0 to the \u201cMinerU Open Source License,\u201d a custom license based on Apache 2.0 with additional conditions. That change lowers friction for commercial deployment. Datalab Marker Marker is Datalab\u2019s pipeline for converting documents into Markdown, JSON, chunks, and HTML. It supports PDF, image, PPTX, DOCX, XLSX, HTML, and EPUB. It formats tables, forms, equations, inline math, links, and code. An optional &#8211;use_llm flag adds a language model to improve tables and forms. On the third-party olmOCR-Bench suite, Marker scores around 76.1. Its code is GPL-3.0, and its model weights use a modified AI Pubs OpenRAIL-M license. That weight license is free for research, personal use, and startups under $2M in funding or revenue. Datalab\u2019s managed platform now runs a newer OCR model, Chandra, which is Apache-2.0 and outputs HTML, Markdown, and JSON. Ai2 olmOCR 2 olmOCR 2 is a 7B OCR-specialized vision-language model from the Allen Institute for AI (Ai2). It converts PDFs into clean text and Markdown while preserving reading order. It handles tables, equations, and handwriting across complex multi-column layouts. The model is trained with reinforcement learning from verifiable rewards, using synthetic unit tests as the reward signal. olmOCR 2 scores 82.4 on its own olmOCR-Bench, among the higher published results on<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_pvb_checkbox_block_on_post":false,"footnotes":""},"categories":[52,5,7,1],"tags":[],"class_list":["post-102072","post","type-post","status-publish","format-standard","hentry","category-ai-club","category-committee","category-news","category-uncategorized","pmpro-has-access"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026 - YouZum<\/title>\n<meta name=\"description\" content=\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/youzum.net\/es\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026 - YouZum\" \/>\n<meta property=\"og:description\" content=\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\" \/>\n<meta property=\"og:url\" content=\"https:\/\/youzum.net\/es\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/\" \/>\n<meta property=\"og:site_name\" content=\"YouZum\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DroneAssociationTH\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-05T18:51:37+00:00\" \/>\n<meta name=\"author\" content=\"admin NU\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin NU\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/\"},\"author\":{\"name\":\"admin NU\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c\"},\"headline\":\"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026\",\"datePublished\":\"2026-07-05T18:51:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/\"},\"wordCount\":1415,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\"},\"articleSection\":[\"AI\",\"Committee\",\"News\",\"Uncategorized\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/\",\"url\":\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/\",\"name\":\"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026 - YouZum\",\"isPartOf\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#website\"},\"datePublished\":\"2026-07-05T18:51:37+00:00\",\"description\":\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\",\"breadcrumb\":{\"@id\":\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/youzum.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/yousum.gpucore.co\/#website\",\"url\":\"https:\/\/yousum.gpucore.co\/\",\"name\":\"YouSum\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/yousum.gpucore.co\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\",\"name\":\"Drone Association Thailand\",\"url\":\"https:\/\/yousum.gpucore.co\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png\",\"contentUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png\",\"width\":300,\"height\":300,\"caption\":\"Drone Association Thailand\"},\"image\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/DroneAssociationTH\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c\",\"name\":\"admin NU\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png\",\"contentUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png\",\"caption\":\"admin NU\"},\"url\":\"https:\/\/youzum.net\/es\/members\/adminnu\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026 - YouZum","description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/youzum.net\/es\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/","og_locale":"es_ES","og_type":"article","og_title":"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026 - YouZum","og_description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","og_url":"https:\/\/youzum.net\/es\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/","og_site_name":"YouZum","article_publisher":"https:\/\/www.facebook.com\/DroneAssociationTH\/","article_published_time":"2026-07-05T18:51:37+00:00","author":"admin NU","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"admin NU","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#article","isPartOf":{"@id":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/"},"author":{"name":"admin NU","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c"},"headline":"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026","datePublished":"2026-07-05T18:51:37+00:00","mainEntityOfPage":{"@id":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/"},"wordCount":1415,"commentCount":0,"publisher":{"@id":"https:\/\/yousum.gpucore.co\/#organization"},"articleSection":["AI","Committee","News","Uncategorized"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/","url":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/","name":"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026 - YouZum","isPartOf":{"@id":"https:\/\/yousum.gpucore.co\/#website"},"datePublished":"2026-07-05T18:51:37+00:00","description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","breadcrumb":{"@id":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/youzum.net\/structured-pdf-to-json-a-guide-to-open-source-extraction-models-in-2026\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/youzum.net\/"},{"@type":"ListItem","position":2,"name":"Structured PDF-to-JSON: A Guide to Open-Source Extraction Models in 2026"}]},{"@type":"WebSite","@id":"https:\/\/yousum.gpucore.co\/#website","url":"https:\/\/yousum.gpucore.co\/","name":"YouSum","description":"","publisher":{"@id":"https:\/\/yousum.gpucore.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yousum.gpucore.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/yousum.gpucore.co\/#organization","name":"Drone Association Thailand","url":"https:\/\/yousum.gpucore.co\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/","url":"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png","contentUrl":"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png","width":300,"height":300,"caption":"Drone Association Thailand"},"image":{"@id":"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DroneAssociationTH\/"]},{"@type":"Person","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c","name":"admin NU","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/image\/","url":"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png","contentUrl":"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png","caption":"admin NU"},"url":"https:\/\/youzum.net\/es\/members\/adminnu\/"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"admin NU","author_link":"https:\/\/youzum.net\/es\/members\/adminnu\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/youzum.net\/es\/category\/ai-club\/\" rel=\"category tag\">AI<\/a> <a href=\"https:\/\/youzum.net\/es\/category\/committee\/\" rel=\"category tag\">Committee<\/a> <a href=\"https:\/\/youzum.net\/es\/category\/news\/\" rel=\"category tag\">News<\/a> <a href=\"https:\/\/youzum.net\/es\/category\/uncategorized\/\" rel=\"category tag\">Uncategorized<\/a>","rttpg_excerpt":"Most enterprise data still sits inside PDFs, scans, and slide decks. Large language models and agents cannot use that data until it becomes structured JSON. Open-source document extraction has become the standard way to do that conversion on your own hardware. Two different problems hide under the phrase \u2018PDF to JSON.\u2019 The first is schema-driven&hellip;","_links":{"self":[{"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/posts\/102072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/comments?post=102072"}],"version-history":[{"count":0,"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/posts\/102072\/revisions"}],"wp:attachment":[{"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/media?parent=102072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/categories?post=102072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/youzum.net\/es\/wp-json\/wp\/v2\/tags?post=102072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}