Konversi PDF ke Markdown untuk Menghemat Token LLM: Panduan MarkItDown

Mengirim PDF langsung ke Claude atau LLM mana pun diam-diam membakar token: setiap halaman juga diubah menjadi gambar. Konversi file ke Markdown terlebih dahulu dengan MarkItDown, alat open source gratis dari Microsoft, dan pangkas tagihan token Anda hingga 80%. Panduan lengkap dengan CLI, Python, dan setup MCP.

Anda melepas PDF 20 halaman ke Claude, mengajukan satu pertanyaan, dan jawabannya kembali tanpa masalah. Yang tidak Anda lihat adalah tagihannya. Bahkan sebelum pertanyaan Anda dibaca, dokumen itu bisa menelan puluhan ribu token. Lakukan beberapa kali sehari di seluruh tim, dan Anda membayar uang yang benar-benar nyata hanya untuk menjejalkan PDF mentah ke model yang sebenarnya akan sama puasnya dengan teks bersih.

Ada solusi gratis, dan solusi itu sudah ada di depan mata sejak awal. Konversi file ke Markdown terlebih dahulu. Panduan ini menjelaskan persis mengapa PDF begitu mahal, berapa banyak yang Anda hemat, dan cara melakukan konversi dalam satu perintah dengan MarkItDown, konverter open source dari Microsoft.

Mengapa PDF menghabiskan begitu banyak token

Inilah bagian yang tidak diberitahukan siapa pun kepada Anda. Saat Anda memberikan PDF ke LLM, file itu tidak dibaca seperti cara Anda membacanya. Menurut dokumentasi PDF resmi Anthropic, sistem melakukan dua hal pada setiap halaman:

  1. Sistem mengekstrak teks dari halaman.
  2. Sistem mengubah seluruh halaman menjadi gambar, lalu mengirim gambar itu bersama teksnya.

Langkah kedua itulah lubang pembuangan token yang senyap. Model bukan hanya membaca kata-kata, ia juga melihat foto setiap halaman agar bisa memahami grafik, tabel, dan tata letak. Anda membayar keduanya.

Angka-angka dari Anthropic membuat biaya itu nyata. Teks yang diekstrak saja mencapai 1.500 hingga 3.000 token per halaman tergantung kepadatannya. Di atas itu, setiap halaman membawa biaya satu gambar. Sebuah data yang sangat menjelaskan berasal dari integrasi Amazon Bedrock: mode PDF visual penuh menggunakan sekitar 7.000 token untuk PDF 3 halaman, sementara ekstraksi teks biasa dari tiga halaman yang sama menggunakan sekitar 1.000 token. Itu selisih 7 kali lipat, dan seluruhnya berasal dari gambar per halaman.

Skalakan itu ke dokumen nyata. Laporan padat 20 halaman bisa berkisar antara 40.000 hingga 70.000 token begitu setiap halaman diubah menjadi gambar. Anda belum menanyakan apa pun. Anda baru saja membuka file-nya.

Diagram batang yang membandingkan biaya token satu dokumen 20 halaman yang dikirim sebagai PDF dengan dokumen yang sama setelah dikonversi ke Markdown. PDF menumpuk token teks yang diekstrak ditambah token gambar per halaman sehingga mencapai sekitar 48.000 token, sedangkan versi Markdown hanya menggunakan token teks sekitar 11.000 token, sekitar 77 persen lebih sedikit.

Blok oranye-merah adalah biaya tambahan murni: satu gambar untuk setiap halaman, entah halaman itu punya elemen visual yang layak dilihat atau tidak.

Solusinya: berikan Markdown bersih sebagai gantinya

Sebagian besar dokumen tidak perlu dilihat. Sebuah kontrak, sebuah spesifikasi, sebuah makalah penelitian, sebuah dek slide penuh poin bulet: semua itu hanyalah teks yang berbalut tata letak. Jika Anda mengupas tata letaknya dan mempertahankan strukturnya, model tidak kehilangan apa pun yang benar-benar ia butuhkan.

