BlogGuide
MusicXML vs MIDI vs PDF: which file do you need?
A plain comparison built on the MusicXML 4.0 and Standard MIDI Files specifications, with the problems we measured when MIDI becomes notation.
The short answer
Export MusicXML when someone will keep editing the notation, MIDI when the music goes into a DAW or a synthesizer, and PDF when someone will read or print it. MusicXML stores the written score: spelled notes, key and time signatures, rests, voices and lyrics. MIDI stores a performance (which key, when, how hard), so turning it back into notation means guessing. A PDF stores the finished page and nothing a music program can edit.
What is MusicXML?
MusicXML is an open, XML-based file format for sheet music, made so that notation programs can exchange scores and archive them. The latest finished version, MusicXML 4.0, was published on June 1, 2021 by the W3C Music Notation Community Group as a final community group report, which is not the same thing as a formal W3C standard. The group reported work toward a 4.1 release in August 2026.
It describes music the way it is written. A pitch is a letter name, an alteration and an octave, so D♯ and E♭ stay different notes. A note has a duration, counted in divisions of a quarter note, and a written type such as a dotted eighth. Rests, voice numbers, beams, stem directions, key signatures (counted in fifths: positive numbers for sharps, negative for flats), time signatures, lyrics with verse numbers, and optional page and system layout each have their own elements. The format also keeps sound apart from appearance. A tempo can be stored in quarter notes per minute, and a note can carry small attack and release offsets that belong to a performance rather than to the page.
Notation programs use it to trade scores. MuseScore Studio, Dorico and Sibelius all document MusicXML import, and MakeMusic’s MusicXML site counts more than 260 applications that support the format (checked October 3, 2026).
What is a MIDI file, and what does it leave out?
A MIDI file is a timed list of performance events: this key went down at this moment with this velocity, came up at that moment, and should sound with this instrument program. MIDI 1.0 dates from 1983. Its file format, Standard MIDI Files 1.0 (RP-001, last revised in February 1996), exists so that programs can exchange time-stamped MIDI data.
A MIDI file can also carry a few musical facts as meta-events: the tempo (in microseconds per quarter note), a time signature, a key signature given as a number of sharps or flats plus major or minor, and lyrics, usually one event per syllable. The specification asks every file to state its tempo and time signature, and when one doesn’t, programs assume 4/4 at 120 beats per minute. Key signatures and lyrics are optional.
What MIDI can’t say is how to write the notes. A note is a key number from 0 to 127, so number 63 is D♯ and E♭ at once; when the first converter we built turned MIDI into notation, it wrote 63 as E♭ every time, even in E major, where it should be D♯. Durations are only start and stop times, so note values have to be inferred. There are no rests (silence is just a gap), no voices, beams or stems, and no page layout. MuseScore Studio’s handbook says MIDI encodes the notes and instruments “but none of the visual formatting.” There is no audio either: the sound comes from whatever synthesizer plays the file.
MusicXML vs MIDI vs PDF: what each file keeps
MusicXML keeps what is written, MIDI keeps what is played, and a PDF keeps how the page looks. PDF is the general-purpose page format, standardized as ISO 32000; PDF 2.0 (ISO 32000-2) was first published in 2017 and revised in 2020, and the Library of Congress’s format register describes it as page-oriented. A score in PDF looks the same on any screen or printer, but to a music program it is a picture of notes.
| Information | MusicXML | MIDI file | |
|---|---|---|---|
| Pitch spelling (D♯ or E♭) | Yes: letter, alteration, octave | No: a key number from 0 to 127 | Printed only |
| Key signature | Yes | Optional: number of sharps or flats, major or minor | Printed only |
| Time signature | Yes | Recommended; 4/4 assumed if missing | Printed only |
| Note values and rests | Yes | No: start and stop times only | Printed only |
| Voices, beams, stems | Yes | No | Printed only |
| Lyrics | Yes, with verse numbers | Optional lyric events, usually one per syllable | Printed only |
| Page layout | Optional: page size, margins, system and page breaks | No | Yes, fixed |
| Tempo | Yes, in quarter notes per minute | Yes, in microseconds per quarter note; 120 BPM assumed if missing | Printed marking only |
| Exact timing and velocity | Mostly no: written values, with optional performance offsets and dynamics | Yes, for every note | No |
| Guitar strings and frets | Yes: the string and fret of each note, and the strings’ tuning and capo | No | Printed only, as TAB |
| Instrument sound | Instrument names and optional MIDI programs; no audio | Program numbers; no audio | No |
| Where you edit it | Notation apps | DAWs and sequencers; notation apps import it by guessing | Nowhere, as music: re-enter it or recognize it with OMR |
“Printed only” means a person can read it on the page but software can’t use it as music. Getting notation back out of a PDF takes optical music recognition (OMR), which reads the image and infers the notes, so the result needs proofreading.
Which format should you export?
Choose by what happens to the file next.
- If someone will edit the notation, send MusicXML. MuseScore Studio (free and open source), Dorico and Sibelius all import it. Send .mxl unless a tool asks for plain .musicxml.
- If the music goes into a DAW or drives a synthesizer, send MIDI. It keeps the timing and velocity of every note, which is what production work needs.
- If someone will play from it, send a PDF, printed or on a tablet, with separate parts for an ensemble.
- If someone only needs to hear it, send an MP3 or WAV rendering; a MIDI file makes no sound of its own.
- If you’re archiving, keep the MusicXML for the music and the PDF for the look. That’s our habit, not a rule.
Finale users have one more thing to weigh. MakeMusic stopped developing and selling Finale on August 26, 2024. It keeps working where it is installed, barring operating-system changes, and MakeMusic’s technical support for it ended in August 2025. MakeMusic’s own migration advice is to export MusicXML, which Finale v27 writes as MusicXML 4.0, because Dorico can’t open Finale’s .mus or .musx files directly (checked October 3, 2026).
To turn a MIDI file into PDF sheet music, import it into a notation program, clean it up there, and export the PDF. MuseScore Studio opens MIDI files and has an import preference for the shortest note value to use; Dorico Pro’s manual describes its own MIDI import and quantization options. Expect cleanup either way, for the reasons in the section on guesswork below. ScoreStarling now accepts MIDI with Choose a file or a file drop, engraves it into an editable score and exports PDF. It omits drum tracks, uses the first meter, and still needs a visual check. You can also import MusicXML/MXL, ABC or printed sheet music; see current input limits.
MXL vs MusicXML: what is the difference?
Both hold the same MusicXML: .mxl is the compressed package, and .musicxml is the plain text file. The W3C’s MusicXML 4.0 tutorial recommends exactly those two suffixes and points out that a plain .xml suffix doesn’t let programs tell MusicXML apart from any other XML file.
An .mxl file is a zip archive compressed with the DEFLATE algorithm. Its first entry is an uncompressed file named mimetype, and a file at META-INF/container.xml points to the score inside. According to the tutorial, compression shrinks MusicXML to about the size of the equivalent MIDI file, so we’d send .mxl. MuseScore Studio exports compressed MusicXML by default. Choose .musicxml when you want to read, compare or process the XML yourself. The two also have separate media types: application/vnd.recordare.musicxml for .mxl and application/vnd.recordare.musicxml+xml for .musicxml.
Why MIDI to sheet music takes guesswork
A MIDI file never says how its notes should be written, so any program that turns MIDI into notation has to decide the key, the spelling, the note values, the voices and where the rests go.
We measured how that goes wrong. On October 2, 2026, we gave Basic Pitch MIDI from 12 guitar recordings in the public GuitarSet dataset to the first converter we had built, on the music21 library. None of the 12 scores had a key signature, every rest was hidden (0 of 1,626 visible), up to five voices were stacked on one staff, and 322 of 2,703 notes that belong to the key were spelled against it.
Switching to MuseScore Studio 4.7.5’s MIDI importer fixed most of that, once we prepared the MIDI: notes snapped to a sixteenth-note grid, and a key estimated from the notes written into every note track. Without that step, MuseScore treats off-grid MIDI as a live performance and guesses the meter, tempo and key again. We also capped its import at two voices per staff and turned tuplets off. With those settings, 10 of 12 key signatures matched the dataset’s annotations (the other two were each a fifth away), 0 of 3,213 notes were spelled against the key, all 988 rests were visible, and no staff held more than two voices. The full before-and-after is in why MIDI imports look messy in MuseScore.
Why a MusicXML file can look different in another app
MusicXML carries the music well, but each program applies its own fonts, spacing and defaults, so layout and small details often shift on import. MuseScore Studio’s handbook says notes and instrumentation come across faithfully, yet some cleanup is usually needed to make an imported score look like the original. Its import options can keep the file’s page size, margins, staff size and breaks, though spacing and font differences mean the breaks may not fall in the same places. MakeMusic’s guide to moving from Finale to Dorico says much the same: musical content and basic layout such as page and staff size transfer well, while graphical adjustments to individual items usually don’t.
Our own round-trip check, on October 2, 2026, was small. MuseScore Studio 4.7.5’s command-line converter re-imported a three-note MusicXML sample of ours with identical pitches, positions and lengths, but it moved our transcriber credit into the composer position and dropped its role. We haven’t tested Sibelius or Dorico. Before you send a score on, open it in the app it’s going to and check the credits, the layout and anything you adjusted by hand.
What ScoreStarling exports, and why its MIDI and MusicXML differ
ScoreStarling exports both, and they disagree about timing on purpose: the MIDI keeps the performance, and the MusicXML keeps a version written to be read.
In our October 2 test of the one-instrument option, transcription started as MIDI from Basic Pitch at the supplied tempo. MuseScore Studio wrote the notation from a copy snapped to a sixteenth-note grid, in 4/4, with a key estimated from the notes, visible rests and at most two voices per staff. It also simplifies durations: on the 12 guitar recordings above, it wrote 26% of notes longer than the snapped performance, by up to three sixteenths, and never shorter. A player wants a clean dotted quarter; a producer wants the feel. So playback and the MIDI export keep your timing, while the MusicXML, the PDF and the page images show the written version. A pitch edit changes both files, and when you set a note’s written length, its MIDI note is resized from where it was played. Other tools draw the same line: Klangio offers both quantized and unquantized MIDI downloads for its Sing2Notes app (checked October 3, 2026).
What ScoreStarling lets you download, free or after unlocking:
| Access | Files |
|---|---|
| Free | PDF, page images, separate parts as PDFs, jianpu PDFs of every staff or the melody only, PDFs with guitar TAB, TAB as text, MP3 and WAV. Until the score is unlocked, its pages and TAB text carry a small footer line, “Made with ScoreStarling · scorestarling.com”. |
| Unlocked, 15 credits once per score | MusicXML (.musicxml and .mxl, with the TAB staff of a part shown as TAB), MIDI, ABC and MEI, and pages without the footer line. A band score paid with credits is already unlocked, and Plus unlocks every score while you have it. |
The workspace’s Download menu gives MusicXML as .musicxml; .mxl and MEI come through an AI assistant. Transcribing one instrument or voice or solo piano (up to three a day together), importing and editing are free; a band uses credits. Numbered notation is also a read-only view in the workspace and the chat panel; edit in staff notation. Jianpu has notation-preservation limits. The MP3 and WAV are General MIDI renderings of the score, not stems separated from your recording. The specifications list the details.
Sources
- MusicXML 4.0 and the Music Notation Community Group — W3C
- Notation basics in MusicXML and A MIDI-compatible part, MusicXML 4.0 tutorial — W3C Music Notation Community Group
- Compressed .mxl files, MusicXML 4.0 tutorial — W3C Music Notation Community Group
- MusicXML 4.0 reference: the note, fifths, lyric, print, midi-instrument, string, fret, staff-tuning and capo elements — W3C Music Notation Community Group
- MIDI 1.0 — The MIDI Association
- Summary of MIDI 1.0 messages — The MIDI Association
- Standard MIDI Files and the Standard MIDI Files 1.0 specification (RP-001) — The MIDI Association
- PDF 2.0, ISO 32000-2 — Library of Congress, Sustainability of Digital Formats
- File export, Working with MusicXML files, Opening and saving scores and Preferences — MuseScore Studio Handbook
- Importing MusicXML files and Importing MIDI, Dorico Pro 6.2 manual — Steinberg
- Using Sibelius for Mobile on iPhone, iPad, and Android — Avid
- The End of Finale and From Finale to Dorico, a migration guide — MakeMusic
- MusicXML for exchanging digital sheet music — MakeMusic
- Sing2Notes — Klangio
Questions and answers
Does a MIDI file contain any sound?
No. It holds instructions: which key to play, when, how hard, and a program number for the instrument. The sound comes from whatever synthesizer or sample library plays the file, which is why the same MIDI file sounds different in different apps.
Why does my MIDI file open in 4/4 at 120 BPM?
The Standard MIDI Files specification asks every file to state its tempo and time signature, and tells programs to assume 4/4 at 120 beats per minute when a file doesn’t. Set the real tempo and meter before you judge the notation.
Can I convert a PDF back into MusicXML?
Only with optical music recognition (OMR), which reads the image of the page and infers the notation, so the result needs proofreading. If the original notation file or its MusicXML still exists, start from that instead.
Is MusicXML the same as a MuseScore or Sibelius file?
No. MuseScore Studio’s .mscz and Sibelius’s .sib are each program’s own format. MusicXML is the exchange format between programs; MuseScore Studio, for example, opens MusicXML, compressed MusicXML and MIDI files alongside its own.
Which file should I send to a choir or band?
A PDF for reading, with separate parts if each player only needs their own line. Add the MusicXML if someone will transpose, rearrange or edit the parts.