Русское слово угли является исконным и имеет соответствия в других славянских языках: украинское вугілля (реже вугіль), белорусское вугаль, болгарское въглища, македонское јаглен, сербохорватское у̏гаљ, словенское ógel, словацкое uhlie, чешское uhlí (uhel), польское węgiel. Все эти слова восходят к праславянскому *ǫglь "уголь". В балтийских языках имеются следующие соответствия: литовское anglìs, латышское ogle, ùogle, прусское anglis; на основе данных слов восстанавливается прабалтославянское существительное *anglis.
Более дальние когнаты: санскритское अङ्गार (áṅgāra) "уголь; Марс (планета)" (это слово встречается во многих языках Индии и Юго-Восточной Азии, заимствовавших его из санскрита), персидское انگشت (angešt) (омограф انگشت (angošt) со значением "палец" имеет иную этимологию) и армянское ածուխ (acux) (из более древней формы ածուղ (acuł) < *a(w)cúɫo < *anwcúɫ-o-; современная форма объясняется сближением с ծուխ (cux) "дым"). В конечном счёте все эти слова восходят к праиндоевропейскому слову *h₁óngʷl̥ "уголь".
Со словом *h₁óngʷl̥ тесно связано другое важное для праиндоевропейцев слово - *h₁n̥gʷnis "огонь". От него происходит праславянское *ognjь, откуда русское огонь, украинское вогонь, белорусское агонь, болгарское огън, македонское оган, сербохорватское о̀гањ, словенское ôgenj, словацкое oheň, чешское oheň, польское ogień. Другие когнаты со значением "огонь": литовское ugnìs, латышское uguns, санскритское अग्नि (agní) (также имя индуистского бога огня Агни), латинское ignis.
Вообще у праиндоевропейцев было два основных названия огня. Под *h₁óngʷl̥ понимался "живой", "сакральный" огонь (само слово имеет мужской род), тогда как под *péh₂wr̥ понимался "неживой" огонь, чаще обычный костёр (слово среднего рода). От последнего происходят древнегреческое πῦρ "огонь" (отсюда слова на пиро-: пиротехника, пироман и т. д.), армянское հուր (hur) "огонь", прусское panno "огонь"; сюда же прагерманское *fōr "огонь", от которого английское fire, немецкое Feuer, нидерландское vuur, датское, шведское, норвежское fyr, исландское fúr. В праславянском кроме того реконструируется слово *pyrь "остатки огня, тлеющая зола".
Связь слов уголь и огонь, надо сказать, часто оспаривается. Классические словари (в их числе, разумеется, и Фасмер) указывают на эту связь, считая её наиболее вероятной. Однако имеются трудности фонетического характера, некоторые нестыковки в ареалах *h₁n̥gʷnis/*péh₂wr̥, на которые указывают нам авторы ЭССЯ, том 32. Их версия с "не-гниением" (*n̥-gni-), впрочем, кажется менее обоснованной, особенно в семантическом плане.