MIDI Control Change reference: decimal and hexadecimal

Originally published on jonatascastro.com. English edition translated and revised 01 Oct 2026. Historical examples are identified in the text.

MIDI devices exchange messages about notes, controls, and other performance events. A Control Change message identifies a control number and supplies a value, usually from 0 to 127 in MIDI 1.0.

The control number and its value are different things. For example, CC64 identifies the sustain pedal; its value indicates the pedal's state.

This is a practical selection of conventional MIDI 1.0 assignments, rather than a promise that every instrument implements every control. Check your device's MIDI implementation chart.

For the connection and channel basics, read MIDI explained.

Common controls

DecimalHexConventional assignment
000hBank Select MSB
101hModulation Wheel
202hBreath Controller
404hFoot Controller
505hPortamento Time
606hData Entry MSB
707hChannel Volume
808hBalance
100AhPan
110BhExpression
120ChEffect Control 1
130DhEffect Control 2
16–1910h–13hGeneral Purpose Controllers 1–4
32–6320h–3FhLSB counterparts for controls 0–31
6440hSustain pedal: 0–63 off, 64–127 on
6541hPortamento on/off
6642hSostenuto on/off
6743hSoft Pedal on/off
6844hLegato Footswitch
6945hHold 2
7046hSound Controller 1: Sound Variation
7147hSound Controller 2: Timbre/Harmonic Intensity
7248hSound Controller 3: Release Time
7349hSound Controller 4: Attack Time
744AhSound Controller 5: Brightness
75–794Bh–4FhSound Controllers 6–10
80–8350h–53hGeneral Purpose Controllers 5–8
8454hPortamento Control
915BhEffects 1 Depth
925ChEffects 2 Depth
935DhEffects 3 Depth
945EhEffects 4 Depth
955FhEffects 5 Depth
9660hData Increment
9761hData Decrement
9862hNon-Registered Parameter Number LSB
9963hNon-Registered Parameter Number MSB
10064hRegistered Parameter Number LSB
10165hRegistered Parameter Number MSB

MSB means most significant byte and LSB means least significant byte. Some parameters use two seven-bit data bytes together for greater resolution.

Bank selection may use both CC0 and CC32 before a Program Change message. Sending either one alone is not a universal bank-selection procedure.

Channel Mode messages

These use the Control Change message format but affect the channel's behavior. Their interpretation can include a required data value; consult the specification and device documentation before sending them.

DecimalHexMessage
12078hAll Sound Off
12179hReset All Controllers
1227AhLocal Control
1237BhAll Notes Off
1247ChOmni Mode Off
1257DhOmni Mode On
1267EhMono Mode On
1277FhPoly Mode On

All Notes Off is different from All Sound Off. A sound may continue through its release or sustain behavior after a note is released.

The original table contained a duplicated LSB label for CC99; it is corrected to MSB here. CC11 and CC120 have also been added to make the reference more useful.

Reference: MIDI Association — MIDI 1.0 Control Change Messages. The original Portuguese table was adapted from Indiana University's electronic-music reference.