Itulah yang diberikan Markdown kepada Anda. Format ini hampir sedekat mungkin dengan teks biasa, tetapi tetap mengkodekan struktur yang penting: heading, daftar, tabel, tautan, blok kode, tebal, dan penekanan. LLM arus utama dilatih dengan Markdown dalam jumlah yang sangat besar, sehingga mereka membacanya secara native dan tanpa usaha. Microsoft, yang membangun MarkItDown, menyatakannya dengan gamblang: Markdown itu "sangat dekat dengan teks biasa, dengan markup atau format yang minimal, tetapi tetap menyediakan cara untuk merepresentasikan struktur penting sebuah dokumen."

Konversikan PDF Anda ke Markdown dan Anda menghilangkan gambar per halaman sepenuhnya. Tidak ada lagi halaman yang diubah menjadi gambar, tidak ada lagi biaya tambahan vision, hanya teks terstruktur yang memang akan dibaca model. Di situlah penghematannya berasal.

Kenalan dengan MarkItDown, konverter gratis dari Microsoft

MarkItDown adalah utilitas Python ringan dari Microsoft, dirilis di bawah lisensi MIT yang permisif dan menjadi salah satu alat pengembang dengan bintang terbanyak di GitHub, dengan lebih dari 135.000 bintang. Tugas tunggalnya adalah mengubah file dunia nyata yang berantakan menjadi Markdown bersih yang bisa dibaca LLM dengan murah.

Ini bukan sekadar alat untuk PDF. MarkItDown mengonversi daftar panjang format:

  • Dokumen PDF
  • Word (.docx)
  • Excel (.xlsx, .xls)
  • PowerPoint (.pptx)
  • Gambar, dengan metadata EXIF dan OCR untuk teks di dalam gambar
  • Audio, dengan metadata dan transkripsi ucapan
  • Halaman HTML
  • Data CSV, JSON, dan XML
  • Arsip ZIP (ia menelusuri isinya)
  • URL YouTube (ia menarik transkripnya)
  • E-book EPub
  • Pesan Outlook (.msg)

Satu alat, satu format keluaran, untuk hampir apa pun yang seharusnya Anda lemparkan ke model sebagai biner yang berat.

Instal MarkItDown dalam 30 detik

Ini paket Python biasa. Untuk mendapatkan semuanya, instal extra all:

pip install 'markitdown[all]'

Jika Anda hanya peduli pada beberapa format dan ingin instalasi yang lebih ramping, minta saja extra tersebut:

pip install 'markitdown[pdf, docx, pptx]'

Opsi yang tersedia mencakup [all], [pdf], [docx], [pptx], [xlsx], [xls], [outlook], [audio-transcription], dan [youtube-transcription], di antara yang lainnya.

Konversi PDF ke Markdown dari command line

Jalur tercepat adalah CLI. Arahkan ke sebuah file dan kirim hasilnya ke mana pun Anda mau:

markitdown report.pdf -o report.md

Atau gunakan redirect biasa, yang melakukan hal yang sama:

markitdown report.pdf > report.md

Anda juga bisa mem-pipe sebuah file langsung ke dalamnya:

cat report.pdf | markitdown

Itulah seluruh alurnya. Sekarang Anda punya report.md yang bisa Anda berikan ke model mana pun, taruh di sebuah repositori, atau tempel ke sebuah obrolan, dan biayanya hanya sebagian kecil dari aslinya.

Diagram alur kerja: file sumber seperti PDF, DOCX, XLSX, dan PPTX mengalir ke MarkItDown, yang menghasilkan satu file Markdown bersih, yang kemudian diberikan ke model bahasa besar atau agen kode. Sebuah penanda token bergerak di sepanjang jalur untuk menunjukkan dokumen yang bergerak melalui pipeline.

File berat masuk, Markdown siap-agen keluar, satu perintah di antaranya.

Konversi di Python (dan proses satu folder penuh sekaligus)

Jika Anda menghubungkan ini ke sebuah pipeline, API Python-nya sama singkatnya:

