Question: why is jack a nickname for john?
Answer: But the more likely explanation is that Normans added -kin when they wanted to make a diminutive. And Jen was their way of saying John. So little John became Jenkin and time turned that into Jakin, which ultimately became Jack.