Jak převést soubory PDF a Word na text pro AI: Microsoft MarkItDown
MarkdownPodrobná recenze: Jak převést soubory PDF a Word na text pro AI: Microsoft MarkItDown.
Přečíst celý článek
Hlavní poznatek
MarkItDown je bezplatný nástroj od Microsoftu, který převádí soubory Word, Excel, prezentace a PDF na strukturovaný text pro AI. Soubory Office zpracovává čistě za zlomek sekundy. PDF se složitým rozložením promění v chaos a ze skenu vytvoří prázdný soubor s nulovým návratovým kódem. Níže najdete funkční instalační příkaz, měření na dokumentech obsahujících azbuku a pravidlo, kdy použít jiný nástroj.
Další pokyny najdete v dokumentaci Ailoot.
Co je MarkItDown a k čemu slouží?
Hlavní poznatek
MarkItDown je nástroj od Microsoftu v jazyce Python, který načte soubor a vrátí jeho obsah jako strukturovaný text. Nadpisy zůstanou nadpisy a tabulky tabulkami. Je dostupný v otevřeném repozitáři na GitHubu pod licencí MIT, nainstaluje se jediným příkazem a veškeré zpracování probíhá na vašem počítači. Má jediný úkol: připravit dokument tak, aby AI viděla nejen slova, ale i strukturu.
Pošlete AI smlouvu, zprávu nebo účetní export a dostanete odpověď, která s dokumentem vůbec nesouvisí. Příčinou obvykle není model. Soubor obsahuje formát: Word je archiv se značkami, Excel je tabulka s vazbami mezi buňkami a PDF je sada znaků se souřadnicemi na stránce. Model pracuje s textem a někdo ho z těchto souborů musí získat.
Právě to dělá MarkItDown. Repozitář najdete na github.com/microsoft/markitdown pod licencí MIT, takže jej můžete používat bez omezení. K 18. srpnu 2026 má 174,412 hvězdiček a 12,756 forků; nejnovější verze 0.1.7 vyšla 29. července. Projekt je aktivní, ale jeho těžiště se přesunulo od vývoje k údržbě: má 481 otevřených požadavků na stažení oproti 183 sloučeným za celou svou historii.
Vývojáři popisují jeho účel takto:
MarkItDown je nenáročný nástroj v jazyce Python pro převod souborů různých formátů na Markdown, který lze použít s velkými jazykovými modely a souvisejícími nástroji pro analýzu textu.
Následující věta v popisu vysvětluje polovinu stížností, které lidé na tento nástroj mají:
Ačkoli výstup často vypadá docela dobře a je přívětivý pro lidi, je určen pro nástroje na analýzu textu a nemusí být nejlepší volbou pro převod dokumentů s vysokou věrností, které mají číst lidé.
Výstup je surový materiál pro model. Nebude to krásný dokument a projekt to říká otevřeně hned v první části.
Popis přímo vysvětluje, proč používá Markdown: přední modely už tímto značkovacím jazykem „mluví“ a bez vyzvání jej zahrnují do svých odpovědí, protože ho během trénování viděly v obrovském množství. Značkování je také úsporné: tři křížky pro nadpis místo tuctu řádků metadat.
Čím se MarkItDown liší od běžného převodníku?
Hlavní poznatek
Převodníky jako pandoc převádějí jeden značkovací jazyk na jiný a zachovávají rozvržení pro lidi. pandoc vůbec nepřijímá PDF jako vstup. MarkItDown řeší opačný problém: získá obsah ze souboru Office a uspořádá jej tak, aby mu model okamžitě rozuměl a neplýtval tokeny. Zachování vizuálního rozvržení není jeho cílem, a právě v tom spočívá celý rozdíl.
Rozdíl je patrný na jednom příkladu. Vezměte složku s dvaceti soubory PDF a zkuste je zpracovat pomocí pandoc. Nepůjde to: pandoc umí vytvářet PDF jako výstup, ale neumí je číst jako vstup. A právě situace „mám hromadu dokumentů, dej je modelu“ je nejběžnější.
Autoři MarkItDown se srovnávají s knihovnou textract, která jednoduše extrahuje text odkudkoli. Rozdíl spočívá v tom, že MarkItDown se snaží zachovat strukturu: nadpisy, seznamy, tabulky a odkazy.
| Funkce | pandoc | MarkItDown |
|---|---|---|
| Čte PDF | ne | ano, s výhradami |
| Čte Word, Excel, prezentace | částečně | ano |
| Zamýšlené publikum výstupu | lidé | modely |
| Hlavní přínos | věrnost rozvržení | struktura a nízký počet znaků |
| Instalace | samostatný program | jeden příkaz Pythonu |
Praktický závěr je jednoduchý. Pokud potřebujete převést článek do rozvržení pro publikaci, použijte pandoc. Pokud potřebujete, aby AI porozuměla dvaceti smlouvám, použijte MarkItDown.
Jak nainstalovat MarkItDown, aniž byste získali první vydání?
Hlavní poznatek
S vydáním 0.1.8 nainstaluje příkaz v popisu projektu nejnovější verzi v Pythonu 3.14 a 3.12; bylo to znovu ověřeno v osmi čistých prostředích. Tiché vrácení na 0.0.2, druhé vydání v historii projektu, stále nastává v Pythonu 3.15, na počítačích Mac s procesory Intel při použití Pythonu 3.14 a na počítačích Mac se staršími verzemi macOS při použití Pythonu 3.13 a 3.14. V těchto případech instalátor ohlásí úspěch. Použijte tedy Python 3.12, vypište potřebné formáty jmenovitě a ihned zkontrolujte číslo verze.
Nejprve správný příkaz a potom vysvětlení, proč je správný.
Zkontrolujte verzi Pythonu
Nejspolehlivější je Python 3.12: nejnovější MarkItDown se nainstaluje v každém prostředí, které jsme s ním testovali. Příkaz
python3 --versionukáže, jakou verzi máte. Na počítačích Mac s procesory Intel nebo se starší verzí macOS může Python 3.13 a 3.14 přejít na starší verzi bez upozornění; Python 3.15 zatím není podporován, jak vysvětlujeme níže.Nainstalujte jej s uvedenými formáty
Spusťte
pip install 'markitdown[pdf,docx,xlsx,pptx]'. Uvozovky jsou nutné, jinak shell vyhodnotí hranaté závorky. Na počítači Mac s procesorem Intel přidejte zainstallpříznak--prefer-binary.Ihned ověřte, že se nainstaloval
Spusťte
markitdown --version. Odpověď by měla býtmarkitdown 0.1.8nebo novější. Nižší číslo znamená, že instalace přešla na starší verzi; proč, vysvětluje tato část.
pip install 'markitdown[pdf,docx,xlsx,pptx]'
markitdown --version
Popis projektu uvádí jako hlavní příkaz pip install 'markitdown[all]' pro instalaci všeho najednou. Dne 28. září 2026, týden po vydání verze 0.1.8, byly v čistých prostředích na počítači Apple Silicon se systémy Python 3.14.6 a 3.12.12 spuštěny čtyři varianty:
| Příkaz | Nainstalováno v Pythonu 3.14 | Nainstalováno v Pythonu 3.12 |
|---|---|---|
pip install markitdown | 0.1.8 | 0.1.8 |
pip install 'markitdown[pdf,docx,xlsx,pptx]' | 0.1.8 | 0.1.8 |
pip install 'markitdown[all]' | 0.1.8 | 0.1.8 |
pip install 'markitdown[all]==0.1.8' | 0.1.8 | 0.1.8 |
Všech osm instalací skončilo zprávou „Successfully installed“ a markitdown --version v každém případě vrátilo 0.1.8. V srpnu, kdy byla nejnovější verzí 0.1.7, nainstaloval třetí příkaz v Pythonu 3.14 verzi 0.0.2, vydanou 8. března 2025 — druhé vydání v historii projektu. Nyní má jedenáct stabilních vydání, od 0.0.1 do 0.1.8, a dvacet šest včetně předběžných vydání.
Příčinou byl řetězec závislostí. Ve verzi 0.1.7 přitahuje doplněk [all] knihovnu pro titulky YouTube z určité řady vydání a všechna vydání v této řadě deklarují, že v Pythonu 3.14 nefungují. Instalátor je odmítne, a protože není připnutá žádná verze, postupuje zpět přes verze MarkItDown, dokud nenajde takovou, kterou lze nainstalovat. Najde 0.0.2 a nainstaluje ji, takže se vám do počítače dostane vydání staré rok a půl. Ve verzi 0.1.8 byl požadavek na knihovnu titulků posunut na řadu, která v 3.14 funguje, a návrat ke starší verzi se tím zastavil.
Tento mechanismus stále existuje. Pokud instalátor pro váš systém nenajde jednu z požadovaných součástí, stejným způsobem potichu přejde na 0.0.2. V posledních verzích jde o modul onnxruntime, který používá detektor typu souboru. Na Macu se sestavuje takto: pro Python 3.12 macOS 11 a novější; pro 3.13 macOS 13; pro 3.14 pouze Apple Silicon s macOS 14 nebo novějším. Pokud váš Mac tyto požadavky nesplňuje, nainstaluje se 0.0.2 i při prostém příkazu pip install markitdown. Test na Macu s procesorem Intel a Pythonem 3.14 spuštěným přes Rosetta dopadl přesně takto: „Successfully installed“, žádná upozornění a uvnitř verze 0.0.2.
Počítače Mac s procesory Intel mají ještě další komplikaci. Od června 2026 se knihovna cryptography, potřebná ke čtení PDF, vydává bez předkompilované verze pro tento procesor, takže se ji instalátor pokusí sestavit ze zdrojového kódu. Přidejte do příkazu příznak --prefer-binary a použije předchozí verzi s předkompilovaným balíčkem. Při testování Pythonu 3.13 na počítači Intel se takto nainstalovala verze 0.1.8 a PDF se otevřelo. Příznak nainstaluje cryptography 48.0.1, která má tři známé zranitelnosti: v dešifrování PKCS#7 a ověřování řetězce certifikátů. MarkItDown ji používá pouze k dešifrování šifrovaných PDF a čtení dokumentů do těchto částí nezasahuje.
V Pythonu 3.15 dochází k návratu na starší verzi ze dvou důvodů. Verze 0.1.8 deklaruje podporu pouze od 3.10 do 3.14 a pro 3.15 zatím není dostupný žádný modul. Řešení instalátoru pro 3.15 to potvrzuje: prostý příkaz i příkaz s formáty nainstalují stejné vydání 0.0.2.
Upozornění na návrat ke starší verzi vypadá takto, po jednom řádku pro každý doplněk uvedený v příkazu:
WARNING: markitdown 0.0.2 does not provide the extra 'all'
Řádek se ztratí mezi desítkami řádků stahování a neříká nic o nahrazené verzi. U prostého příkazu bez doplňků se nezobrazí ani upozornění. Závěrečné hlášení je veselé: „Successfully installed.“
Instalace bez doplňků také není řešením. Základní balíček se nainstaluje, ale nedokáže otevřít PDF:
PdfConverter recognized the input as a potential .pdf file, but the
dependencies needed to read .pdf files have not been installed. To resolve
this error, include the optional dependency [pdf] or [all] when installing
MarkItDown. For example:
* pip install 'markitdown[pdf]'
* pip install 'markitdown[all]'
Samotný nástroj doporučuje [all] a s verzí 0.1.8 tato rada znovu funguje v Pythonu 3.14 a 3.12. Přesto je lepší vyjmenovat formáty: [all] přidává dalších zhruba patnáct balíčků a asi 55 megabajtů, včetně předběžného vydání knihovny Azure a právě toho řetězce závislostí YouTube, který už jednou instalaci rozbil.
Instalátor si s předběžným vydáním Azure poradí sám. Pip obvykle předběžná vydání přeskočí, ale zde požadavek výslovně uvádí předběžné vydání, a tak ho nainstaluje. Na Pythonu 3.12 byly testovány čtyři verze pipu, od 23.2 do 26.2; všechny vyberou 0.1.8.
Pozor
Ihned po instalaci spusťte markitdown --version. Zabere to pět sekund a je to jediný způsob, jak zjistit, že jste nainstalovali to, o co jste žádali. Hlášení o úspěchu zde nic neznamená.
V srpnu přinesla opětovná instalace v dalším čistém prostředí stejný výsledek: 0.0.2 a slovo „Successfully“.
Předem se hodí znát několik praktických podrobností.
Je poměrně objemný: základní instalace zabere 143 megabajtů, se čtyřmi formáty 303. Největší součástí je detektor typu souboru o velikosti 81 megabajtů, který se instaluje i se základním balíčkem. Na notebooku to nevadí, ale záleží na tom u cloudové funkce s velikostním limitem.
Nespoléhejte na zrcadla jako záložní řešení. Testované zrcadlo poskytlo index a soubory MarkItDown byly dostupné, ale chyběla jedna požadovaná závislost, takže instalace selhala v Pythonu 3.14 i 3.12.
Instalace je maličkost ve srovnání s hlavním problémem. Mnohem častěji AI vytváří nesmysly proto, že se do jejího kontextového okna dostalo něco nesprávného nebo v nesprávné podobě. Schopnost rozhodnout, co modelu před úkolem předat, se nazývá kontextové inženýrství a příprava dokumentů je jeho součástí.
Jak převést první dokument na text?
Hlavní poznatek
Jediný příkaz v terminálu: název programu a cesta k souboru. Ve výchozím nastavení se výsledek vypíše přímo v okně, takže jej můžete rovnou uložit do souboru. Existují tři způsoby: výstup do konzole, zápis pomocí příznaku nebo předání souboru jako proudu. Pro začlenění do vlastních skriptů je k dispozici třířádkový obal v Pythonu, který přijímá také adresy URL.
Nejkratší možnost:
markitdown dogovor.docx
Text se vypíše v terminálu. Uložit jej do souboru lze dvěma způsoby:
markitdown dogovor.docx -o dogovor.md
markitdown dogovor.docx > dogovor.md
Rozdíl je na Macu a Linuxu zanedbatelný, ale ve Windows záleží: přesměrování pomocí > může způsobit pád programu, když výstup obsahuje azbuku.
Soubor můžete předat jako proud; v takovém případě se hodí nápověda s příponou:
cat dogovor.docx | markitdown -x docx
Tady jsou hlavní příznaky z nápovědy verze 0.1.8:
| Příznak | Co dělá |
|---|---|
-o, --output | zapíše výsledek do souboru místo jeho vypsání do okna |
-x, --extension | nápověda s příponou, když je soubor předán jako proud |
-m, --mime-type | nápověda s typem obsahu |
-c, --charset | nápověda s kódováním znaků |
-d, --use-docintel | zpracování prostřednictvím placené cloudové služby Microsoftu |
-v, --version | zobrazí verzi |
Stejná nápověda uvádí další tři užitečné příznaky, každý byl otestován: --list-plugins zobrazí nainstalované pluginy, -p je zapne pro konkrétní spuštění a --keep-data-uris zachová ve výstupu obrázky vložené do dokumentu (ve výchozím nastavení se ořezávají). Zbývající nastavení se týkají cloudových služeb Microsoftu.
Obal v Pythonu zabere tři řádky:
from markitdown import MarkItDown
md = MarkItDown()
print(md.convert("ostatki.xlsx").text_content)
Stejné volání přijímá i adresu URL. Jednoduchá stránka vrátila čistý text se 167 znaky, včetně nadpisu a odkazu, ale bez menu a patičky:
r = md.convert("https://example.com")
Kterým formátům MarkItDown rozumí a co to ve skutečnosti znamená?
Hlavní poznatek
Popis projektu uvádí širokou škálu formátů: soubory Office, PDF, obrázky, zvuk, archivy, odkazy na YouTube a elektronické knihy. Tři položky nefungují tak, jak by se mohlo zdát. Bezplatná verze nemá vůbec žádné rozpoznávání textu v obrázcích. Řeč odesílá do anglickojazyčného modulu. Soubory, které nešlo zpracovat, z archivů zmizí bez upozornění.
Souhrnná tabulka toho, co se uvádí a co to znamená v praxi.
| Formát | Uvádí se | Co se skutečně děje |
|---|---|---|
| Word, Excel, prezentace | ano | funguje čistě; to je jeho silná stránka |
| CSV, JSON, XML, HTML | ano | funguje, ale CSV má zádrhel s oddělovačem |
| ano | záleží na rozvržení: jeden sloupec se sestaví, dva se rozpadnou | |
| Obrázky | „metadata a rozpoznávání“ | žádné rozpoznávání, pouze metadata nebo placený vizuální model |
| Zvuk | „přepis řeči“ | posílá se do anglickojazyčného modulu Google |
| Archivy ZIP | „prochází obsah“ | vše, co nelze zpracovat, tiše zmizí |
| Odkazy YouTube | ano | pouze úplné odkazy ve tvaru '<OFFICIAL_URL>'?... |
| Elektronické knihy EPUB | ano | funguje |
Tři položky podrobněji.
Obrázky. Popis obsahuje slovo OCR, takže lidé očekávají, že program přečte text z fotografie. Nedělá to. Čte metadata pomocí samostatného programu exiftool a pokud připojíte vizuální model s vlastním klíčem, může mu obrázek poslat k vytvoření popisu.
Zvuk. Přepis řeči je dostupný, ale jazyk se nepředává a modul ve výchozím nastavení očekává angličtinu. Volá také neoficiální bezplatný koncový bod Googlu, který je omezen na přibližně padesát požadavků denně na jeden klíč.
Archivy. Program rozbalí soubory ZIP a projde soubory uvnitř, jejichž výsledky spojí. Pokud soubor nedokáže zpracovat, zachytí a potlačí chybu. Soubor se ve výsledku jednoduše neobjeví a vy se o tom nedozvíte.
Co se stane s dokumenty obsahujícími azbuku?
Hlavní poznatek
Nejnovější verzi jsme zkusili na třech souborech s azbukou: smlouvě ve Wordu, inventurním listu v Excelu a prezentaci. Azbuka i číslo zůstaly ve všech třech neporušené. Problémy nastávají na třech místech: v souborech CSV se středníky, ve formátování měny v buňkách Excelu a ve výstupu konzole Windows. Všechny tři mají řešení.
Níže uvedené soubory byly vytvořeny speciálně pro testování; jejich údaje jsou smyšlené.
Inventurní list v Excelu vyšel stejně čistě, přičemž název listu se změnil na nadpis:
## Stock
| Item | In stock | Reserved | Available |
| --- | --- | --- | --- |
| Coffee beans, kg | 420 | 38 | 382 |
| Loose-leaf tea, kg | 180 | 52 | 128 |
Prezentace se změnila na text; čísla snímků se zobrazila jako poznámky a názvy snímků jako nadpisy. Azbuka je i zde neporušená. Obecné tvrzení, že „MarkItDown nerozumí azbuce“, je nepravdivé.
Nyní ke třem místům, kde se věci skutečně rozbijí.
CSV se středníky. Pro porovnání byly zpracovány dva totožné exporty faktur. Z exportu s čárkami vznikla správná tabulka se čtyřmi sloupci. U středníků se celý řádek ocitne v jediné buňce.
Celý řádek skončil v jediné buňce. Kódování bylo rozpoznáno správně a nenastala žádná chyba; příznak -c nepomůže. Model dostane tuto tabulku a nepozná, která hodnota je částka a která stav. Soubor znovu exportujte s výslovným oddělovačem čárkou a správným kódováním; originál ponechte beze změn. Středníky globálně nenahrazujte: oddělovače v uvozovaném textu a desetinné čárky mohou být součástí hodnoty. Není-li nový export možný, načtěte originál parserem se skutečným oddělovačem a nové CSV zapište zapisovačem CSV zachovávajícím uvozování a hodnoty buněk. Před analýzou porovnejte počty sloupců, řádků a kontrolní součty se zdrojovým exportem.
Formátování měny v Excelu. Symbol měny je uložen v nastavení zobrazení buňky a nestává se součástí samotné hodnoty. Správci projektu příčinu potvrdili. U ceníku nebo faktury na tom záleží: model uvidí čísla, aniž by věděl, jakou měnu představují.
Konzole Windows. U souborů s nelatinkovými znaky může program spadnout.
Trasování chyby ukazuje kódování cp1251, tedy konzoli Windows. Dokument se zpracuje správně; selže až výpis výsledku v okně terminálu. Existují dvě řešení:
markitdown dogovor.docx -o dogovor.md
$env:PYTHONUTF8 = "1"; markitdown dogovor.docx > dogovor.md
První úplně obejde konzoli; druhé přiměje Python zapisovat v UTF-8. Lidé navrhli opravy samotného nástroje nejméně šestkrát: některé návrhy byly uzavřeny bez sloučení a zbývající jsou stále otevřené. Musíte si tedy poradit sami.
Čtvrtý příznak se objevuje v PDF: místo písmen jsou řetězce jako (cid:1090). Znamená to, že soubor používá nestandardní tabulku písem a jeho znaky se nepodařilo dekódovat. Nemá smysl takový dokument zpracovávat pomocí MarkItDown; potřebujete jiný nástroj.
Proč se PDF změní v chaos?
Hlavní poznatek
PDF neobsahuje strukturu, jen znaky se souřadnicemi na stránce. Text v jednom sloupci se sestaví poměrně dobře. Dva sloupce se změní v chaos: řádky se spojují napříč sloupci, slova se slévají a rozvržení se změní v tabulky, které v dokumentu nikdy nebyly. Nástroj v PDF vůbec nerozpoznává nadpisy — je to zřejmé ze zdrojového kódu i nezávislých měření.
Pro testování byl zpracován vědecký článek o velikosti 2.16 megabajtu se dvěma sloupci. Návratový kód byl nula; po 0.9 sekundách obsahoval výstup 88,000 znaků, téměř samý nesmysl. Osmdesát osm tisíc znaků budí dojem, že vše proběhlo úspěšně. Tedy než soubor otevřete:
| | Hybrid | | OCR-LLM | | Framework |
| --- | ------ | -------- | ----------- | --- | ---------- |
...
Informationextractionfromcopy-heavydoc-
5202 tcO 11 ]LC.sc[ 1v83101.0152:viXra
Současně se pokazily tři věci. Rozvržení se dvěma sloupci se změnilo v tabulky, které v článku nejsou. Slova se slila bez mezer. Poslední řádek je svislý postranní panel na stránce, extrahovaný pozpátku.
Pak přišla vtipná část. Ukázalo se, že testovaný článek byl právě tou prací, která měřila MarkItDown a porovnávala jej s dalšími nástroji. Nástroj převedl odstavec uvádějící vlastní naměřené hodnoty takto:
cues. This name-matching error could be miti- OCRpreprocessingoverhead(0.056s),whileDo-
gatedthroughpromptengineeringtoprovidemore clingandMinerUadoptmorecomputationallyin-
explicit matching instructions or fine-tuning the tensive strategies with OCR latencies of approxi-
Levý a pravý sloupec se spojily řádek po řádku. Model, kterému toto předáte, přečte polovinu věty z jednoho odstavce a polovinu z jiného.
Příčina je technická a jednoduchá. Word výslovně ukládá „tohle je nadpis“ a „tohle je buňka tabulky“. PDF ukládá „tohle je znak“ a „toto jsou jeho souřadnice na stránce“. Rekonstrukce struktury ze souřadnic je samostatný obtížný úkol a MarkItDown se o ni téměř nepokouší. Zdrojový kód pro zpracování PDF neobsahuje žádné rozpoznávání nadpisů: pokud stránka není rozpoznána jako formulář nebo tabulka, celý dokument projde základní extrakcí textu.
Uživatelé to v repozitáři projektu pravidelně hlásí, mimo jiné u vědeckých článků a tabulek.
Nástroj v PDF nenajde ani jeden nadpis, přesně jak ukazuje jeho zdrojový kód.
Číslo „MarkItDown dosahuje 82% přesnosti“ koluje online bez jakékoli metodiky. Sledování k původnímu zdroji nikam nevede: řetězec odkazů končí na stránce, která se nenačte. Nelze jej považovat za měření.
Co se stane s naskenovanou smlouvou?
Hlavní poznatek
Nic. Soubor se zpracuje, program ohlásí úspěch a výstup obsahuje nula znaků. Žádná chyba ani upozornění. To se dvakrát testovalo na PDF vytvořeném z obrázku a samostatně i na samotném obrázku — výsledek byl stejný. Nástroj extrahuje text, který už je v souboru uložen jako text; bezplatná verze nemá schopnost rozpoznávání.
Toto chování je nebezpečnější než ostatní, protože nevypadá jako selhání.
Pro testování bylo z obrázku s textem vytvořeno PDF — tedy přesně to, co vznikne, když smlouvu vyfotíte nebo naskenujete. Běh se opakoval, aby se vyloučila náhoda:
| Vstup | Návratový kód | Znaky ve výstupu | Chybová zpráva |
|---|---|---|---|
| PDF z obrázku, běh 1 | 0 | 0 | žádná |
| PDF z obrázku, běh 2 | 0 | 0 | žádná |
| Obrázek PNG přímo | 0 | 1 (konec řádku) | žádná |
Nula znaků a nula chyb, dvakrát po sobě. Návratový kód nula znamená „vše proběhlo v pořádku“ a každý skript, který ověřuje úspěch podle návratového kódu, bude dokument považovat za zpracovaný. Pak se prázdný výstup předá modelu, model nic neuvidí a začne si odpověď vymýšlet z ničeho.
Pozor
Pokud zpracováváte dokumenty v dávkách, zkontrolujte délku výstupu. Návratový kód vám nic neřekne: prázdný soubor s nulovým návratovým kódem vypadá jako sken.
Existují dvě řešení a obě jsou placená. Prvním je příznak -d, který odešle dokument do cloudové rozpoznávací služby Microsoftu; nápověda k příznaku výslovně uvádí, že je potřeba platný koncový bod služby. Druhou možností je samostatný doplňkový balíček, který stránky posílá vizuálnímu modelu pomocí vašeho klíče, takže poskytovateli modelu platíte za každou stránku. Od dubna 2026 se v otevřené diskusi o druhé metodě uvádí, že se zpracuje pouze první stránka vícestránkového skenu.
Rozpoznávací model můžete spustit také na vlastním počítači, jde však o samostatný projekt.
U jednorázového dokumentu je jednodušší jej otevřít a text zkopírovat ručně. Pokud skenujete průběžně, potřebujete nástroj s vestavěným rozpoznáváním.
Můžete soubor jednoduše nahrát do online převodníku?
Hlavní poznatek
Technicky ano; domén s tímto názvem je mnoho. Žádná z nich však není spojena s Microsoftem. Tvrzení „soubor nikdy neopustí váš prohlížeč“ lze ověřit jediným kliknutím a není vždy pravdivé. Než nahrajete smlouvu nebo export se jmény lidí, podívejte se sami, kam soubor putuje.
„MarkItDown online“ je jedním z nejčastějších návrhů ve vyhledávání a existují stránky, které jej nabízejí. Původní nástroj Microsoftu nemá vůbec žádný web; je dostupný pouze jako program, který si nainstalujete sami. Cokoli s podobným názvem, co se otevře v prohlížeči, vytvořil někdo jiný.
Takovou službu můžete prověřit za minutu: otevřete vývojářské nástroje na kartě síťových požadavků, nahrajte libovolný neškodný soubor a zjistěte, zda míří na server. Pokud ano, tvrzení o zpracování v prohlížeči je nepravdivé, jakkoli sebejistě je prezentováno v častých dotazech.
Pozor
Smlouva, faktura nebo export obsahující jména zaměstnanců zahrnuje osobní údaje. Pokud takový soubor odešlete na web třetí strany, jste to vy, kdo jej předal. Místní nástroj tomuto problému předchází: soubor neopustí váš počítač.
Proto je MarkItDown ceněn tam, kde dokumenty nelze odeslat mimo organizaci. V jedné diskusi někdo popsal svou situaci: na pracovním notebooku měl zakázané libovolné programy, ale knihovny Pythonu byly povolené, a místní nástroj se ukázal jako jediná dostupná možnost.
Kolik MarkItDown skutečně ušetří?
Hlavním přínosem je, že model dokumentu vůbec porozumí. Rozdíl je také ve velikosti: porovnání objemu značek uvnitř souborů Office s velikostí extrahovaného textu ukazuje pětinásobné až sedminásobné zmenšení. Zároveň se odstraní vše, co model nemusí číst: popisy písem, okrajů a barev buněk.
Soubor Office je strukturován jako archiv obsahující značky. Když rozbalíte tři testovací soubory a porovnáte velikost části obsahující obsah s velikostí výstupu, vyjde toto:
| Soubor | Značky uvnitř | Extrahovaný text | Kolikrát menší |
|---|---|---|---|
| Smlouva ve Wordu | 3,701 bajtů | 711 bajtů | 5.2 |
| Tabulka v Excelu | 1,561 bajtů | 262 bajtů | 6.0 |
| Prezentace | 2,203 bajtů | 296 bajtů | 7.4 |
Soubory jsou malé; u větších se budou poměry lišit a neexistuje jedna univerzální hodnota úspory. Když se ve srovnávacích článcích objeví kulatá čísla, ptejte se na metodiku.
O úspoře mluví i samotní vývojáři: popis projektu výslovně říká, že konvence Markdownu jsou z hlediska počtu znaků velmi úsporné. To je pravda, ale nemělo by jít o hlavní prodejní argument. Rozdíl mezi „model dostal tři tisíce znaků místo patnácti tisíc“ a „model dostal jasnou strukturu místo změti“ je jiného řádu. První šetří peníze; druhé rozhoduje o tom, zda bude odpověď dávat smysl.
Pokud vás zajímá využití kontextu, věnují se mu samostatné články: Kam se v Claudu ztrácejí tokeny a kolik jich obsahuje každý tarif.
Jak propojit MarkItDown s Claudem přes MCP?
Hlavní poznatek
Projekt má samostatný balíček, který spustí server MCP jediným příkazem: zadáte cestu k souboru a dostanete text. V září 2026 byl balíček konečně aktualizován na 0.0.1a7, sestavení je však stále předběžným vydáním a ve výchozím nastavení odesílá telemetrii Microsoftu. Níže uvedený příkaz jej připojí přes uv, připne verzi, použije Python 3.12 a telemetrii vypne. Nemá žádné ověřování a podle vlastní dokumentace může server číst libovolný soubor dostupný uživateli, který jej spustil.
MCP je způsob, jak dát AI externí nástroj, který může sama používat. Přehled mechanismu a dalších serverů najdete v recenzi serverů MCP pro Claude Code.
Server MarkItDown nabízí přesně jeden nástroj: převod dokumentu na text. Přijímá místní cestu k souboru, adresu webové stránky nebo data vložená přímo do požadavku.
Ke Claude Code se připojí jediným příkazem s připnutou verzí serveru. Potřebujete správce balíčků uv:
claude mcp add --scope user --env 'ORT_DISABLE_TELEMETRY=1' --env 'UV_PYTHON=3.12' --transport stdio markitdown -- uvx markitdown-mcp@0.0.1a7
claude mcp list
Druhý příkaz by měl u markitdown zobrazit „Connected“. První spuštění stáhne přibližně sedmdesát balíčků a trvá až minutu; poté se server spustí za jednu až jednu a půl sekundy.
Zde jsou výhrady, každá z nich ověřená ručně.
Sestavení 0.0.1a7 bylo vydáno 14. září 2026. Předtím server zůstal déle než rok na verzi 0.0.1a4 z května 2025. Nejnovější číslo verze je stále předběžným vydáním.
Nenainstaluje se na každý systém s novější verzí Pythonu. Modul onnxruntime, na němž závisí, je pro Python 3.14 na Macu dostupný pouze pro Apple Silicon s macOS 14 nebo novějším, takže instalace selhává na počítačích Mac s procesory Intel a v macOS 13 nebo starším při použití Pythonu 3.14. Na Macu s Apple Silicon byl server spuštěn v Pythonu 3.14, 3.13 a 3.12 a nainstaloval se ve všech třech. Příkaz používá UV_PYTHON=3.12: předkompilované balíčky pro 3.12 jsou dostupné ve Windows, Linuxu a na počítačích Mac s Apple Silicon, a pokud tuto verzi Pythonu nemáte, uv ji stáhne. I tady existuje výhrada pro počítače Mac s procesory Intel: uv sestaví knihovnu cryptography ze zdrojového kódu, protože od června 2026 není pro Intel dostupný předkompilovaný balíček. Instalace trvá déle a může selhat.
Verze MarkItDown nainstalovaná uvnitř závisí na verzi uv. Od verze MarkItDown 0.1.6 vyžaduje jeho doplněk [all] předběžné vydání knihovny Azure: uv 0.12 a novější je nainstaluje spolu s nejnovějším MarkItDown 0.1.8, zatímco starší verze uv přejdou zpět na 0.1.5. Verzi uv ověřte příkazem uv --version.
Mimo počítač se odesílají dvě věci. První je telemetrie: na Macu a Linuxu ji modul onnxruntime uvnitř serveru ve výchozím nastavení posílá Microsoftu. Proměnná ORT_DISABLE_TELEMETRY=1 v příkazu ji vypne. Při testu se server bez ní připojoval ke koncovým bodům telemetrie Microsoftu. S nastavenou proměnnou se při zpracování souborů z disku nevytvořilo žádné připojení.
Druhou položkou je zvuk. Server odesílá soubory WAV, MP3, M4A a MP4 do služby rozpoznávání řeči Google k přepisu běžným HTTP, bez šifrování. Raději mu neposílejte nahrávky rozhovorů s klienty.
Velký dokument se do něj nevejde. Otevřená diskuse popisuje odpověď serveru o velikosti 51,000 tokenů, která narazila na limit 25,000 tokenů; nástroj soubory nerozděluje na části.
A zabezpečení. Vlastní dokumentace balíčku říká jasně:
Server nepodporuje ověřování a běží s oprávněními uživatele, který jej spustil. Nástroj pro převod lze použít ke čtení libovolného souboru dostupného uživateli serveru nebo jakýchkoli dat v síti.
Jinými slovy, agent s tímto nástrojem může číst vše, co můžete číst vy. To je přijatelné při práci na vlastním počítači. Server nesmíte vystavit veřejně ani jej předat nedůvěryhodnému agentovi.
Pozor
Dokumentace projektu neobsahuje konfiguraci určenou konkrétně pro Claude Code — popisuje pouze Claude Desktop a spuštění prostřednictvím kontejneru. Pokud online najdete hotovou konfiguraci popsanou jako „z oficiální dokumentace“ pro Claude Code, vězte, že v repozitáři žádná taková konfigurace není.
Pro běžnou práci je jednodušší vyvolat program příkazem a uložit výsledný text do projektu. Soubor pak leží vedle ostatních materiálů, kde do něj model může sám nahlížet.
Kdy je poctivější použít jiný nástroj?
Hlavní poznatek
Pravidlo je jednoduché: pokud je struktura v souboru zaznamenána už nyní, použijte MarkItDown — je nejrychlejší a zdarma. Pokud je třeba strukturu rekonstruovat z obrázku stránky, použijte nástroj s modely rozvržení. Docling zpracovává tabulky a složitá rozvržení, MinerU vzorce a více sloupců a placené cloudové služby pomohou, když není čas se s tím trápit.
Srovnání podle úkolů; počet hvězdiček na GitHubu s tím nemá nic společného:
| Nástroj | Silná stránka | Čím platíte |
|---|---|---|
| MarkItDown | soubory Office, rychlost, zdarma | nezvládá složité PDF ani skeny |
| Docling | tabulky a rozvržení pomocí specializovaných modelů | desítky sekund na dokument |
| MinerU | více sloupců, vzorce, husté tabulky | složitější instalace |
| Marker | vysoká přesnost, vzorce, ilustrace | vyžaduje grafickou kartu a jeho licence omezuje výnosy |
| unstructured | vrací strukturu dokumentu po částech s popisy | výstup se hůře používá |
| Cloudové parsery | žádné nastavování | peníze a odeslání dokumentu mimo váš počítač |
V souvislosti s nástrojem Marker existuje podrobnost, kterou srovnávací články vynechávají. Od července 2026 je samotný kód pod permisivní licencí, zatímco váhy modelu podléhají samostatné licenci s limitem: používání je bezplatné, pokud vaše společnost v předchozím roce nepřekročila pět milionů dolarů v tržbách a stejnou částku v získaném financování. Samostatné ustanovení zakazuje použití každému, kdo vytváří konkurenční produkt. Většiny čtenářů se to netýká, ale rostoucí podnik má důvod si licenci před přijetím přečíst.
Z toho vyplývá praktický čtyřkrokový postup:
- Zpracujte vše pomocí MarkItDown — je zdarma a okamžitý.
- Otevřete výsledek a zkontrolujte jeho velikost.
- Pokud text dává smysl, máte hotovo; nic dalšího není potřeba.
- Pokud je výstup chaotický nebo prázdný, zpracujte konkrétní soubor výkonnějším nástrojem.
Čas a složitost navíc tak zaplatíte jen u dokumentů, které to potřebují.
Jak začlenit MarkItDown do pracovního postupu?
Hlavní poznatek
Anthropic sám ve svých popisech dovedností uvádí pravidlo: tímto nástrojem dokument přečtěte. Neplánujte podle něj úpravy. Tady jsou tři scénáře, v nichž se vyplatí hned při prvním použití: zpracování dávky podobných dokumentů, jednorázové přidání stálých referenčních materiálů do projektu AI a příprava exportu z účetního systému k analýze.
Anthropic používá MarkItDown ve vlastních připravených dovednostech pro práci se soubory Office a tyto dovednosti jasně vymezují hranici, kterou byste měli plně přijmout:
Rychlá kontrola listu: markitdown file.xlsx. Souřadnice buněk nejsou dostupné, proto podle toho neplánujte úpravy.
Odkazy na buňky a stránky se v textu ztrácejí, takže podle něj nemůžete provádět změny ve zdrojovém souboru. Zde jsou tři scénáře.
Dávka podobných dokumentů — protokoly, faktury, formuláře, žádosti. Vložte je do složky a spusťte je jedním řádkem:
for f in dokumenty/*.docx; do markitdown "$f" -o "text/$(basename "$f" .docx).md"; done
Pak modelu předejte složku s textovými soubory a požádejte jej, aby důležité informace sestavil do tabulky. Funguje to s digitálními soubory; skeny selžou a okamžitě je poznáte podle nulové velikosti.
Stálé materiály projektu — ceníky, šablony smluv, zásady, popisy služeb. Jednou je převeďte na text a uložte vedle projektu. Model si je pak může přečíst při každém požadavku, takže soubory nemusíte pokaždé přikládat ke konverzaci. Článek o nahrávání souborů do Clauda vysvětluje, jak se to liší od nahrání souboru do chatu.
Export z účetního systému. Export z účetního softwaru nebo bankovního účtu v Excelu se za třetinu sekundy změní v tabulku a model z něj může počítat bez mezikroků. Ověřte export nebo načtení CSV se skutečným oddělovačem, uvozováním a kódováním a před předáním modelu porovnejte řádky, sloupce a kontrolní součty. Oddělovače nenormalizujte hledáním a nahrazováním. Výslovně zaznamenejte i měnu: symbol uložený pouze ve formátu buňky Excelu se při extrakci nezachová.
Zpracování velkých PDF v terminálu na tento seznam nepatří. Jde o samostatný problém využití kontextu, kterému se věnuje článek o PDF v Claude Code bez ztráty tokenů. Pokud si teprve nastavujete pracovní prostředí, začněte instalací Claude Code.
Chcete-li začít hned teď, spusťte pip install 'markitdown[pdf,docx,xlsx,pptx]', zpracujte první smlouvu ve Wordu, kterou najdete, a zkontrolujte velikost výsledku. Za půl minuty budete vědět, zda to s vašimi soubory funguje.
Často kladené otázky
Je MarkItDown zdarma?
Ano. Má licenci MIT bez omezení komerčního použití. Platíte pouze za dvě volitelné metody: cloudové rozpoznávání Microsoftu pomocí příznaku -d a popisy obrázků generované vizuálním modelem s vaším vlastním klíčem. Vše ostatní běží zdarma na vašem počítači.
Odesílají se data na nějaký server?
Při běžném převodu souborů Office a PDF ne — vše se zpracovává místně. Existují tři výjimky: přepis zvuku probíhá prostřednictvím služby Google, příznak -d odešle dokument do cloudu Microsoftu a popisy obrázků se posílají modelu s vaším klíčem. Žádná z těchto metod se nezapíná automaticky.
Proč po instalaci nemohu najít příkaz markitdown?
Nejčastěji byl program nainstalován v prostředí, které není na vaší vyhledávací cestě. Zkontrolujte úplnou cestu k souboru uvnitř prostředí. Dalším častým případem je instalace pro jednu verzi Pythonu, zatímco jej voláte s jinou. Je tu ještě jeden zádrhel: ve verzích Pythonu nižších než 3.10 se nainstaluje prázdný balíček bez chyby instalace.
Co mám dělat, když místo písmen vidím (cid:1090) a podobné řetězce?
Jde o nedekódovanou tabulku písem uvnitř PDF. Nastavení to nespraví; soubor musíte zpracovat jiným nástrojem, například Doclingem nebo MinerU. U jednorázového dokumentu je rychlejší zkopírovat text ručně z prohlížeče.
Mohu zpracovat celou složku souborů najednou?
Samostatný režim pro složky neexistuje, ale lze to udělat jednořádkovou smyčkou v terminálu: for f in papka/*.docx; do markitdown "$f" -o "$f.md"; done. Další možností je dát vše do souboru ZIP a předat archiv: program zpracuje jeho obsah, ale soubory, které nedokáže zpracovat, zmizí bez upozornění.
Čím se výstup liší od ručního kopírování textu?
Zachovává strukturu. Kopírováním získáte plochý text, v němž nelze odlišit nadpis od odstavce a tabulka se rozpadne. MarkItDown zachovává nadpisy, seznamy a tabulky, takže model pozná, co je co. U jednoho krátkého dokumentu je rozdíl malý, u dvaceti však rozhodující.
Umí MarkItDown otevřít dokumenty chráněné heslem?
Ne. Soubor chráněný heslem se neotevře a heslo programu nemůžete předat. Ochranu musíte nejprve odebrat v aplikaci, která ji nastavila.
Zdroje
- MarkItDown – repozitář projektu na GitHubu
- MarkItDown na PyPI – verze a data vydání
- markitdown-mcp – popis serveru MCP
- Anthropic Skills – použití MarkItDown pro tabulky
- Docling – zpracování dokumentů pomocí modelů rozvržení
- MinerU – zpracování složitých rozvržení PDF
- Marker – licence vah modelu
- pandoc – převodník značkovacích jazyků
Až budete připraveni, seznamte se s Ailoot.
Další podrobnosti
Časté otázky
Mohu CSV se středníky opravit nahrazením všech středníků čárkami?
Ne. Citovaný text i desetinné formáty mohou tyto znaky obsahovat. Proveďte nový export se zamýšleným oddělovačem nebo použijte parser a zapisovač CSV s výslovným oddělovačem, kódováním a uvozováním. Ověřte sloupce, řádky a kontrolní součty proti originálu.
Znamená nulový návratový kód užitečný převod PDF?
Ne. Příklad skenu v článku vrátil prázdný výstup bez chyby a složité PDF dalo nečitelný text. Otevřete výsledek, ověřte délku a strukturu a při prázdném či zkomoleném textu použijte nástroj pro rozvržení nebo rozpoznávání.