Из дворян. Зачислен в службу в л.-гв. Семёновский полк в 1776 г.; 1 мая 1788 назначен генеральс-адъютантом к генерал-аншефу Брюсу, 12 апреля 1792 переведён в С.-Петербургский драгунский полк с чином премьер-майора. Участвовал в войне с польскими конфедератами.
12 ноября 1798 был уволен в отставку, но по восшествии на престол Александра I принят на службу 3 марта 1801 в чине полковника; с 18 июля 1805 командир Ахтырского гусарского полка. Участвовал в войнах с французами 1805—1807 гг., был ранен штыком и 1 декабря 1807 награждён орденом Св. Георгия 4-го кл.
За отличие под Пултуском произведён 12 декабря 1807 в генерал-майоры и 27 апреля 1808 назначен шефом Тираспольского драгунского полка. В войне с турками принимал участие в штурме Журжи, осаде и взятии Базарджика. За взятие Видина 16 февраля 1812 награждён орденом Св. Георгия 3-го кл. № 227
В начале 1812 г. Тираспольский драгунский полк, шефом которого был Репнинский, в составе 22-й бригады 7-й кавалерийской дивизии входил в 4-й корпус А. П. Засса Дунайской армии. Принимал участие в делах против наполеоновских войск, возглавляя отдельный кавалерийский отряд. В кампании 1813 г. был в разных делах в Саксонии и при блокаде Гамбурга.
1 сентября 1814 назначен командиром 2-й бригады 2-й конноегерской дивизии, 26 сентября 1823 — командиром 2-й драгунской дивизии; 19 сентября 1830 снят с занимаемой должности и определён состоять по кавалерии. 12 декабря 1824 произведён в генерал-лейтенанты. В 1832 г. был назначен председателем военного суда по особо важным делам при киевском, подольском и волынском генерал-губернаторе. За усердную службу произведён в генералы от кавалерии 17 марта 1845. Погребён на кладбище Киево-Выдубицкого монастыря.