Notes as rows

MIDI to CSV

Turn a MIDI file into a spreadsheet with one row per note. The table includes track, channel, pitch, note name, ticks, seconds, duration, and velocity.

Local file processing
A piano roll dissolving into a clean spreadsheet with note, velocity, and timing columns
Every note becomes one row, with both tick positions and tempo-aware seconds.
1 Open a MIDI file2 Read the result3 Continue with a tool

Open a MIDI file

Stay on-device. Start empty if you have no file, or try a public demo.

Off-grid notes, wild velocities, leftover gaps — the dirty AI-song export producers actually get.

A clean four-bar piano phrase you can transpose, quantize, or reshape immediately.

Drums, bass, and chords on separate tracks for mute, solo, and merge practice.

The same hook after quantize and velocity cleanup — the after shot for the messy export.

Your file stays on this device unless you explicitly use Creator Cloud. After an edit, one local recovery copy is saved in this browser until you replace or clear it.

Creator Cloud

Keep the versions and extend the phrase.

Creator Cloud adds cloud history and reviewed AI MIDI edits a month. The tool you are using stays free.

  • 60 reviewed AI MIDI edits each month
  • 50 cloud projects with 100 versions each
  • Cancel anytime; the free editor stays free
See Creator Cloud · $7.99/mo

What the CSV contains

Each row represents one paired note-on and note-off event. The export includes the zero-based track index, the track name, the one-based MIDI channel, the note number, the note name, the start and end ticks, the length in ticks, velocity, start seconds, and duration in seconds.

Seconds are calculated through the file tempo map, so a file with tempo changes still produces useful clock positions. Ticks are preserved for sample-accurate comparison with the MIDI editor.

Good uses for a note table

Sort by pitch to inspect a melody, pivot by track to compare parts, chart velocity over time, or feed the rows into a script or an AI analysis workflow. A CSV is easier to inspect than a binary .mid when you only need the notes.

The table is also a practical QA step. Duplicate notes, suspiciously short durations, and notes on the wrong channel become visible when every event has its own row. Fix the MIDI in the editor, then export a fresh CSV.

Excel, Sheets, and data tools

The file uses a standard comma-separated layout with a header row. Quoted cells are escaped correctly, so track names containing commas or quotes do not break the columns. Open it directly in Excel, Google Sheets, Numbers, or a data notebook.

CSV is a flattened view. It does not carry tempo events, controllers, pitch bend, SysEx, or track ordering as separate records. Use the JSON export when you need the surrounding structure rather than just the notes.

Local export and file size

The conversion runs in the browser. The MIDI file is not uploaded, and the download is generated from the document already open in the tool. Large files can produce a large CSV because every note becomes a row.

If you only need a quick check, the preview shows the first twelve rows before you download. The button always exports the complete note table, not just the preview.

Keep the same file

All EditMIDI tools

Open the full index

Every page runs on the same browser MIDI engine, so you can move between them without uploading or re-importing your file.