ARMプロセッサで使われる命令の一つで、通常のARM命令(32ビット)を縮小したものといえる。現時点では2種類のバージョンが存在する。
通常のThumb(Thumb-1)命令はARMv4Tから導入された機能で、命令は16ビット固定長である。すなわち命令コードサイズ重視の命令のことで、16ビットで済む処理なら標準の32ビット命令を使わずに済み、プログラムサイズを減らせ、消費電力を下げられる。公称、コードサイズを3割減らせるが、処理性能も2割強低下する。使うためにはモードを切り換えねばならない。
この命令セットの影響は大きく、ライバルであるMIPSまでも、対抗のためにMIPS16という圧縮16ビット命令セットを用意せざるをえなくなったのである。
しかし、現実にはあまり普及していない。理由は単純明快で、16ビットしか使わないなら、32ビットのARMプロセッサではなく16ビットのプロセッサを使った方が安くて低消費電力だからである。
そこで後継のThumb-2命令は方針変更、16ビット命令と通常の32ビット命令を混在可能とした。そして従来必要だったモード切り換えも不要となった。公称、2%の性能低下でコードサイズを3割減らすことができるとされる。これはARMv6の拡張機能という扱いとなっている。