Pierwsze wzmianki o Czarnkowie pochodzą z XII w.; wedle Galla Anonima miał tu panować książę słowiański imieniem Gniewomir. Był to wówczas gród na skrzyżowaniu szlaków handlowych z Poznania na Pomorze oraz do Frankfurtu. Z czasem w sąsiedztwie grodu rozwinęła się osada targowa.
W XIII w. Czarnków został nadany przez Władysława Łokietka rodowi Nałęczów, którzy od nazwy miejscowości przyjęli nazwisko Czarnkowskich. Powstał tu zamek, a w 1397 r. Czarnków uzyskał prawa miejskie. Czarnkowscy byli właścicielami miasta aż do 1727 r., później przejęli je Leszczyńscy. Na XVII w. przypadł szczytowy okres rozwoju miasta. W 1727 r. Czarnków wraz z Kuźnicą Czarnkowską stał się własnością ojca ostatniego króla Polski, kasztelana krakowskiego Stanisława Poniatowskiego. W XVIII w. jednak podupadł. W 1772 r., wskutek I rozbioru Polski miasto przeszło pod panowanie Prus.
W 1815 r. na Kongresie Wiedeńskim zapadła decyzja o utworzeniu autonomicznego Wielkiego Księstwa Poznańskiego. W jego ramach utworzono w 1816 r. powiat czarnkowski.
Po I wojnie światowej, na mocy postanowień traktatu wersalskiego granica między Polską a Niemcami poprowadzona została pobliską Notecią, a Czarnków znalazł się w granicach Polski. Mieszkańcy wzięli w powstaniu wielkopolskim w 1919 roku. W okresie II RP Czarnków był miastem powiatowym. W 1921 r. liczył 4 tys. mieszkańców.
3 września 1939 r. do Czarnkowa wkroczyły wojska niemieckie. Dnia 24.01.1945 r. miasto zostało wyzwolone spod okupacji. Obecnie stanowi stolicę powiatu w województwie wielkopolskim.