Conform recensământului din 2011, orașul Krapina avea 12.480 de locuitori. Din punct de vedere etnic, majoritatea locuitorilor (98,99%) erau croați. Apartenența etnică nu este cunoscută în cazul a 0,04% din locuitori.[1] Din punct de vedere confesional, majoritatea locuitorilor (96,35%) erau catolici, cu o minoritate de persoane fără religie și atei (1,55%). Pentru 1,23% din locuitori nu este cunoscută apartenența confesională.[3]