Dolphin (ByteDance) icon
developer-tools

Dolphin (ByteDance)

Self-hosted PDF-to-Markdown that preserves most text and tables, but drops charts and struggles with repeated images.

Visit Dolphin (ByteDance)
Open sourcePDF → MarkdownScanned OCRCharts omitted
TL;DR — our verdictUpdated August 2026 · 28 test artifacts

Strong baseline for text and tables, but not for figures

Where it wins
  • You want a free, self-hosted PDF-to-Markdown baseline that usually preserves prose, headings, tables, captions, and reading order.
  • Your PDFs are mostly text-heavy or table-heavy, and you can tolerate some manual cleanup for charts and repeated images.
  • You care more about data values and document structure than about faithfully recovering chart graphics.
Main limitation
  • You need chart data or figure content preserved in markdown; every chart tested was reduced to a placeholder.
Pricing (verified plans)
Open source Free
Strongest test artifacts

Our take

Dolphin-1.5 is a solid lightweight self-hosted baseline for PDF-to-Markdown when the job is mostly prose, headings, and routine tables. It handled the scanned paper well at the OCR level and kept reading order/captions intact, but it consistently dropped chart content and behaved inconsistently around repeated images, signatures, and some complex table structures.

Colab notebook walkthrough showing Dolphin-1.5 loading the model, uploading a PDF, and previewing the extracted markdown.

In-Depth Review

Our detailed analysis of Dolphin (ByteDance) — features, performance, and real-world testing.

AD
AI Demos Team
Expert Reviewer
Verified Review

Feature-by-Feature Breakdown

Embedded Visual Element Retention
Omitted
Test Summary
Feature tested: Embedded Visual Element Retention
Result: Failed — Omitted

Feature tested: Embedded Visual Element Retention

Result: Failed

Verdict: Omitted

Expected behavior: Dolphin preserves embedded non-text elements from chart-heavy pages in hybrid earnings reports and scanned research papers, plus report-signature pages with images, logos, and handwritten signatures, often leaving them as Figure placeholders while keeping nearby captions and annotations in sequence. The sampled cases show that chart content itself is not reconstructed from data.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Financial highlights page with vector bar and donut charts. — dolphin_input1_hybridearnings_financialhighlights_charts_source.png

Observed output: Output artifact (Image): All nine charts are reduced to plain figure placeholders; the surrounding growth and CAGR text survives, but the chart data itself is gone. — dolphin_input1_hybridearnings_financialhighlights_charts_omitted_failed.png

Input artifact: Input artifact (Image): Financial highlights page with vector bar and donut charts. — dolphin_input1_hybridearnings_financialhighlights_charts_source.png

Output artifact: Output artifact (Image): All nine charts are reduced to plain figure placeholders; the surrounding growth and CAGR text survives, but the chart data itself is gone. — dolphin_input1_hybridearnings_financialhighlights_charts_omitted_failed.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Grouped bar chart from the scanned research paper. — dolphin_input3_scannedpaper_figure1_source.png

Observed output: Output artifact (Image): The chart is replaced with a placeholder and only its caption remains; no axis or series data is recovered. — dolphin_input3_scannedpaper_figure1_omitted_failed.png

Input artifact: Input artifact (Image): Grouped bar chart from the scanned research paper. — dolphin_input3_scannedpaper_figure1_source.png

Output artifact: Output artifact (Image): The chart is replaced with a placeholder and only its caption remains; no axis or series data is recovered. — dolphin_input3_scannedpaper_figure1_omitted_failed.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Report of Management signatures from the hybrid earnings report. — dolphin_input1_hybridearnings_reportofmgmt_signatures_source.png

Observed output: Output artifact (Image): The handwritten signatures are replaced by clean figure placeholders, and the names, titles, and date remain attached beneath them. — dolphin_input1_hybridearnings_reportofmgmt_signatures_parsed_success.png

Input artifact: Input artifact (Image): Report of Management signatures from the hybrid earnings report. — dolphin_input1_hybridearnings_reportofmgmt_signatures_source.png

Output artifact: Output artifact (Image): The handwritten signatures are replaced by clean figure placeholders, and the names, titles, and date remain attached beneath them. — dolphin_input1_hybridearnings_reportofmgmt_signatures_parsed_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Formal signatures page from the hybrid earnings report. — dolphin_input1_hybridearnings_signatures_source.png

Observed output: Output artifact (Image): The same signature type is not preserved consistently here; the signatures become nonsense strings, CJK-like characters, or fake LaTeX formulas instead of placeholders. — dolphin_input1_hybridearnings_signatures_omitted_failed.png

Input artifact: Input artifact (Image): Formal signatures page from the hybrid earnings report. — dolphin_input1_hybridearnings_signatures_source.png

Output artifact: Output artifact (Image): The same signature type is not preserved consistently here; the signatures become nonsense strings, CJK-like characters, or fake LaTeX formulas instead of placeholders. — dolphin_input1_hybridearnings_signatures_omitted_failed.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): The same recurring logo on another content page. — dolphin_input2_financialpdf_header_p8_source.png

Observed output: Output artifact (Image): The identical logo is retained here as a Figure placeholder. — dolphin_input2_financialpdf_header_p8_parsed_success.png

Input artifact: Input artifact (Image): The same recurring logo on another content page. — dolphin_input2_financialpdf_header_p8_source.png

Output artifact: Output artifact (Image): The identical logo is retained here as a Figure placeholder. — dolphin_input2_financialpdf_header_p8_parsed_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Shield logo region on the scanned research paper title page. — dolphin_input3_scannedpaper_titlepage_source.png

Observed output: Output artifact (Image): The shield is retained as figure placeholders, but the single image region is split into two placeholders. — dolphin_input3_scannedpaper_titlepage_parsed_partial_success.png

