Le véhicule a fini sa course dans un magasin et des blessés étaient traités sur place par les secours, selon les images diffusées par les télévisions.
"Il y a des morts, et beaucoup de blessés", a indiqué à l'AFP une porte-parole de Säpo, ajoutant, dans un communiqué, rechercher "celui ou ceux qui sont derrière cet attentat".
"La Suède a été attaquée", a dénoncé le Premier ministre suédois Stefan Löfven.
L'attaque s'est produite peu avant 13h00 GMT à proximité d'un grand magasin, au croisement d'une grande artère, Klarabergsgatan, et de la rue piétonne la plus fréquentée de la capitale, Drottningsgatan.
Une fumée épaisse s'élevait de ce lieu entouré par la police d'un périmètre de sécurité, selon les images des télévisions. Des hélicoptères survolaient le centre-ville.
Le camion avait été volé. "Il a été volé à l'occasion d'une livraison à un restaurant", a déclaré à l'AFP une porte-parole de l'entreprise de transports Spendrups, Rose-Marie Hertzman.
La circulation était perturbée dans le métro, l'attentat ayant eu lieu au niveau de la station T-Centralen, par laquelle passent toutes les lignes de Stockholm, a constaté une journaliste de l'AFP.
Cet attentat rappelle les attaques revendiquées par le groupe Etat islamique menées à Londres, Berlin et dans le sud de la France à Nice, où des camions ont foncé dans la foule.
Le 22 mars, Khalid Masood, un Britannique de 52 ans converti à l'islam et connu des services de police, avait tué cinq personnes en fauchant des piétons en lançant sa voiture de location sur le trottoir du pont de Westminster qui enjambe la Tamise face à Big Ben, avant de poignarder à mort un policier devant le Parlement.
L'auteur de l'attaque, revendiquée par le groupe État islamique, avait été tué par la police.
En décembre, 12 personnes avaient été tuées lorsqu'un homme avait volé un camion pour foncer sur la foule massée sur un marché de Noël à Berlin.
L'attaque la plus mortelles de ce type de ces derniers mois en Europe est celle de Nice du 14 juillet 2016, lorsqu'un camion a foncé dans la foule qui venait d'assister aux feux d'artifice de la fête nationale en France.
L'attentat, là encore revendiqué par l'EI, avait fait 86 morts.