El bebé, cuyo nombre no fue revelado, nació el lunes a las 13h45 (11h45 GMT) en Estocolmo.
«La madre y el niño se encuentran bien», indicó la familia real en un comunicado.
Magdalena, cuarta en la línea de sucesión al trono de Suecia, contrajo matrimonio en 2013 con el empresario Christopher O’Neill.
El recién nacido es el segundo hijo de la pareja, que ya tiene a Leonore, nacida en febrero de 2014 en Nueva York, donde residían entonces. Es el tercer nieto del rey y la reina de Suecia.
Por su parte, la princesa heredera Victoria y su marido el príncipe Daniel tienen una niña, Estela, de tres años.
Magdalena, que acaba de cumplir 33 años, asistió el sábado a la boda de su hermano, Carlos Felipe, con Sofía, una ex estrella de la telerrealidad.
En otoño, la princesa se mudará a Londres con su familia.