John II of Avesnes (1247 – 22 August 1304) was the oldest son of John I of Avesnes and Adelaide of Holland.