https://txtfetch.com/compare/libraries/marker/
txtfetch vs Marker
Marker is an open-source library you run yourself. txtfetch is one HTTP call. Here's an honest look at the licence, the operational cost, and where each one wins.
What Marker is
Marker is built by Datalab. A layout- and VLM-driven converter with an optional LLM pass for the highest-fidelity tables and math.
Marker's code and its weights carry two different licences. The code is plain Apache-2.0. The model weights use a modified Open RAIL-M licence. That licence is free for research, personal use, and startups under $5M in combined funding or revenue. Above that line, you need a paid commercial licence. Marker's terms have changed more than once, so re-check both links before you rely on this split.
Licence checked 2026-09. See the project's own LICENSE file.
Checked against the project's own LICENSE file, not a summary of it. A licence can change between releases, so check the LICENSE of the exact version you pin, not this page. This is a factual summary, not legal advice.
at a glance
Marker
- Code licence
- Apache-2.0
- Model-weights licence
- Modified AI Pubs Open RAIL-M, free for research, personal use, and startups under $5M in funding or revenue
- Install
- pip install marker-pdf. Model weights download automatically on first run.
- Model weights
- A layout-detection model, plus a heavier vision-language model for balanced and highest-fidelity modes. Both download on first use.
- GPU
- Runs on GPU, CPU, or Apple MPS, per Marker's own README. GPU is the realistic choice for throughput once you enable the VLM or --use_llm paths.
- Formats
- PDF, images, PPTX, DOCX, XLSX, HTML, and EPUB, in any language, per the project's README.
- Output
- Markdown, JSON, HTML, and a chunked output mode.
- OCR
- A bundled layout-and-OCR model stack: a lightweight detector for the fast, CPU-oriented mode, and a heavier vision-language pipeline for the balanced and highest-fidelity modes. An optional --use_llm flag routes a page through an external LLM (Gemini, Claude, OpenAI-compatible, and others) for extra table, math, and form fidelity.
txtfetch
- Code licence
- N/A — hosted API, no code to license
- Model-weights licence
- N/A — no weights on your infrastructure
- Install
- None. One HTTP call.
- Model weights
- None on your side. Tika and Tesseract run on ours.
- GPU
- None needed. quality=premium routes to a VLM on our infrastructure.
- Formats
- Every format on the coverage list, one endpoint.
- Output
- Text, Markdown, or element JSON.
- OCR
- Standard tier: eng, osd. quality=premium for a hard scan. See /languages.
capability table
| Capability | Marker | txtfetch |
|---|---|---|
| Hosting | self-hosted only | hosted API* |
| Ships neural model weights | + | – |
| GPU required | optional | –* |
| Table extraction | + | + |
| OCR engine bundled | + | +* |
| Structured or JSON output | + | +* |
| Built-in chunking for RAG | + | –* |
| Single HTTP endpoint | ~ | + |
* txtfetch notes: One HTTP call. No install, no model download, no server to run and patch. The standard tier runs on Tika and Tesseract, CPU only. quality=premium routes a document to a vision-language model on our infrastructure, not yours. The standard OCR tier ships English trained data plus script detection only (TESSDATA_LANGS=eng osd). See /languages for the per-language detail and quality=premium for a hard scan. ?format=markdown and ?format=json ship today. Schema-defined field extraction, pulling named fields to your own schema, is on the roadmap, not shipped yet. txtfetch returns text, Markdown, or element JSON. Chunking stays a caller-side step, the same reasoning behind every guide on /fixes.
No accuracy or speed figure is measured against Marker on this page. See /benchmarks for txtfetch's own measured numbers and their caveats.
where marker wins
- Strong table, equation, and form fidelity, especially with the optional --use_llm hybrid pass enabled.
- Automatic removal of running headers, footers, and page-layout artifacts before they reach the output.
- Three run tiers (fast, balanced, and the --use_llm hybrid pass) that let you trade speed for fidelity per document, instead of one fixed setting.
- Works entirely offline once its model weights are downloaded, with no required outbound call unless you turn on --use_llm.
the work you still own
Marker is free to run. Running it in production is a separate job. This is the checklist that job includes.
- Downloading, caching, and updating Marker's layout and vision-language model weights, and provisioning a GPU if your volume needs the throughput.
- Reviewing the Open RAIL-M weights licence against your own funding and revenue, since it is not the same permissive terms as the Apache-2.0 code.
- Configuring and paying for an external LLM provider for the --use_llm hybrid accuracy pass. That call goes to a service you connect, not one Marker bundles.
- Patching Marker itself and its model stack as new versions and CVEs land, and re-checking the licence split each time you upgrade.
where txtfetch wins
- One HTTP call. No install, no model download, no GPU to provision, and no server to patch.
- The standard OCR tier ships English trained data plus script detection only (
TESSDATA_LANGS=eng osd). See /languages for the per-language detail, and requestquality=premiumfor a hard non-English scan. - A durable free tier (500 documents/month, ongoing), so trying it costs nothing and no card.
txtfetch strips HTML markup, not boilerplate, the same as /fixes describes it. Nav, footer, and cookie-banner text still comes back as ordinary text. Deciding what's chrome versus article stays a caller-side step. We also don't ship schema-defined field extraction yet. See the capability table above for the full list.
the same job, one call
This is the whole integration: no install, no model download, no GPU.
curl -s -X POST "https://api.txtfetch.com/v1/extract?format=markdown" \
-H "Authorization: Bearer $TXTFETCH_KEY" \
-F file=@document.pdffrequently asked questions
- Is Marker free to use commercially?
- The code is Apache-2.0, free for any use including commercial. The model weights are different: a modified Open RAIL-M licence, free for research, personal use, and startups under $5M in combined funding or revenue. Above that, Datalab sells a separate commercial licence for the weights.
- Does Marker need a GPU?
- No, per its own README it runs on GPU, CPU, or Apple MPS. A GPU is the realistic choice once you enable the vision-language or --use_llm paths, where CPU-only throughput drops sharply.
- What does --use_llm actually add?
- It routes a page through an external LLM you configure: Gemini, Claude, an OpenAI-compatible endpoint, or others. That pass improves table, inline-math, and form extraction beyond Marker's bundled models alone.
sources
- Marker: LICENSE (Apache-2.0, code)
- Marker: README (commercial usage, formats, GPU/CPU/MPS)
- Datalab: pricing (model-weights commercial licence)
- marker-pdf on PyPI
Checked against the project's own LICENSE file, not a summary of it. A licence can change between releases, so check the LICENSE of the exact version you pin, not this page. This is a factual summary, not legal advice.
Keep the library. Add the hard formats.
Some teams run both. Send only the files Marker cannot read.
Read the quickstart →