from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False)
result = md.convert("report.pdf")
print(result.text_content)

result.text_content adalah string Markdown Anda, siap ditulis ke disk atau diberikan ke model. Untuk mengonversi satu folder penuh dokumen dalam satu kali jalan, lakukan loop di atasnya:

from pathlib import Path
from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False)
for src in Path("docs").glob("*.pdf"):
    out = src.with_suffix(".md")
    out.write_text(md.convert(str(src)).text_content, encoding="utf-8")

Jalankan itu sekali dan sebuah direktori berisi PDF mahal berubah menjadi direktori berisi Markdown yang murah dan terstruktur, yang bisa dibaca agen mana pun di setiap giliran tanpa membayar ulang pajak vision.

Berapa banyak yang sebenarnya Anda hemat?

Jawaban jujurnya: tergantung dokumennya, tetapi keuntungannya besar dan konsisten. Inilah gambaran umumnya untuk file tipikal yang padat teks.

PDF dikirim ke modelDikonversi ke Markdown
Teks yang diekstrakyaya
Satu gambar per halamanya, setiap halamantidak
Biaya tambahan visionpenuhtidak ada
Dokumen 3 halaman (angka Bedrock)~7.000 token~1.000 token
Dokumen 20 halaman (estimasi)40.000 hingga 70.000 token10.000 hingga 15.000 token

Untuk dokumen yang nilainya ada pada kata-katanya, konversi ke Markdown secara rutin memangkas biaya token jauh lebih dari setengahnya, dan sering kali 80% atau lebih. Penghematannya bukan sihir: Anda hanya tidak lagi membayar untuk mengirim foto setiap halaman ketika model hanya membutuhkan teksnya.

Tentu saja, Markdown tidak benar-benar gratis. Teks yang diekstrak tetap memakan token. Tetapi biaya teks itu adalah lantai dasar yang memang selalu akan Anda bayar. Yang Anda hilangkan adalah tumpukan gambar per halaman yang bertengger di atasnya.

Kapan harus mempertahankan PDF (jangan terlalu mengoptimalkan)

Konversi adalah default yang tepat, bukan aturan universal. Pertahankan PDF asli ketika tata letak visual itulah intinya:

  • Grafik dan diagram yang memang perlu dibaca model. Jika makna ada di dalam diagram batang, gambar itu melakukan pekerjaan yang nyata.
  • Dokumen hasil pindai yang berupa gambar dari teks. MarkItDown bisa meng-OCR-nya, tetapi jika pengenalannya goyah, vision milik model sendiri mungkin membaca halaman itu dengan lebih andal.
  • Tabel atau formulir visual yang kompleks di mana posisi dan perataan membawa makna yang menjadi datar di Markdown.
  • Infografis dan halaman yang sarat desain di mana tata letaknya adalah kontennya.

Untuk semua yang lain, yaitu sebagian besar dokumen, Markdown yang menang.

Diagram keputusan: tanyakan apakah Anda benar-benar membutuhkan tata letak visual dokumen, seperti grafik, halaman hasil pindai, atau tabel visual yang kompleks. Jika tidak, konversikan ke Markdown untuk menghemat token, jalur yang direkomendasikan. Jika ya, pertahankan PDF agar vision milik model bisa membaca gambar halaman secara langsung.

Pertanyaannya tidak pernah "PDF atau Markdown" secara abstrak. Pertanyaannya adalah "apakah model perlu melihat halaman ini, atau cukup membacanya?"

Lebih dari sekadar PDF: Word, Excel, PowerPoint, bahkan YouTube

Perintah satu baris yang sama bekerja pada sisa tumpukan dokumen Anda. Sebuah dokumen Word, sebuah spreadsheet, sebuah dek slide, sebuah halaman web, bahkan transkrip video YouTube semuanya menyusut menjadi Markdown bersih dengan cara yang sama:

markitdown deck.pptx -o deck.md
markitdown budget.xlsx -o budget.md
markitdown https://www.youtube.com/watch?v=VIDEO_ID -o transcript.md

