L'attaquant de 26 ans quitte le RB Leipzig où il jouait depuis 2020 et retrouve le Barça, où il avait évolué au sein du centre de formation avant de rejoindre le Dinamo Zagreb en 2014.
Olmo aurait rejoint le FC Barcelone pour 60 millions d'euros selon la presse, et son contrat inclut une clause libératoire de 500 millions d'euros.
"Un jeune club, un jeune joueur... nous avons grandi ensemble, gagné nos premiers trophées et écrit l'histoire ensemble", a posté Olmo sur X pour remercier le RB Leipzig.
Co-meilleur buteur de l'Euro-2024 avec trois buts, Olmo a été un joueur clé du quatrième sacre continental de la Roja.
L'attaquant espagnol est la première recrue du Barça depuis l'arrivée de l'entraineur allemand Hansi Flick, qui a remplacé Xavi sur le banc catalan.
Les Blaugranas débuteront leur saison face à Valence le 17 août.