Juan Cristóbal es hijo de Carlos, príncipe Napoleón, y de su primera esposa, Beatriz de Borbón-Dos Sicilias, princesa de las Dos Sicilias.