Conform recensământului din 2011, orașul Valpovo avea 11.563 de locuitori. Din punct de vedere etnic, majoritatea locuitorilor (96,33%) erau croați, cu o minoritate de sârbi (1,27%). Apartenența etnică nu este cunoscută în cazul a 0,25% din locuitori.[1] Din punct de vedere confesional, majoritatea locuitorilor (93,23%) erau catolici, existând și minorități de persoane fără religie și atei (1,95%) și ortodocși (1,26%). Pentru 2,08% din locuitori nu este cunoscută apartenența confesională.[3]