# MIDI Tester & Monitor

> Watch every MIDI note, CC and pitch bend arrive live in Chrome — hex bytes, a plain-language decode, a visual keyboard and a dead-key check-off test.

- URL: https://bytescope.dev/en/midi-test/
- Locale: en · Also: [ja](https://bytescope.dev/ja/midi-test.md) · [zh-Hant](https://bytescope.dev/zh-Hant/midi-test.md)
- Runs: Talks to your MIDI devices locally — nothing leaves your browser.
- Requires: Chrome, Edge, Opera and Firefox 108+ (Web MIDI API; Firefox asks for a site permission first). Not Safari.
- Updated: 2026-09-08

## What it does

This tool connects to any MIDI keyboard, drum pad or controller through the Web MIDI API and decodes every message it sends in real time: raw hex bytes next to a plain-language readout, so you can see exactly what a Note On, Control Change or pitch bend actually looks like on the wire. Nothing is uploaded — the browser talks to your device directly.

Every message type is covered: Note On/Off with velocity, Control Change with a full controller-name table, Program Change, channel and polyphonic aftertouch, 14-bit pitch bend, and the system common/realtime messages a sequencer or drum machine sends for clock sync. A visual keyboard lights up as you play, with velocity shown as color depth, and a controller panel turns incoming CC values into live sliders.

### Verify a controller before you buy it — or after a repair

Switch to verification mode, pick your keyboard's size (25/49/61/76/88 keys), and play across the whole range: each key checks itself off the moment it sends a Note On, so a dead key shows up immediately as a gap. The same idea applies to knobs and sliders — sweep each one and the tool tracks whether it actually reached both 0 and 127, catching a control that's stuck or has a narrower range than it should.

### SysEx, MIDI file playback, latency and routing

Beyond the monitor, the tool can capture and save a device's SysEx dump for backup, send a SysEx patch back (paste hex or upload a `.syx` file), load a Standard MIDI File and stream it to an output with tempo control, measure round-trip latency through a loopback or MIDI-thru connection, and forward one input to one output with an optional channel remap.

## Limits

Does not play or record music or edit MIDI files; it monitors live MIDI messages and tests ports.

## FAQ

### Do I need to install anything?

No — everything runs through the Web MIDI API built into Chrome and Edge. Firefox and Safari don't implement Web MIDI, so this tool can't open a device picker there; see the support matrix on this page for exactly what each browser supports.

### Why does the browser ask for permission twice?

Plain MIDI access (notes, CC, clock) is one permission prompt. SysEx is a separate, stronger permission — a SysEx dump can contain a full patch/settings backup and on some gear can rewrite firmware-level settings, so Chrome asks again only when you turn on the SysEx panel.

### Is my MIDI data uploaded anywhere?

No. The Web MIDI API talks directly between your browser and the device; this page never sends what you play, record or load to a server. The message log and any SysEx dumps you save stay in your browser.

### Is MIDI note 60 middle C, or C3, or C4?

This tool uses the common convention where MIDI note 60 is C4 (middle C) — the same numbering most DAWs and synth manuals use. A handful of older Roland manuals number middle C as C3 instead; if a patch name looks one octave off from what you expect, that's usually why.

### Do the MIDI file player and latency test need real hardware?

Yes. The file player needs an output device to send to, and the latency test needs a loopback — MIDI OUT wired back to MIDI IN, a MIDI-thru box, or a synth with local thru enabled. The monitor, keyboard and controller panel work with any MIDI input the moment it's plugged in, no loopback required.