Input artifact: Input artifact (Image): Shield logo region on the scanned research paper title page. — dolphin_input3_scannedpaper_titlepage_source.png

Output artifact: Output artifact (Image): The shield is retained as figure placeholders, but the single image region is split into two placeholders. — dolphin_input3_scannedpaper_titlepage_parsed_partial_success.png

What changed: Image transformed into Image

Why it matters / Conclusion: Not safe for chart data extraction; nearby captions and annotations can survive, but the chart itself does not.

Dolphin preserves embedded non-text elements from chart-heavy pages in hybrid earnings reports and scanned research papers, plus report-signature pages with images, logos, and handwritten signatures, often leaving them as Figure placeholders while keeping nearby captions and annotations in sequence. The sampled cases show that chart content itself is not reconstructed from data.

image
Input artifact for "Embedded Visual Element Retention" test: Financial highlights page with vector bar and donut charts., dolphin_input1_hybridearnings_financialhighlights_charts_source.png
Financial highlights page with vector bar and donut charts.
image
Output artifact for "Embedded Visual Element Retention" test: All nine charts are reduced to plain figure placeholders; the surrounding growth and CAGR text survives, but the chart data itself is gone., dolphin_input1_hybridearnings_financialhighlights_charts_omitted_failed.png
All nine charts are reduced to plain figure placeholders; the surrounding growth and CAGR text survives, but the chart data itself is gone.
image
Input artifact for "Embedded Visual Element Retention" test: Grouped bar chart from the scanned research paper., dolphin_input3_scannedpaper_figure1_source.png
Grouped bar chart from the scanned research paper.
image
Output artifact for "Embedded Visual Element Retention" test: The chart is replaced with a placeholder and only its caption remains; no axis or series data is recovered., dolphin_input3_scannedpaper_figure1_omitted_failed.png
The chart is replaced with a placeholder and only its caption remains; no axis or series data is recovered.
image
Input artifact for "Embedded Visual Element Retention" test: Report of Management signatures from the hybrid earnings report., dolphin_input1_hybridearnings_reportofmgmt_signatures_source.png
Report of Management signatures from the hybrid earnings report.
image
Output artifact for "Embedded Visual Element Retention" test: The handwritten signatures are replaced by clean figure placeholders, and the names, titles, and date remain attached beneath them., dolphin_input1_hybridearnings_reportofmgmt_signatures_parsed_success.png
The handwritten signatures are replaced by clean figure placeholders, and the names, titles, and date remain attached beneath them.
image
Input artifact for "Embedded Visual Element Retention" test: Formal signatures page from the hybrid earnings report., dolphin_input1_hybridearnings_signatures_source.png
Formal signatures page from the hybrid earnings report.
image
Output artifact for "Embedded Visual Element Retention" test: The same signature type is not preserved consistently here; the signatures become nonsense strings, CJK-like characters, or fake LaTeX formulas instead of placeholders., dolphin_input1_hybridearnings_signatures_omitted_failed.png
The same signature type is not preserved consistently here; the signatures become nonsense strings, CJK-like characters, or fake LaTeX formulas instead of placeholders.
INPUT
Input artifact for "Embedded Visual Element Retention" test: The same recurring logo on another content page., dolphin_input2_financialpdf_header_p8_source.png
The same recurring logo on another content page.
OUTPUT
Output artifact for "Embedded Visual Element Retention" test: The identical logo is retained here as a Figure placeholder., dolphin_input2_financialpdf_header_p8_parsed_success.png
The identical logo is retained here as a Figure placeholder.
image
Input artifact for "Embedded Visual Element Retention" test: Shield logo region on the scanned research paper title page., dolphin_input3_scannedpaper_titlepage_source.png
Shield logo region on the scanned research paper title page.
image
Output artifact for "Embedded Visual Element Retention" test: The shield is retained as figure placeholders, but the single image region is split into two placeholders., dolphin_input3_scannedpaper_titlepage_parsed_partial_success.png
The shield is retained as figure placeholders, but the single image region is split into two placeholders.
Bottom Line
Not safe for chart data extraction; nearby captions and annotations can survive, but the chart itself does not.
From our researchPDF to markdown using open source librariesearlier research
OCR and Text Extraction
Mostly accurate, with recurring glyph errors
Test Summary
Feature tested: OCR and Text Extraction
Result: Partial — Mostly accurate, with recurring glyph errors

Feature tested: OCR and Text Extraction

Result: Partial

Verdict: Mostly accurate, with recurring glyph errors

Expected behavior: Dolphin extracts body text from native and scanned PDFs, including a two-column title page, but the sampled cases include misreads on special characters, checkbox glyphs, dash substitution, and repeated header text.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): SEC filing checkbox line asking whether the registrant is a well-known seasoned issuer. — dolphin_input1_hybridearnings_checkbox1_source.png

Observed output: Output artifact (Image): Both checkbox prompts remain unfilled in the output, and the checked/unchecked state collapses to an indistinguishable character. — dolphin_input1_hybridearnings_checkbox1_parsed_failure.png

Input artifact: Input artifact (Image): SEC filing checkbox line asking whether the registrant is a well-known seasoned issuer. — dolphin_input1_hybridearnings_checkbox1_source.png

Output artifact: Output artifact (Image): Both checkbox prompts remain unfilled in the output, and the checked/unchecked state collapses to an indistinguishable character. — dolphin_input1_hybridearnings_checkbox1_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Right-hand crop of the split shareholder-letter sentence on the hybrid earnings report. — dolphin_input1_hybridearnings_readingorder_rightstart_source.png

Observed output: Output artifact (Image): Apostrophes in contractions are mangled and split across spurious line breaks, turning normal prose into broken fragments. — dolphin_input1_hybridearnings_apostrophe_parsed_failure.png

