Home › Device & Internet Tests › MIDI Monitor

MIDI Monitor

A browser-based MIDI analyzer for debugging controllers, synths and DAW setups. Connect, and every incoming message from every input is decoded into a time-stamped log with channel, type, values and raw hex bytes. Filter what you see, pause, and export the log as CSV or text.

Last updated:

Press Connect MIDI to listen to all inputs, or start the demo stream to try it without a device.
No inputs yet
Messages0
Notes0
CC0
SysEx0
Clock0
Clock BPM–
Show
Time (s)Δ msInputChTypeDataHex
Waiting for MIDI messages…

Newest messages appear at the top. The view keeps the latest 400 matching rows; exports include every captured message that matches the filters (up to 50,000).

Advertisement
Advertisement

How to use the MIDI Monitor

  1. Connect your MIDI device by USB, Bluetooth MIDI or a virtual MIDI port.
  2. Press Connect MIDI and allow access. Tick Request SysEx first if you need to see System Exclusive data.
  3. Play, turn knobs or start your sequencer: each message appears at the top of the log, decoded and in hex.
  4. Use the filters to hide noisy messages such as clock and active sensing, or show a single channel or port.
  5. Press Pause to freeze the view, then Download CSV or Copy log to save what you captured.

MIDI message reference

Every MIDI 1.0 message starts with a status byte from 0x80 to 0xFF, followed by zero or more data bytes from 0x00 to 0x7F. For channel messages, the upper four bits are the message type and the lower four bits are the channel minus one.

Status (hex)MessageData bytesNotes
8nNote offnote, release velocityA 9n note on with velocity 0 also means note off
9nNote onnote, velocity 1–127Middle C = note 60 (C4), A4 = 69
AnPolyphonic aftertouchnote, pressurePer-key pressure
BnControl changecontroller 0–119, value120–127 are channel mode messages
CnProgram changeprogram 0–127Usually displayed as 1–128
DnChannel pressurepressureOne value for the whole channel
EnPitch bendLSB, MSB14-bit, 8192 = center; shown here as −8192 to +8191
F0 … F7System Exclusivemanufacturer ID, any dataID 7E/7F = universal; 00 xx xx = 3-byte ID
F1MTC quarter framepiece type + value8 pieces make one full timecode
F2Song position pointerLSB, MSBCounted in sixteenth notes (6 clocks each)
F8Timing clocknone24 per quarter note
FA / FB / FCStart / Continue / StopnoneSequencer transport
FEActive sensingnoneSent about every 300 ms by some keyboards
FFSystem resetnoneRarely used

Useful formulas: note frequency f = 440 × 2(n − 69)/12 Hz; pitch bend value = (MSB × 128 + LSB) − 8192; clock tempo BPM = 60,000 ÷ (24 × average ms between F8 messages).

Debugging with the monitor

  • Nothing arrives: check that the device shows a green dot in the input list. If another app (some DAWs on Windows) has exclusive access to the port, close it, then press Reconnect MIDI.
  • Wrong channel: filter to All channels and look at the Ch column. A synth that ignores your controller is often set to listen on a different channel.
  • Knob does nothing in your software: confirm its CC number here and map that number in the software. Endless encoders often send relative values like 1 and 127 (or 65 and 63) instead of 0–127.
  • Stuck notes: look for a Note on without a matching Note off for the same note and channel.
  • Tempo drift: watch the Clock BPM; steady sources stay within a fraction of a BPM. Large jumps point to USB hubs, Bluetooth latency or a busy computer.
  • SysEx dumps: enable SysEx, start the dump on the device, then Download TXT or CSV to keep the hex for later.

Frequently asked questions

Which browsers support this MIDI monitor?

It uses the Web MIDI API, available in Chrome, Edge, Opera and other Chromium browsers on desktop and Android, and in Firefox 108 or newer. Safari and all browsers on iPhone and iPad do not support Web MIDI. The page must be opened over HTTPS, which it is.

Why don't I see SysEx messages?

Browsers only deliver System Exclusive data when the page asks for SysEx permission. Tick Request SysEx before pressing Connect and accept the prompt. If you already connected without it, reload the page and connect again with the box ticked.

What do the hex bytes mean?

Each MIDI message starts with a status byte (80 to FF in hex) followed by data bytes (00 to 7F). For channel messages the first hex digit is the type, for example 9 for note on or B for control change, and the second digit is the channel minus one, so 90 is note on channel 1 and BF is a control change on channel 16.

