How to Monitor MIDI Messages on Mac

Last updated: March 2026

This guide explains how to monitor MIDI messages on Mac and inspect MIDI devices on macOS in real time. Whether you are debugging a MIDI controller, testing a DAW plugin, or diagnosing a hardware issue, a MIDI monitor lets you see every incoming message as it arrives. Midilize is a visual MIDI monitoring and routing utility for macOS that makes this easy — no terminal, no developer tools required.

Why monitor MIDI messages?

MIDI monitoring lets you see exactly what your devices and apps are sending. Common reasons include:

Understanding MIDI messages

Every MIDI message is a sequence of bytes. The first byte is the status byte — its upper 4 bits identify the message type and its lower 4 bits identify the MIDI channel (0–15, displayed as channels 1–16 in most software). The following bytes are data bytes that carry the message values.

Common message types and their byte format:

A MIDI monitor decodes these bytes and displays them in human-readable form — note names instead of numbers, CC names instead of raw values, channel numbers instead of nibbles.

Built-in macOS tools

macOS includes Audio MIDI Setup, which shows connected MIDI devices and their configuration. However, it has significant limitations for monitoring:

For developers, Apple provides a MIDI Monitor utility inside Xcode's additional tools package, but it requires a developer account and a large download, and is not designed for everyday production use.

Limitations of basic tools

Most free MIDI monitors on macOS are either terminal-based (hard to read quickly) or lack filtering and visual context. When dealing with high-throughput MIDI data — such as a controller sending continuous CC messages, or MIDI clock at 140 BPM — you need a tool that can filter, group, and present messages clearly without being overwhelmed.

Using Midilize to monitor MIDI

Midilize provides a dedicated Monitor Mode designed for real-time MIDI inspection on macOS. Here is how to use it:

1

Open Midilize and connect your device

Launch Midilize. Click the Sources button in the toolbar. Your connected MIDI devices appear automatically. Enable the ones you want to monitor by toggling their switches on.

2

Watch messages in real time

Switch to Monitor Mode (Cmd+1). Every MIDI message appears in a scrolling table with timestamp, channel, type, and data bytes. The channel activity strip at the top shows which channels are active at a glance.

3

Filter and inspect

Use the sidebar filter panel to show only specific message types (Note On, CC, Pitch Bend, SysEx, etc.) or specific channels. This is essential when a device is sending many message types and you need to focus on one.

4

Inspect byte-level detail

Click any message row to open the Message Inspector. It shows the exact hex bytes, decoded values (note name, CC number, velocity), channel, and precise timestamp. Essential for diagnosing SysEx content or unusual message formats.

5

Copy and export

Select messages and press Cmd+C to copy them as formatted text. Useful for pasting into bug reports, forum posts, or documentation when sharing MIDI data with others.

Screenshot: Midilize Monitor Mode showing MIDI messages

What to look for when monitoring

CC flood: Some controllers send continuous CC messages even at rest — a mod wheel sitting still may still send occasional position updates. In the monitor, you will see a stream of CC messages. If this is causing unwanted parameter changes in your DAW, use a Filter node in Midilize to block those specific CC numbers.

Wrong channel: Your keyboard might send on channel 1 while your DAW is listening on channel 10. The monitor shows the channel of every message, making mismatches immediately visible.

Stuck notes: A Note On without a matching Note Off causes a note to ring indefinitely. Filter the monitor to Note On and Note Off only. Every Note On (velocity > 0) should eventually be followed by a Note Off or a Note On with velocity 0 on the same note and channel.

Duplicate messages: Some controllers send the same note on multiple channels when layering is active. The monitor will show both messages with the same timestamp, revealing the duplication clearly.

MIDI clock flood: MIDI clock (0xF8) is sent 24 times per quarter note — at 120 BPM, that is 48 clock messages per second. Use the message type filter to hide clock messages when you are focused on note or CC data.