Input artifact: Input artifact (Image): Right-hand crop of the split shareholder-letter sentence on the hybrid earnings report. — dolphin_input1_hybridearnings_readingorder_rightstart_source.png

Output artifact: Output artifact (Image): Apostrophes in contractions are mangled and split across spurious line breaks, turning normal prose into broken fragments. — dolphin_input1_hybridearnings_apostrophe_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Running header from the financial report page. — dolphin_input2_financialpdf_header_p14_source.png

Observed output: Output artifact (Image): The running header substitutes 'Downloaded' for 'Consolidated', and dash placeholders elsewhere in the document are rendered as mojibake characters. — dolphin_input2_financialpdf_header_p14_parsed_failure.png

Input artifact: Input artifact (Image): Running header from the financial report page. — dolphin_input2_financialpdf_header_p14_source.png

Output artifact: Output artifact (Image): The running header substitutes 'Downloaded' for 'Consolidated', and dash placeholders elsewhere in the document are rendered as mojibake characters. — dolphin_input2_financialpdf_header_p14_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Dense scanned table cell from the research paper. — dolphin_input3_scannedpaper_ipsspp_source.png

Observed output: Output artifact (Image): The scanned table misreads italicized 'Ips spp.' as 'Jps spp.', showing that OCR is strong overall but still makes localized errors in dense type. — dolphin_input3_scannedpaper_ipsspp_parsed_failure.png

Input artifact: Input artifact (Image): Dense scanned table cell from the research paper. — dolphin_input3_scannedpaper_ipsspp_source.png

Output artifact: Output artifact (Image): The scanned table misreads italicized 'Ips spp.' as 'Jps spp.', showing that OCR is strong overall but still makes localized errors in dense type. — dolphin_input3_scannedpaper_ipsspp_parsed_failure.png

What changed: Image transformed into Image

Why it matters / Conclusion: Good prose OCR overall, but special characters and some repeated header text need review.

Dolphin extracts body text from native and scanned PDFs, including a two-column title page, but the sampled cases include misreads on special characters, checkbox glyphs, dash substitution, and repeated header text.

INPUT
Input artifact for "OCR and Text Extraction" test: SEC filing checkbox line asking whether the registrant is a well-known seasoned issuer., dolphin_input1_hybridearnings_checkbox1_source.png
SEC filing checkbox line asking whether the registrant is a well-known seasoned issuer.
OUTPUT
Output artifact for "OCR and Text Extraction" test: Both checkbox prompts remain unfilled in the output, and the checked/unchecked state collapses to an indistinguishable character., dolphin_input1_hybridearnings_checkbox1_parsed_failure.png
Both checkbox prompts remain unfilled in the output, and the checked/unchecked state collapses to an indistinguishable character.
image
Input artifact for "OCR and Text Extraction" test: Right-hand crop of the split shareholder-letter sentence on the hybrid earnings report., dolphin_input1_hybridearnings_readingorder_rightstart_source.png
Right-hand crop of the split shareholder-letter sentence on the hybrid earnings report.
image
Output artifact for "OCR and Text Extraction" test: Apostrophes in contractions are mangled and split across spurious line breaks, turning normal prose into broken fragments., dolphin_input1_hybridearnings_apostrophe_parsed_failure.png
Apostrophes in contractions are mangled and split across spurious line breaks, turning normal prose into broken fragments.
INPUT
Input artifact for "OCR and Text Extraction" test: Running header from the financial report page., dolphin_input2_financialpdf_header_p14_source.png
Running header from the financial report page.
OUTPUT
Output artifact for "OCR and Text Extraction" test: The running header substitutes 'Downloaded' for 'Consolidated', and dash placeholders elsewhere in the document are rendered as mojibake characters., dolphin_input2_financialpdf_header_p14_parsed_failure.png
The running header substitutes 'Downloaded' for 'Consolidated', and dash placeholders elsewhere in the document are rendered as mojibake characters.
image
Input artifact for "OCR and Text Extraction" test: Dense scanned table cell from the research paper., dolphin_input3_scannedpaper_ipsspp_source.png
Dense scanned table cell from the research paper.
image
Output artifact for "OCR and Text Extraction" test: The scanned table misreads italicized 'Ips spp.' as 'Jps spp.', showing that OCR is strong overall but still makes localized errors in dense type., dolphin_input3_scannedpaper_ipsspp_parsed_failure.png
The scanned table misreads italicized 'Ips spp.' as 'Jps spp.', showing that OCR is strong overall but still makes localized errors in dense type.
Bottom Line
Good prose OCR overall, but special characters and some repeated header text need review.
From our researchearlier researchPDF to markdown using open source libraries
Table Reconstruction
Mixed
Test Summary
Feature tested: Table Reconstruction
Result: Partial — Mixed

Feature tested: Table Reconstruction

Result: Partial

Verdict: Mixed

Expected behavior: Dolphin reconstructs tables from financial and research PDF layouts, including balance-sheet and business-results tables with merged headers and page-spanning splits, while the harder samples expose problems with wrapped labels and deeply nested row groups.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Business results table from the Sumitomo Heavy Industries report. — dolphin_input2_financialpdf_businessresults_table_source.png

Observed output: Output artifact (Image): The business results table is reconstructed with the merged header structure preserved and the numeric values intact. — dolphin_input2_financialpdf_businessresults_table_parsed_success.png

Input artifact: Input artifact (Image): Business results table from the Sumitomo Heavy Industries report. — dolphin_input2_financialpdf_businessresults_table_source.png

Output artifact: Output artifact (Image): The business results table is reconstructed with the merged header structure preserved and the numeric values intact. — dolphin_input2_financialpdf_businessresults_table_parsed_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Quarterly consolidated balance sheet excerpt. — dolphin_input2_financialpdf_balancesheet_table_source.png

