MIDI file compatibility and tool limits
Check which MIDI formats, timing modes, metadata and file sizes each midiviewer.io tool supports, preserves or intentionally leaves out.
Last updated September 7, 2026The safest general input is a Standard MIDI Type 0 or Type 1 file with PPQ timing, a .mid or .midi extension, and a size of 20 MB or less. Specialized tools have narrower limits described below.
Compatibility by tool
| Tool | Accepted input | What it does | Important limit |
|---|---|---|---|
| Viewer | Standard MIDI, 20 MB max | Notes, tracks, programs, tempo, meter and piano roll | Type 0/1 PPQ is the documented full-timing path |
| Analyzer | Standard MIDI, 20 MB max | Format, events, channels, programs, ranges and velocities | Type 2 or SMPTE can be identified, but the detailed PPQ timing map is unavailable |
| Player | Standard MIDI, 20 MB per file | General MIDI playback, playlist, speed, loop, solo and mute | Sound differs from proprietary DAW instruments and effects |
| Editor | Standard MIDI; Type 0/1 PPQ recommended | Delete, transpose, quantize starts, scale tempo and export | Does not add notes or edit velocity, controllers or track structure |
| Tempo Finder | Type 0/1 with PPQ timing, 20 MB max | Tempo events, meter events, PPQ and real-time positions | Rejects Type 2 and SMPTE timing |
| MIDI to JSON | Type 0/1 with PPQ timing, 20 MB max | Versioned tracks, notes, ticks and seconds | Omits controllers, SysEx, raw events and full program history |
| MP3/WAV export | Type 0/1 Standard MIDI, 20 MB max | Server render with a fixed General MIDI SoundFont | Requires confirmation and a temporary upload; it cannot recover DAW plug-ins |
| MP3 to MIDI | MP3 or WAV, 20 MB; 60 s desktop / 20 s mobile | Local pitch, onset, duration and velocity recognition | Designed for clear single-instrument excerpts, not full-mix separation |
What “local” means
The Viewer, Analyzer, Player, Visualizer, Editor, Tempo Finder, MIDI-to-JSON and MP3-to-MIDI tools keep the selected file in browser memory. Playback may request a public SoundFont, and MP3-to-MIDI requests its model files after conversion starts, but those requests do not contain the selected file. Refreshing the page clears the local workspace.
MIDI-to-MP3 and MIDI-to-WAV use a different path. Inspection happens locally first. The MIDI is uploaded to private temporary storage only after you confirm an export; the source is deleted after the Job reaches a final state and a successful output expires after 24 hours.
Metadata, preservation and interpretation
- Tracks and channels are different: a track is an event container, while a channel carries performance and instrument messages.
- The Analyzer summarizes the last detected program on a track’s lowest-numbered channel; it does not display a complete program-change history.
- The Editor writes the underlying MIDI back out while preserving untouched events such as controllers, SysEx and metadata, but it does not provide controls for editing those event types.
- MIDI-to-JSON is intentionally a documented analysis export, not a lossless archive or round-trip format.
- A MIDI file stores performance instructions. General MIDI playback and server rendering cannot recreate instruments, samples, effects or automation that were never embedded in the file.
Browser and device claims
The automated release suite covers current Playwright Chromium desktop layouts and constrained mobile viewports. The site uses standard browser APIs including Web Audio, Web Workers, file inputs and downloads. Real-device coverage varies by tool, and the site does not claim complete compatibility with every Chrome, Safari, Firefox, iPhone or Android version. MP3-to-MIDI remains desktop-first until broader real-device performance testing is complete.
If a file is rejected
Check the extension and 20 MB limit first. A renamed audio file is not MIDI, and a damaged MIDI header cannot be repaired by the Viewer. For timing and JSON tools, export Type 0 or Type 1 with PPQ timing from the source application. Keep the original file before editing or conversion.