A real score, opened at the byte level
PDF to MIDI: the file contains no notes, only ink at coordinates.
People ask how to convert a PDF to MIDI as if the notes were in there waiting to be extracted. They are not. A PDF of sheet music stores glyphs — a filled notehead, an up-flag, a dot — each one placed at an x and a y. The pitch is not written anywhere in the file; it is the height at which the glyph sits, which only means something after you find the staff lines and the clef. Below is a real two-page Bach score measured field by field, and then the three routes that actually get you a MIDI file.
The short answer
Ask for the source file first. If the PDF was exported from MuseScore, Sibelius, Finale, Dorico or LilyPond, the original .mxl or .musicxml exists somewhere, and converting that to MIDI is exact and free. A PDF is a printout of a file that already exists.
If all you have is the paper or the scan, you need optical music recognition: Lacuna at $9.50/month billed yearly (2,500 credits, 30 credits a page, about 83 pages a month) or ScoreConvert, which exports MIDI and MusicXML and publishes no per-page price. The rest of the first page of results is one more recognition tool, two generic document services, two forum threads and a video.
If you also have the recording, skip the PDF entirely. Audio to notes is a solved problem; notes to a score is the hard half, and a scanned score is the hardest half of all.
There is no PDF reader on this site. Nothing here opens a PDF, and there is no upload box that accepts one.
What is in the file
A two-page Bach score, counted
The test file is the Prelude in C from Book I of the Well-Tempered Clavier, from the Mutopia Project: 74,577 bytes, two A4 pages, produced by LilyPond 2.14.2 and flattened by Ghostscript 8.70. This is the good case — a born-digital score from a notation program, not a scan. Everything below is read straight out of the file.
| What was counted | Result |
|---|---|
| Glyphs drawn on page 1 | 477 — 458 from the music font (449 note, clef and rest glyphs plus 9 brace pieces), 19 from a text font |
| Noteheads on page 1 | 311 |
| Distinct vertical positions of those noteheads | 67 |
| Most common gap between two positions | 2.49 pt — half a staff space (the space is 4.98 pt) |
| Characters in the text layer, both pages | 12,077 |
| What those characters are | /noteheads 617 · /rests 132 · /flags 66 · /dots 66 · /clefs 26 · /accidentals 13 |
| Occurrences of the words pitch, duration, tempo or MIDI | 0 · 0 · 0 · 0 |
| Occurrences of “C4” | 2, and both are inside /timesig.C44 — the common-time glyph |
| The same piece as MIDI | 549 notes, 3 tracks, 384 ticks per quarter, tempo 60, 4/4, no key signature |
Read the last two rows together. The MIDI file for the same piece states 549 notes with a pitch and a start time each. The PDF states 617 noteheads with a position each, and not one pitch. Both files describe the same music; only one of them says what the music is.
The notehead count and the note count do not have to agree: a tie draws a notehead at each end, and a chord draws several noteheads for a single onset. The numbers above are counts, not a reconciliation.
Why this is not a file-format problem
The pitch is a height, and the height means nothing on its own
In the content stream, each notehead is a single byte shown in a music font — (\x01), (\x02), (\x03) — preceded by a text matrix that says where to put it. The word “notehead” is not in the file at all; it appears only after a PDF library resolves the font's encoding table. What the file really contains is draw a filled notehead at 450.702, 726.864.
Those y values quantise to a 2.49 pt grid, which is half a staff space. So the vertical position tells you the note is on a line, in a space, or one step above or below — a relative pitch. To turn that into a MIDI note number you need three more things: which staff the glyph belongs to, which clef that staff is using, and which line of the staff is the reference. Then you count steps and add the clef's offset.
That is the whole of optical music recognition, and it explains why the quality of an OMR result depends on the page rather than on the software: a clean LilyPond page has clean staff lines and unambiguous clefs, a photocopied hymnbook has neither. It also explains why a generic document converter cannot do this. A converter that maps file formats has no model of a staff, a clef or a bar line — and the information it would need is not in the text layer it can read.
Who can actually read it
The eight results for this search, sorted by what they are
The first page of results for this search is not eight converters. It is three tools that read notation, two generic document services, two forum threads and one video. That distinction is the only thing that matters before you upload anything, because only the first group can produce a note from a notehead.
| Result | What it is | You give it | You get | Price |
|---|---|---|---|---|
| Lacuna | Recognition: it reads the page and returns notes | A PDF or photo of a score | MIDI, and sheet music back out | $9.50/month billed yearly ($114), 2,500 credits, 30 credits a page — about 83 pages a month |
| ScoreConvert | Recognition, with a built-in editor | PDF, JPG, PNG or TIFF, single or multi-page | MIDI and MusicXML | Free tier with “a limited number of conversions per month” — no number published; subscription for unlimited |
| AceStudio | Recognition: an image or PDF to MusicXML page on an AI audio company's site | A PDF or an image of a score | MusicXML | Artist $16.58/month billed yearly, 2,500 credits a month; the pricing page publishes no per-page number for this tool |
| 2pdf.com | A generic document converter listing PDF→MIDI among 50+ output formats | A PDF | A file with a .mid extension | Free; no quota stated on the page |
| musescore.org | A forum thread asking the same question you are asking | — | Answers from other users | — |
| YouTube | A walkthrough video of one OMR product | — | A demonstration | — |
How to tell the two groups apart in ten seconds. Look for settings that only make sense if the software knows what a staff is: a page range, a clef, a tempo, a minimum note length, a way to say “this page has two systems”. A tool that offers only an output format is mapping a file extension. A tool that asks you about staves is reading the page.
Prices read on lacuna.fm/pricing, the ScoreConvert product page and acestudio.ai/pricing, 11 November 2026. The two results not in the table: pdfFiller, whose conversion landing page returned a 404 when opened, and a reddit thread asking the same question.
Three routes
What to do instead of converting the PDF
- Get the source file. Every notation program can export MusicXML or compressed MusicXML (
.mxl). If a colleague engraved the score, that file exists, and MusicXML to MIDI is a one-line conversion with a known loss list — pedal, bend, release velocity, overlapping same-pitch notes. That is a much shorter list than what recognition loses. - Use the recording, if there is one. If the piece was ever played, audio to MIDI gets you pitches and times without reading a page at all. The catch is the same one every transcription has: the notes are approximate and the rhythm gets quantised. But it is minutes, not money per page.
- Recognise it once, then keep the MusicXML. If recognition is the only route, pay for one pass and keep the MusicXML rather than the MIDI. MusicXML can be corrected note by note in any notation program and re-exported as many times as you like; a MIDI file from a bad recognition is a dead end, because you cannot see what the software thought the page said.
FAQ
Questions about PDFs and MIDI.
Why can't a converter just read the notes out of the PDF?
Because there are no notes in it to read. Measured above: 12,077 characters of text layer, and every one of them is a glyph name like /noteheads.s2 or a title. The pitch is the vertical position of the glyph, so reading it means measuring positions against staff lines and applying a clef — a recognition problem, not a conversion problem.
What about a scanned PDF? Is that different?
Worse, not better. A scan has no text layer at all — the page is one image, so there is not even a glyph position to measure, only pixels. Recognition has to find the staff lines and the noteheads in the image first. The born-digital file measured above is the best case, and it already has nothing in it but ink.
Can I get MIDI out of a PDF for free?
You can get a file with a .mid extension for free, from any generic document converter. Whether it contains notes is a different question, and the honest test is to open it in a sequencer and count the events. If the source PDF had no note data, no amount of free conversion will add any.
How accurate is recognition?
ScoreConvert publishes “up to 95%” and Lacuna does not publish a figure. Both are vendor claims and both depend on the page: clean engraved scores are near-perfect, photocopies and handwriting are not. The one number you can check yourself is the note count — compare it against the number of noteheads you can see, and look for bars with the wrong number of beats.
Is there a way to convert a PDF without paying per page?
Yes: convert it once, keep the MusicXML, and never convert it again. That is also why the source file is worth chasing — if the PDF came from notation software, the MusicXML is exact, free, and already exists.
Keep going