Observed output: Output artifact (Image): The balance-sheet excerpt is reproduced with the current-assets rows and values preserved in a readable table. — dolphin_input2_financialpdf_balancesheet_table_parsed_success.png

Input artifact: Input artifact (Image): Quarterly consolidated balance sheet excerpt. — dolphin_input2_financialpdf_balancesheet_table_source.png

Output artifact: Output artifact (Image): The balance-sheet excerpt is reproduced with the current-assets rows and values preserved in a readable table. — dolphin_input2_financialpdf_balancesheet_table_parsed_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Segment table with a diagonal-split corner header. — dolphin_input2_financialpdf_segmenttable_source.png

Observed output: Output artifact (Image): The table values are mostly preserved, but the diagonal-split header labels are flattened into a single cell, losing the two-axis distinction. — dolphin_input2_financialpdf_segmenttable_parsed_partial_success.png

Input artifact: Input artifact (Image): Segment table with a diagonal-split corner header. — dolphin_input2_financialpdf_segmenttable_source.png

Output artifact: Output artifact (Image): The table values are mostly preserved, but the diagonal-split header labels are flattened into a single cell, losing the two-axis distinction. — dolphin_input2_financialpdf_segmenttable_parsed_partial_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): OTHER section of the hybrid earnings financial summary table. — dolphin_input1_hybridearnings_financialsummary_other_source.png

Observed output: Output artifact (Image): A wrapped row label loses its own values and shifts the following rows upward, attaching real numbers to the wrong metric names. — dolphin_input1_hybridearnings_financialsummary_other_parsed_failure.png

Input artifact: Input artifact (Image): OTHER section of the hybrid earnings financial summary table. — dolphin_input1_hybridearnings_financialsummary_other_source.png

Output artifact: Output artifact (Image): A wrapped row label loses its own values and shifts the following rows upward, attaching real numbers to the wrong metric names. — dolphin_input1_hybridearnings_financialsummary_other_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): The most complex nested table block in the scanned research paper. — dolphin_input3_scannedpaper_table4_7inchcut_source.png

Observed output: Output artifact (Image): The complex table breaks by row-group depth and also corrupts some values, not just the layout. — dolphin_input3_scannedpaper_table4_7inchcut_parsed_failure.png

Input artifact: Input artifact (Image): The most complex nested table block in the scanned research paper. — dolphin_input3_scannedpaper_table4_7inchcut_source.png

Output artifact: Output artifact (Image): The complex table breaks by row-group depth and also corrupts some values, not just the layout. — dolphin_input3_scannedpaper_table4_7inchcut_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): A simpler flat table from later in the scanned paper. — dolphin_input3_scannedpaper_table6_source.png

Observed output: Output artifact (Image): The simpler table reconstructs correctly with every checked value intact. — dolphin_input3_scannedpaper_table6_parsed_success.png

Input artifact: Input artifact (Image): A simpler flat table from later in the scanned paper. — dolphin_input3_scannedpaper_table6_source.png

Output artifact: Output artifact (Image): The simpler table reconstructs correctly with every checked value intact. — dolphin_input3_scannedpaper_table6_parsed_success.png

What changed: Image transformed into Image

Why it matters / Conclusion: Strong on routine tables; fragile on wrapped labels and deeply nested layouts.

Dolphin reconstructs tables from financial and research PDF layouts, including balance-sheet and business-results tables with merged headers and page-spanning splits, while the harder samples expose problems with wrapped labels and deeply nested row groups.

image
Input artifact for "Table Reconstruction" test: Business results table from the Sumitomo Heavy Industries report., dolphin_input2_financialpdf_businessresults_table_source.png
Business results table from the Sumitomo Heavy Industries report.
image
Output artifact for "Table Reconstruction" test: The business results table is reconstructed with the merged header structure preserved and the numeric values intact., dolphin_input2_financialpdf_businessresults_table_parsed_success.png
The business results table is reconstructed with the merged header structure preserved and the numeric values intact.
image
Input artifact for "Table Reconstruction" test: Quarterly consolidated balance sheet excerpt., dolphin_input2_financialpdf_balancesheet_table_source.png
Quarterly consolidated balance sheet excerpt.
image
Output artifact for "Table Reconstruction" test: The balance-sheet excerpt is reproduced with the current-assets rows and values preserved in a readable table., dolphin_input2_financialpdf_balancesheet_table_parsed_success.png
The balance-sheet excerpt is reproduced with the current-assets rows and values preserved in a readable table.
image
Input artifact for "Table Reconstruction" test: Segment table with a diagonal-split corner header., dolphin_input2_financialpdf_segmenttable_source.png
Segment table with a diagonal-split corner header.
image
Output artifact for "Table Reconstruction" test: The table values are mostly preserved, but the diagonal-split header labels are flattened into a single cell, losing the two-axis distinction., dolphin_input2_financialpdf_segmenttable_parsed_partial_success.png
The table values are mostly preserved, but the diagonal-split header labels are flattened into a single cell, losing the two-axis distinction.
image
Input artifact for "Table Reconstruction" test: OTHER section of the hybrid earnings financial summary table., dolphin_input1_hybridearnings_financialsummary_other_source.png
OTHER section of the hybrid earnings financial summary table.
image
Output artifact for "Table Reconstruction" test: A wrapped row label loses its own values and shifts the following rows upward, attaching real numbers to the wrong metric names., dolphin_input1_hybridearnings_financialsummary_other_parsed_failure.png
A wrapped row label loses its own values and shifts the following rows upward, attaching real numbers to the wrong metric names.
image
Input artifact for "Table Reconstruction" test: The most complex nested table block in the scanned research paper., dolphin_input3_scannedpaper_table4_7inchcut_source.png
The most complex nested table block in the scanned research paper.
image
Output artifact for "Table Reconstruction" test: The complex table breaks by row-group depth and also corrupts some values, not just the layout., dolphin_input3_scannedpaper_table4_7inchcut_parsed_failure.png
The complex table breaks by row-group depth and also corrupts some values, not just the layout.
INPUT
Input artifact for "Table Reconstruction" test: A simpler flat table from later in the scanned paper., dolphin_input3_scannedpaper_table6_source.png
A simpler flat table from later in the scanned paper.
OUTPUT
Output artifact for "Table Reconstruction" test: The simpler table reconstructs correctly with every checked value intact., dolphin_input3_scannedpaper_table6_parsed_success.png
The simpler table reconstructs correctly with every checked value intact.
Bottom Line
Strong on routine tables; fragile on wrapped labels and deeply nested layouts.
From our researchPDF to markdown using open source librariesearlier research
Reading Order Preservation
Preserved
Test Summary
Feature tested: Reading Order Preservation
Result: Passed — Preserved

