Conform recensământului din 2011, orașul Senj avea 7.182 de locuitori. Din punct de vedere etnic, majoritatea locuitorilor (97,06%) erau croați. Apartenența etnică nu este cunoscută în cazul a 0,28% din locuitori.[1] Din punct de vedere confesional, majoritatea locuitorilor (94,97%) erau catolici, cu o minoritate de persoane fără religie și atei (2,13%). Pentru 1,14% din locuitori nu este cunoscută apartenența confesională.[3]