Karl ble født på Stockholms slott som eldste sønn av Oscar I og Josefine. Ved fødselen fikk han tittelen hertug av Skåne. I 1840-årene studerte han i Uppsala og Christiania.