Feature tested: Reading Order Preservation

Result: Passed

Verdict: Preserved

Expected behavior: Dolphin preserves logical content sequence in sampled two-column pages and page-boundary table splits, keeping nearby paragraphs and sections in the intended order.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Two source crops from a split paragraph on a two-column page: the left-column end and the right-column start. — dolphin_input1_hybridearnings_readingorder_leftend_source.png

Observed output: Output artifact (Image): The split paragraph is reconstructed as one continuous sentence with the column break preserved and no leakage from surrounding paragraphs. — dolphin_input1_hybridearnings_readingorder_parsed_success.png

Input artifact: Input artifact (Image): Two source crops from a split paragraph on a two-column page: the left-column end and the right-column start. — dolphin_input1_hybridearnings_readingorder_leftend_source.png

Output artifact: Output artifact (Image): The split paragraph is reconstructed as one continuous sentence with the column break preserved and no leakage from surrounding paragraphs. — dolphin_input1_hybridearnings_readingorder_parsed_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Item 1. Business and General heading sample from the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1_source.png

Observed output: Output artifact (Image): Both lines are extracted as headings, but they are normalized to the same heading tier rather than reflecting finer structure. — dolphin_input1_hybridearnings_docheadings_item1_parsed_partial_success.png

Input artifact: Input artifact (Image): Item 1. Business and General heading sample from the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1_source.png

Output artifact: Output artifact (Image): Both lines are extracted as headings, but they are normalized to the same heading tier rather than reflecting finer structure. — dolphin_input1_hybridearnings_docheadings_item1_parsed_partial_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Item 1A. Risk Factors heading sample from the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1a_source.png

Observed output: Output artifact (Image): The parent heading and subheading are both emitted at the same level, flattening the intended heading relationship. — dolphin_input1_hybridearnings_docheadings_item1a_parsed_failure.png

Input artifact: Input artifact (Image): Item 1A. Risk Factors heading sample from the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1a_source.png

Output artifact: Output artifact (Image): The parent heading and subheading are both emitted at the same level, flattening the intended heading relationship. — dolphin_input1_hybridearnings_docheadings_item1a_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Item 2. Properties heading sample from the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item2_source.png

Observed output: Output artifact (Image): The section title is left as plain text rather than being marked as a heading. — dolphin_input1_hybridearnings_docheadings_item2_parsed_failure.png

Input artifact: Input artifact (Image): Item 2. Properties heading sample from the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item2_source.png

Output artifact: Output artifact (Image): The section title is left as plain text rather than being marked as a heading. — dolphin_input1_hybridearnings_docheadings_item2_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Two halves of the quarterly balance sheet split by the source page boundary: the Assets section ending on page 9 and the Liabilities section beginning on page 10. — dolphin_input2_financialpdf_pagebreak_assetsend_source.png

Observed output: Output artifact (Image): The Assets half closes, the page-10 running header appears in between, and the Liabilities half opens in the correct order. — dolphin_input2_financialpdf_pagebreak_parsed_success.png

Input artifact: Input artifact (Image): Two halves of the quarterly balance sheet split by the source page boundary: the Assets section ending on page 9 and the Liabilities section beginning on page 10. — dolphin_input2_financialpdf_pagebreak_assetsend_source.png

Output artifact: Output artifact (Image): The Assets half closes, the page-10 running header appears in between, and the Liabilities half opens in the correct order. — dolphin_input2_financialpdf_pagebreak_parsed_success.png

What changed: Image transformed into Image

Why it matters / Conclusion: Sequencing held up in all sampled cases.

Dolphin preserves logical content sequence in sampled two-column pages and page-boundary table splits, keeping nearby paragraphs and sections in the intended order.

