Из дворянского рода герцогства Гессен-Дармштадт, родился в Дармштадте, сын тайного советника. Получил инженерное и математическое образование. Владел немецким, французским, латынью, греческим и русским. В 1779 поступил в гессенскую армию и в 1783 получил чин инженер-капитана. 12 октября 1783 вступил на русскую службу в чине поручика Инженерного корпуса. Участник русско-шведской войны 1789—90. Участвовал почти во всех морских сражениях. Способствовал разгрому шведского флота в битве под Роченсальмом в 1789 г., построив за несколько часов укрепления береговых батарей. За отличия в бою у Бьоркезунда награждён орденом Св. Георгия 4-й степени и чин капитана. Участник подавления Польского восстания Тадеуша Костюшко 1794 года.
В 1795 году разработал проект укрепления западных границ Российской империи. В 1797 назначен состоять при Депо карт. В 1797 г. зачислен в Инженерную экспедицию Военной коллегии и 6 марта 1798 г. произведён в полковники, в мае 1799 г. вышел в отставку из-за столкновения с А. А. Аракчеевым. Вскоре был возвращен Павлом I на службу и 3 октября 1799 г. получил чин генерал-майора. 5 октября 1800 возвращен на службу и определен в Департамент водяных коммуникаций. 15 апреля 1801 назначен в Собственный Его Величества Департамент и зачислен в свиту императора. В марте 1803 командирован в Финляндию для улучшения обороноспособности приграничных крепостей. Будучи Управляющим Депо карт (с 1812 года — Военного топографического депо) руководил работами по составлению «Столистовой карты» Российской империи.
6 января 1805 командирован в Италию с секретным заданием осмотреть французские укрепления. Официально исправлял должность генерал-квартирмейстера русских, английских и неаполитанских войск, действовавших в Италии против французов. В 1806—1807 гг. участвовал в войне с французами в Польше и Восточной Пруссии, в составе корпуса генерала Эссена участвовал в сражениях при Острове и Остроленке. В 1806 году находился на острове Корфу во время действий русского флота под командованием вице-адмирала Д. Н. Сенявина в Адриатическом море и затем в ноябре через Константинополь возвратился в Россию. В 1807, вследствие разрыва с Англией, ему поручено было привести в оборонительное состояние Кронштадт. Во время русско-шведской войны 1808-09 руководил обновлением укреплений Выборга, Нейшлота и Тавастгуста; с 1809 инспектор Инженерного департамента Военного министерства. В 1810 создал Инженерное училище на базе созданной в 1804 в Петербурге школы инженерных кондукторов, которое в 1819 преобразовано в Главное инженерное училище, ныне Военный инженерно-технический университет.
Руководил постройкой Бобруйской (1810) и Динабургской крепостей. Крепость в Бобруйске выдержала осаду корпуса Домбровского до конца военных действий. 30 августа 1811 произведён в инженер-генерал-лейтенанты. С 28 февраля 1812 директор Инженерного департамента. В марте 1812 г. был определен начальником инженерной службы 1-й Западной армии. В 1812 занимался вооружением крепостей от Риги до Киева. В октябре 1812 назначен также состоять при Главной квартире русской армии, фактически контролировал инженерные войска (и их снабжение) действующей армии. Участвовал в сражениях при Бородине, Малоярославце, Красном.
С марта 1813 руководил инженерными работами при осаде крепости Торн, после её капитуляции награждён орденом Св. Георгия 3-й степени. После этого был начальником штаба Польской армии Беннигсена. Участвовал в блокаде Модлина. С июля 1813 начальник Главного штаба полевой армии. Принял участие в сражениях при Дрездене, Пирне, в битве под Лейпцигом, в осаде Магдебурга и Гамбурга.
По окончании войны занимался устройством Инженерного департамента, формированием Саперных и Пионерных войск и управлял строительной частью по всем крепостям России. С 1818 Карл Опперман стал деятельным помощником великого князя Николая Павловича по управлению инженерной частью. С 20 января 1818 генерал-инспектор по инженерной части, принимал большое участие в учреждении главного инженерного училища. При Николае I был членом комитета для организации строительной части и председателем комитета для улучшения воспитательной части в кадетских корпусах; заведывал также морским строительным департаментом и артиллерийским училищем. 12 декабря 1823 г. произведён в инженер-генералы. 20 декабря 1826 стал почетным членом Российской Академии наук, был почетным членом Российского Минералогического общества. С 1827 член Государственного совета. 1 июля 1829 г. получил графский титул. В том же году разработал проект перестройки Брестской крепости, строительство которой закончилось в 1842 году.. Оборона этой крепости в июне-июле 1941 года явилась примером храбрости в истории войн человечества. Для разрушения крепости немециким войскам пришлось применять 1800-кг бомбы. 24 августа 1941 года крепость посетили Гитлер и Муссолини Будучи наставником Цесаревича Николая Павловича в инженерной и военной науках, сохранил с Николаем I прекрасные отношения, что, однако, не помешало императору взыскать штраф с К.И. Оппермана за проект казармы в Бобруйской крепости, обрушившейся вскоре после постройки. Сам император, как руководитель проекта, также оштрафовал себя на 580 рублей 60 копеек.. В 1850 году император присвоил имя Оппермана новой оборонительной башне на реке Бобруйка.
В 1830 г. ему было поручено составить проект реконструкции Свеаборгской крепости, заболел по дороге холерой и умер. Похоронен в Петербурге на Выборгском холерном кладбище, расположенном на Куликовом поле.
6 июня 1833 года по планам Карла Ивановича Оппермана было начато строительство Брестской крепости.
Его старший сын, Александр Карлович Опперман, также был генералом русской армии и с отличием воевал на Кавказе; младший сын, Леонтий Карлович Опперман, с отличием участвовал в Крымской войне.