Kuhmon seurakunta erotettiin 1854 Sotkamon emäpitäjästä nimellä Kuhmoniemi ja siitä tuli kunta 1865. Nimi lyheni virallisesti Kuhmoksi vuoden 1937 alussa, ja Kuhmosta tuli kaupunki vuoden 1986 alussa. Kuhmon Venäjän-vastainen raja on vanhinta nykyään voimassa olevaa Suomen ja Venäjän välistä rajaa. Siellä sijaitsee Vartiuksen raja-asema. Kuhmo on Suomen erämaisimpia kaupunkeja. Kuhmoa lähinnä oleva suuri kaupunki on Kostamus Venäjällä, joka on myös Kuhmon ystävyyskaupunki, ja hieman kauempana on Kajaani. Kuhmon naapurikunnat ovat Hyrynsalmi, Lieksa, Nurmes, Ristijärvi, Sotkamo ja Suomussalmi.

Kuhmon kaakkoisosassa valtakunnan rajalla sijaitsee vuonna 1956 perustettu Ulvinsalon luonnonpuisto. Kunnan alue kuuluu pääosin Oulujoen vesialueeseen, mutta kunnan kaakkoiskulmassa oleva Jonkerinjärvi laskee Jongunjokea myöten Lieksan puolelle Vuoksen vesistöön.