image
Input artifact for "Reading Order Preservation" test: Two source crops from a split paragraph on a two-column page: the left-column end and the right-column start., dolphin_input1_hybridearnings_readingorder_leftend_source.png
Two source crops from a split paragraph on a two-column page: the left-column end and the right-column start.
OUTPUT
Output artifact for "Reading Order Preservation" test: The split paragraph is reconstructed as one continuous sentence with the column break preserved and no leakage from surrounding paragraphs., dolphin_input1_hybridearnings_readingorder_parsed_success.png
The split paragraph is reconstructed as one continuous sentence with the column break preserved and no leakage from surrounding paragraphs.
image
Input artifact for "Reading Order Preservation" test: Item 1. Business and General heading sample from the hybrid earnings report., dolphin_input1_hybridearnings_docheadings_item1_source.png
Item 1. Business and General heading sample from the hybrid earnings report.
image
Output artifact for "Reading Order Preservation" test: Both lines are extracted as headings, but they are normalized to the same heading tier rather than reflecting finer structure., dolphin_input1_hybridearnings_docheadings_item1_parsed_partial_success.png
Both lines are extracted as headings, but they are normalized to the same heading tier rather than reflecting finer structure.
image
Input artifact for "Reading Order Preservation" test: Item 1A. Risk Factors heading sample from the hybrid earnings report., dolphin_input1_hybridearnings_docheadings_item1a_source.png
Item 1A. Risk Factors heading sample from the hybrid earnings report.
image
Output artifact for "Reading Order Preservation" test: The parent heading and subheading are both emitted at the same level, flattening the intended heading relationship., dolphin_input1_hybridearnings_docheadings_item1a_parsed_failure.png
The parent heading and subheading are both emitted at the same level, flattening the intended heading relationship.
image
Input artifact for "Reading Order Preservation" test: Item 2. Properties heading sample from the hybrid earnings report., dolphin_input1_hybridearnings_docheadings_item2_source.png
Item 2. Properties heading sample from the hybrid earnings report.
image
Output artifact for "Reading Order Preservation" test: The section title is left as plain text rather than being marked as a heading., dolphin_input1_hybridearnings_docheadings_item2_parsed_failure.png
The section title is left as plain text rather than being marked as a heading.
image
Input artifact for "Reading Order Preservation" test: Two halves of the quarterly balance sheet split by the source page boundary: the Assets section ending on page 9 and the Liabilities section beginning on page 10., dolphin_input2_financialpdf_pagebreak_assetsend_source.png
Two halves of the quarterly balance sheet split by the source page boundary: the Assets section ending on page 9 and the Liabilities section beginning on page 10.
OUTPUT
Output artifact for "Reading Order Preservation" test: The Assets half closes, the page-10 running header appears in between, and the Liabilities half opens in the correct order., dolphin_input2_financialpdf_pagebreak_parsed_success.png
The Assets half closes, the page-10 running header appears in between, and the Liabilities half opens in the correct order.
Bottom Line
Sequencing held up in all sampled cases.
From our researchearlier researchPDF to markdown using open source libraries
Document Hierarchy Detection
Inconsistent
Test Summary
Feature tested: Document Hierarchy Detection
Result: Partial — Inconsistent

Feature tested: Document Hierarchy Detection

Result: Partial

Verdict: Inconsistent

Expected behavior: Dolphin emits markdown heading structure for section titles in the hybrid report, but the sampled headings are not always assigned consistent levels or any level at all.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Item 1. Business and General heading block in the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1_source.png

Observed output: Output artifact (Image): Item 1. Business and General are converted to heading markup, but the snippet truncates after the opening paragraph. — dolphin_input1_hybridearnings_docheadings_item1_parsed_partial_success.png

Input artifact: Input artifact (Image): Item 1. Business and General heading block in the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1_source.png

Output artifact: Output artifact (Image): Item 1. Business and General are converted to heading markup, but the snippet truncates after the opening paragraph. — dolphin_input1_hybridearnings_docheadings_item1_parsed_partial_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Item 1A. Risk Factors and its subheading in the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1a_source.png

Observed output: Output artifact (Image): Item 1A. Risk Factors and Competitive and Reputational Risks are both emitted at the same heading level, flattening the parent/child structure. — dolphin_input1_hybridearnings_docheadings_item1a_parsed_failure.png

Input artifact: Input artifact (Image): Item 1A. Risk Factors and its subheading in the hybrid earnings report. — dolphin_input1_hybridearnings_docheadings_item1a_source.png

Output artifact: Output artifact (Image): Item 1A. Risk Factors and Competitive and Reputational Risks are both emitted at the same heading level, flattening the parent/child structure. — dolphin_input1_hybridearnings_docheadings_item1a_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Item 2. Properties heading and table lead-in. — dolphin_input1_hybridearnings_docheadings_item2_source.png

Observed output: Output artifact (Image): Item 2. Properties is not given heading markup at all and appears as plain text before the table. — dolphin_input1_hybridearnings_docheadings_item2_parsed_failure.png

Input artifact: Input artifact (Image): Item 2. Properties heading and table lead-in. — dolphin_input1_hybridearnings_docheadings_item2_source.png

Output artifact: Output artifact (Image): Item 2. Properties is not given heading markup at all and appears as plain text before the table. — dolphin_input1_hybridearnings_docheadings_item2_parsed_failure.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): STUDY AREA heading in the scanned research paper. — dolphin_input3_scannedpaper_heading_studyarea_source.png

Observed output: Output artifact (Image): STUDY AREA is emitted at the expected markdown heading level. — dolphin_input3_scannedpaper_heading_studyarea_parsed_success.png

Input artifact: Input artifact (Image): STUDY AREA heading in the scanned research paper. — dolphin_input3_scannedpaper_heading_studyarea_source.png

Output artifact: Output artifact (Image): STUDY AREA is emitted at the expected markdown heading level. — dolphin_input3_scannedpaper_heading_studyarea_parsed_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): STAND PRESCRIPTIONS heading in the scanned research paper. — dolphin_input3_scannedpaper_heading_standprescriptions_source.png

Observed output: Output artifact (Image): STAND PRESCRIPTIONS is emitted at the same markdown heading level as STUDY AREA. — dolphin_input3_scannedpaper_heading_standprescriptions_parsed_success.png

Input artifact: Input artifact (Image): STAND PRESCRIPTIONS heading in the scanned research paper. — dolphin_input3_scannedpaper_heading_standprescriptions_source.png

Output artifact: Output artifact (Image): STAND PRESCRIPTIONS is emitted at the same markdown heading level as STUDY AREA. — dolphin_input3_scannedpaper_heading_standprescriptions_parsed_success.png

What changed: Image transformed into Image

Why it matters / Conclusion: Usable, but heading levels are not reliable in the mixed-layout filing.

Dolphin emits markdown heading structure for section titles in the hybrid report, but the sampled headings are not always assigned consistent levels or any level at all.