Jika alur kerja Anda melibatkan penarikan konteks secara rutin dari file Office atau web untuk diberikan ke model, menstandarkan semuanya ke Markdown terlebih dahulu adalah salah satu kebiasaan termurah dan paling berdaya ungkit yang bisa Anda bangun.

Hubungkan ke agen kode Anda dengan server MCP MarkItDown

Jika Anda bekerja dengan agen kode, ini menjadi lebih baik lagi. MarkItDown menyertakan server MCP (Model Context Protocol) resmi, sehingga agen Anda bisa mengonversi file sendiri, di tengah tugas, tanpa Anda menjalankan apa pun secara manual.

Instal dan jalankan melalui stdio:

pip install markitdown-mcp
markitdown-mcp

Server tersebut mengekspos satu alat, convert_to_markdown(uri), di mana uri bisa berupa URI http:, https:, file:, atau data: apa pun. Hubungkan ke agen Anda sekali dan ia bisa menarik PDF, spreadsheet, atau halaman web dan mengubahnya menjadi Markdown sesuai permintaan, membayar harga token teks alih-alih harga vision sepanjang waktu.

Ini persis jenis hal yang efeknya berlipat ganda saat Anda menjalankan lebih dari satu agen. Di AgentsRoom, kokpit multi-agen, Anda mengonfigurasi satu server MCP sekali dan setiap agen di dalam room mewarisinya. Konversikan dokumen referensi Anda ke .md, commit ke repositori, dan setiap agen membaca teks yang murah dan terstruktur di setiap giliran alih-alih mengubah ulang PDF yang sama menjadi gambar berkali-kali. Disiplin yang sama yang menjaga satu sesi tetap ringan menjaga seluruh armada tetap terjangkau, yang penting ketika Anda menjalankan agen kode secara paralel dan setiap agen membaca konteks bersama Anda.

Ini juga berpadu secara alami dengan cara setup agen yang baik mengelola konteksnya. Jika Anda memelihara sebuah file konteks AGENTS.md, mengarahkannya ke referensi .md yang ringan alih-alih ke PDF mentah menjaga jendela konteks tetap rapat, yang, seperti yang kita bahas dalam trik canary untuk menangkap pergeseran konteks, adalah separuh dari pertempuran dalam sesi panjang mana pun.

Intisarinya

Memberikan PDF mentah ke LLM adalah pajak yang sudah Anda bayar tanpa menyadarinya, karena setiap halaman diam-diam diubah menjadi gambar. MarkItDown menghapus pajak itu secara gratis: satu perintah mengubah hampir semua file menjadi Markdown bersih, Anda memangkas hingga 80% biaya token, dan model menjawab sama baiknya, sering kali lebih baik, karena ia membaca struktur alih-alih menyipitkan mata ke foto halaman.

Konversi dulu, baru bertanya. Tagihan token dan jendela konteks Anda sama-sama akan berterima kasih.

Siap menjalankan ini di seluruh tim agen alih-alih satu terminal? Unduh AgentsRoom, lihat apa yang didukung setiap agen di matriks kompatibilitas provider, dan baca lebih lanjut tentang dukungan multi-provider.

Unduh AgentsRoom

Jalankan agen AI Anda (Claude, Codex, OpenCode, Gemini CLI, Aider) di semua proyek Anda, dari satu jendela.

GratisUnduh AgentsRoom

Aplikasi pendamping: pantau agen Anda saat bepergian

Gunakan Claude, Codex, Gemini CLI, atau penyedia AI lainnya.

Dapatkan ekstensi
Chrome Web Store

Kirim bug dan permintaan langsung ke backlog publik Anda.

Sekilas AgentsRoom dalam aksi.

Beberapa proyek
Multi-penyedia
Beberapa agen
Status langsung
File diff & commit
Pendamping mobile
Pratinjau langsung
Tim agen
Otomatisasi browser
Dev berbasis backlog
Pustaka prompt
Pustaka skill
Lihat semua fitur