Monitoring SysEx messages

SysEx (System Exclusive) messages carry manufacturer-specific data — patch dumps, firmware update payloads, or device configuration commands. They start with 0xF0 and end with 0xF7, with variable-length content in between.

In Midilize, SysEx messages appear in the monitor table as a single row. Clicking a SysEx row in the Message Inspector reveals every byte in the message. This is useful for:

Advanced: monitoring MIDI between apps

Midilize can monitor MIDI traffic between applications. Enable a virtual port or IAC bus as a source in Midilize. Messages flowing from one app to another through that port will appear in the Monitor — without interrupting the signal flow to the destination app. This is invaluable when an app is not behaving as expected and you need to see exactly what MIDI data it is receiving.

Practical monitoring scenarios

Here are common real-world situations where a MIDI monitor is the fastest way to diagnose a problem:

Scenario: controller working in one DAW but not another. Open Midilize and enable the controller. If messages appear in Monitor Mode, the controller is sending correctly. The problem is the second DAW's MIDI input configuration — likely the device is not enabled in its preferences or the track is on the wrong channel. If no messages appear, suspect the physical connection.

Scenario: random stuck notes during a live set. Run Midilize in Monitor Mode alongside your DAW during a rehearsal. Filter to Note On and Note Off. At the point where a stuck note occurs, pause the monitor and scroll back — look for a Note On without a following Note Off on the same pitch and channel. This pinpoints whether the stuck note comes from the hardware (no Note Off was sent) or from a software issue (Note Off was sent but ignored).

Scenario: plugin is responding to controls you did not assign. Some MIDI controllers send CCs on multiple channels simultaneously. Enable the controller in Midilize and open Monitor Mode. Move each control and note exactly which CC numbers and channels appear. This gives you the precise mapping to either re-assign in the plugin or filter out in Midilize.

Scenario: SysEx patch transfer fails silently. Enable the sending device in Midilize and trigger the patch dump. In Monitor Mode, a SysEx message appears for each chunk of data. If the transfer starts but a SysEx message is missing the closing 0xF7 byte in the inspector, the device is dropping bytes — usually indicating a USB connection or cable quality problem.

Monitoring versus recording

Monitoring shows MIDI messages in real time as they arrive. Recording captures them to a file or track for later playback or analysis. These are different operations but both start from the same MIDI data stream.

If you need to capture a MIDI sequence and replay it — for example, to document exactly what a controller sends during a particular performance — record it as a MIDI track in your DAW. The monitor is better suited for diagnosing problems in real time, where you need to see individual messages, timestamps, and byte values as they happen rather than reviewing them after the fact.

Midilize's Monitor Mode is a live diagnostic tool. Select rows and press Cmd+C to copy the displayed messages as text for sharing in bug reports or forum posts — a quick way to communicate exactly what your device is sending without attaching a MIDI file.

Frequently asked questions

Can I monitor MIDI from multiple devices at once?

Yes. Enable multiple sources in Midilize's Sources popover. Messages from all devices appear in the same monitor table, each tagged with its source name so you can identify which device sent each message.

Does Midilize work with Bluetooth MIDI?

Yes. Any MIDI device that appears in macOS — including Bluetooth MIDI devices — can be monitored. Enable the device in the Sources panel and its messages appear in Monitor Mode.

Can I monitor SysEx messages?

Yes. SysEx messages appear in the monitor table and their full byte content is shown in the Message Inspector. Click any SysEx row to expand and inspect every byte in the message.

How do I copy MIDI messages out of the monitor?

Select messages in the table and press Cmd+C. The messages are copied as formatted text, ready to paste into a bug report, forum post, or documentation.

Why are MIDI clock messages flooding my monitor?

MIDI clock (0xF8) is sent 24 times per quarter note — at 120 BPM, that is 48 messages per second. Use the message type filter in Midilize to hide clock messages and focus on the data you actually care about.