INPUT
Input artifact for "Document Hierarchy Detection" test: Item 1. Business and General heading block in the hybrid earnings report., dolphin_input1_hybridearnings_docheadings_item1_source.png
Item 1. Business and General heading block in the hybrid earnings report.
OUTPUT
Output artifact for "Document Hierarchy Detection" test: Item 1. Business and General are converted to heading markup, but the snippet truncates after the opening paragraph., dolphin_input1_hybridearnings_docheadings_item1_parsed_partial_success.png
Item 1. Business and General are converted to heading markup, but the snippet truncates after the opening paragraph.
INPUT
Input artifact for "Document Hierarchy Detection" test: Item 1A. Risk Factors and its subheading in the hybrid earnings report., dolphin_input1_hybridearnings_docheadings_item1a_source.png
Item 1A. Risk Factors and its subheading in the hybrid earnings report.
OUTPUT
Output artifact for "Document Hierarchy Detection" test: Item 1A. Risk Factors and Competitive and Reputational Risks are both emitted at the same heading level, flattening the parent/child structure., dolphin_input1_hybridearnings_docheadings_item1a_parsed_failure.png
Item 1A. Risk Factors and Competitive and Reputational Risks are both emitted at the same heading level, flattening the parent/child structure.
INPUT
Input artifact for "Document Hierarchy Detection" test: Item 2. Properties heading and table lead-in., dolphin_input1_hybridearnings_docheadings_item2_source.png
Item 2. Properties heading and table lead-in.
OUTPUT
Output artifact for "Document Hierarchy Detection" test: Item 2. Properties is not given heading markup at all and appears as plain text before the table., dolphin_input1_hybridearnings_docheadings_item2_parsed_failure.png
Item 2. Properties is not given heading markup at all and appears as plain text before the table.
INPUT
Input artifact for "Document Hierarchy Detection" test: STUDY AREA heading in the scanned research paper., dolphin_input3_scannedpaper_heading_studyarea_source.png
STUDY AREA heading in the scanned research paper.
OUTPUT
Output artifact for "Document Hierarchy Detection" test: STUDY AREA is emitted at the expected markdown heading level., dolphin_input3_scannedpaper_heading_studyarea_parsed_success.png
STUDY AREA is emitted at the expected markdown heading level.
INPUT
Input artifact for "Document Hierarchy Detection" test: STAND PRESCRIPTIONS heading in the scanned research paper., dolphin_input3_scannedpaper_heading_standprescriptions_source.png
STAND PRESCRIPTIONS heading in the scanned research paper.
OUTPUT
Output artifact for "Document Hierarchy Detection" test: STAND PRESCRIPTIONS is emitted at the same markdown heading level as STUDY AREA., dolphin_input3_scannedpaper_heading_standprescriptions_parsed_success.png
STAND PRESCRIPTIONS is emitted at the same markdown heading level as STUDY AREA.
Bottom Line
Usable, but heading levels are not reliable in the mixed-layout filing.
From our researchPDF to markdown using open source libraries
Caption and Footnote Association
Preserved
Test Summary
Feature tested: Caption and Footnote Association
Result: Passed — Preserved

Feature tested: Caption and Footnote Association

Result: Passed

Verdict: Preserved

Expected behavior: Dolphin keeps captions, titles, dates, and table notes attached to the correct figure or table in the sampled documents, even when the parent image or table is degraded.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Signature/photo block caption on the shareholder-letter page. — dolphin_input1_hybridearnings_ceocaption_source.png

Observed output: Output artifact (Image): Brian Cornell, Chairman and CEO stays correctly attached directly beneath the Figure placeholder. — dolphin_input1_hybridearnings_ceocaption_parsed_success.png

Input artifact: Input artifact (Image): Signature/photo block caption on the shareholder-letter page. — dolphin_input1_hybridearnings_ceocaption_source.png

Output artifact: Output artifact (Image): Brian Cornell, Chairman and CEO stays correctly attached directly beneath the Figure placeholder. — dolphin_input1_hybridearnings_ceocaption_parsed_success.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Figure 1 chart and its caption in the scanned paper. — dolphin_input3_scannedpaper_figure1_source.png

Observed output: Output artifact (Image): The chart data is omitted, but the Figure 1 caption remains correctly attached immediately after the placeholder. — dolphin_input3_scannedpaper_figure1_omitted_failed.png

Input artifact: Input artifact (Image): Figure 1 chart and its caption in the scanned paper. — dolphin_input3_scannedpaper_figure1_source.png

Output artifact: Output artifact (Image): The chart data is omitted, but the Figure 1 caption remains correctly attached immediately after the placeholder. — dolphin_input3_scannedpaper_figure1_omitted_failed.png

What changed: Image transformed into Image

Why it matters / Conclusion: Association stayed intact in the checked samples.

Dolphin keeps captions, titles, dates, and table notes attached to the correct figure or table in the sampled documents, even when the parent image or table is degraded.

INPUT
Input artifact for "Caption and Footnote Association" test: Signature/photo block caption on the shareholder-letter page., dolphin_input1_hybridearnings_ceocaption_source.png
Signature/photo block caption on the shareholder-letter page.
OUTPUT
Output artifact for "Caption and Footnote Association" test: Brian Cornell, Chairman and CEO stays correctly attached directly beneath the Figure placeholder., dolphin_input1_hybridearnings_ceocaption_parsed_success.png
Brian Cornell, Chairman and CEO stays correctly attached directly beneath the Figure placeholder.
INPUT
Input artifact for "Caption and Footnote Association" test: Figure 1 chart and its caption in the scanned paper., dolphin_input3_scannedpaper_figure1_source.png
Figure 1 chart and its caption in the scanned paper.
OUTPUT
Output artifact for "Caption and Footnote Association" test: The chart data is omitted, but the Figure 1 caption remains correctly attached immediately after the placeholder., dolphin_input3_scannedpaper_figure1_omitted_failed.png
The chart data is omitted, but the Figure 1 caption remains correctly attached immediately after the placeholder.
Bottom Line
Association stayed intact in the checked samples.
From our researchPDF to markdown using open source libraries