Why do I see thousands of clock messages?

A device that sends MIDI clock transmits 24 clock messages (F8) per quarter note, which is 48 per second at 120 BPM. They are hidden by default; tick Clock to show them. The BPM readout is calculated from them either way.

Is a note on with velocity 0 a note off?

Yes. The MIDI specification treats a note on message with velocity 0 as a note off, and many keyboards send it that way to make use of running status. The monitor labels these as Note off (vel 0) so you can tell them apart from real 8n note off messages.

How is this different from the MIDI keyboard tester?

The keyboard tester focuses on playing: a lit piano, velocity range and stuck-note checks. The MIDI monitor is a protocol analyzer for every message type, with SysEx hex, per-port and per-channel filters, time stamps and export for debugging.

Does the monitor send any MIDI data or upload my log?

No. It only listens to inputs, does not send anything to your devices, and keeps the log in your browser until you clear or export it.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

MIDI Keyboard TesterTest a MIDI keyboard or controller: see notes, velocity, CC knobs and pedals live.Online PianoPlay a virtual piano with your mouse, touch or computer keyboard and record a WAV.Online MetronomeKeep time with BPM control and tap tempo.Gamepad TesterTest controller buttons, triggers, stick drift and vibration in your browser.MIDI to Sheet MusicTurn a MIDI file into readable sheet music and download it as PDF, PNG or MusicXML.Click Speed TestTest your clicks per second (CPS) in 1 to 60 second modes.Jitter Click TestMeasure jitter clicking CPS, peak speed and click consistency.Kohi & Butterfly Click TestKohi, butterfly and drag click CPS tests with left/right click stats.Spacebar CounterHow fast can you press space? Timed spacebar clicker test.Keyboard TesterTest every key and check for ghosting.Mouse TesterTest clicks, double clicks and the scroll wheel.Touch Screen TestCheck multi-touch points, draw trails and find dead zones on any touchscreen.Mouse DPI TestFind your mouse's real DPI by moving it a measured distance, with multi-run averaging.Pen Pressure TestTest drawing tablet and stylus pressure, tilt and twist live, with a pressure graph.Chimp TestMemorize where the numbers are, then click them in order after they hide. 3 strikes.Input Lag TestMeasure keyboard, mouse and touch to screen latency in ms with average, min and jitter stats.Rhythm TestTap along to a beat and measure your timing offset, consistency and tempo drift in ms.Audio Reaction Time TestReact to a random beep instead of a light. Average your trials and compare to visual reactions.10 Key Typing TestNumeric keypad data-entry test: measure your KPH and accuracy on 1, 3 or 5 minute drills.Code Typing TestTyping test with real code in JavaScript, Python, HTML, CSS and more: WPM, accuracy and symbol errors.Controller Stick Drift TestMeasure analog stick drift, resting offset and circularity, and get a recommended deadzone.Controller Vibration TestTest gamepad rumble motors: strong/weak sliders, duration, presets and trigger rumble.F1 Reaction Time TestFive red start lights go out at a random moment: launch as fast as you can and get your time in ms.Keyboard Chatter TestCatch double-typing keys: logs press intervals and flags chatter per key on a keyboard map.Draw a Perfect Circle TestDraw a circle freehand and get a roundness score with a heatmap of where you went off.Typing Practice LessonsFree touch-typing lessons from the home row to the full keyboard, with finger-color keyboard.Keyboard CleanerLock your keyboard in full screen so you can wipe it clean; hold Esc or click to unlock.Typing Test with CertificateTake a timed typing test and download a printable certificate with your net WPM and accuracy.Typing Test for KidsBig, friendly typing test for ages 6–12 with simple words, a key helper, stars, WPM and accuracy.Words Per Minute CalculatorWork out typing WPM (gross, net, CPM, accuracy) or your reading and speaking speed.Ghost Touch TestLeave your screen untouched and log every phantom touch with a heatmap and timeline.Keyboard Layout DetectorFind out if your keyboard is QWERTY, AZERTY, QWERTZ, Dvorak or Colemak and see its key map.Mouse Acceleration TestMove the same distance slowly and quickly to detect OS mouse acceleration with raw input.Trackpad Gesture TestTest pinch zoom, two-finger scroll, swipes, force click and wheel delta modes live.
See all 32 Keyboard, Mouse & Controller Tests →