How it scored on the research's own criteria

The 9 evaluation dimensions from our hands-on research on Dolphin (ByteDance), each judged from recorded runs on 3 test inputs — the same verdicts the ranking page ranks on.

held up  partial  failed  not exercised by this input

CriterionVerdictWhat the runs showedPer inputProof
Chart ReconstructionWeak1/5On both chart-bearing documents, the chart content itself is dropped rather than turned into usable data or a faithful description, so this is a core failure. The middle financial report has no charts, so it doesn’t offset the two complete losses.open proof ↗
Document HierarchyStrong4/5The annual report shows a real heading-level inconsistency, but the other two documents keep their section structure steady. So hierarchy support is generally good, with one clear weak spot on the more complex filing-style layout.open proof ↗
Long/Complex Document RobustnessStrong4/5It can finish long documents without crashing, and the shorter runs stay stable end to end. The only reason this is not a top score is that the longest and densest report does produce a severe local breakdown before recovering.open proof ↗
Reading Order PreservationStrong5/5Across all three inputs, the tool keeps content in the right logical sequence, including the hardest cases like a column break and a page-spanning table. I saw no true reading-order failure.open proof ↗
Table ReconstructionMixed3/5Simple and medium tables are usually usable, but the tool loses its grip on tricky layouts: wrapped labels, diagonal split headers, and deep rowspan structures. That pattern is too mixed for a high score, but not so broken that the feature is unusable overall.open proof ↗
Text PreservationMixed3/5It keeps most prose and numbers readable, but the repeated glyph and word substitutions are real text losses, not just cosmetic noise. Because the problems recur across all three inputs while the bulk of ordinary prose remains usable, this lands in the middle rather than at the top or bottom.open proof ↗
Bonus: Unique or Anomalous BehaviorsStrong5/5This tool has several memorable, repeatable quirks, both bad and good: repeated word and glyph substitutions, signature hallucinations, a long repetition loop on the hardest page, and faithful preservation of original print-era hyphenation on the scan. That’s distinctive enough to merit the top bonus score.open proof ↗
Caption/Figure AssociationStrong5/5Even when the underlying image or table content is damaged, the surrounding captions and notes stay in the right place. That makes the association behavior consistently strong across all three documents.open proof ↗
Image RetentionWeak2/5It does sometimes keep image regions, but not reliably: one document hallucinates signatures, one drops most repeating logos, and one double-counts a logo region. That is better than total loss, but still well below solid retention.open proof ↗

Verdicts come verbatim from the study's recorded observations, never re-derived at render; a criterion with no recorded run shows Not exercised — this section cannot invent a score.

Free to self-host

MIT-licensed Dolphin-1.5; the report says it is free to self-host.

Open source
Free
MIT license; self-hosted deployment.

The evaluation also notes a newer Dolphin-v2 exists, but it was not the version tested here.

✓ Use This If
You want a free, self-hosted PDF-to-Markdown baseline that usually preserves prose, headings, tables, captions, and reading order.
Your PDFs are mostly text-heavy or table-heavy, and you can tolerate some manual cleanup for charts and repeated images.
You care more about data values and document structure than about faithfully recovering chart graphics.
✕ Skip This If
You need chart data or figure content preserved in markdown; every chart tested was reduced to a placeholder.
Your documents rely on repeated images, handwritten signatures, or exact checkbox glyphs that must be consistent.
You need highly complex wrapped-label or nested tables to stay perfectly aligned without manual review.
developer-toolsdocumentation-toolstextOther
Not in the tested documents. All charts in the hybrid earnings report and the scanned research paper were reduced to Figure placeholders, with no chart data recovered.
It handled many routine financial tables well, including merged headers and a page-spanning balance sheet split. But wrapped labels, diagonal-split headers, and the most complex nested table caused structural errors.
Yes, at least at the prose level. The scanned research paper was OCR'd well overall, including a two-column title page, though charts were omitted and the most complex table still broke down.
Yes in the sampled case. The split paragraph on the hybrid earnings report and the two-column title page in the scanned paper were linearized into sensible reading order.
Yes. The report says Dolphin-1.5 is open source under the MIT license and free to self-host.

Banner Preview

How the embed badge will look on your site

Dolphin (ByteDance) featured on AI Demos

Embed HTML

Copy this code to your website source

<a target="_blank" href="https://aidemos.com/tools/dolphin?utm_source=dolphin_embed" style="width: 250px; height: 80px; border-radius:4px;" width="250" height="80"> <img src="https://aidemos-website-images.s3.amazonaws.com/featured.png" alt="Dolphin (ByteDance) | Featured on AI Demos" style="width: 250px; height: 80px; border-radius:4px;" width="250" height="80"> </a>

Quick Integration Guide

  • 1Copy the HTML code block above.
  • 2Paste it into your site's HTML or CMS editor.
  • 3Banner appears instantly on your page.
  • 4Links back to your tool profile here.
Similar Tools

Similar Tools

Discover more AI tools like Dolphin (ByteDance) to enhance your workflow.

Comments (0)

Please Log in to join the discussion.

Built by FutureSmart AI — the team behind AI Demos

Need a custom AI solution for this use case?

If you are looking to build a custom PDF-to-Markdown conversion, document parsing, or structured extraction system for your business or internal workflow, email us at contact@futuresmart.ai.

Get a custom build

Found something inaccurate or missing? We try to keep our AI research accurate and useful. If you found outdated information, an issue, or have a suggestion, email us at collaborate@aidemos.com.

Back to Top