Starfelt, 26, who had been with Russian side Rubin since 2019, is the Hoops' third summer signing.
A statement on Celtic's official website said: "Celtic Football Club is delighted to announce that it has reached agreement with FC Rubin Kazan for the transfer of Swedish defender Carl Starfelt, subject to the satisfaction of usual conditions and international clearance.
"On satisfaction and gaining clearance, Carl will sign on a four-year deal.
"Carl will also be subject to standard quarantine protocols and will join the squad as soon as possible."
Former Gothenburg defender Starfelt was not included in Sweden's squad for Euro 2020, but played the full 90 minutes in their home friendly win against Estonia in March.
Celtic manager Ange Postecoglou added: "I'm really pleased agreement has been reached and we are really looking forward to Carl joining up with the squad. Carl is an experienced player and someone with the attributes to be a real success at Celtic.
"He is a strong, athletic and committed defender and will add quality to our squad. I am sure he will be a player our supporters will welcome warmly and someone who will be really important for us going forward."
Celtic signed Japan international forward Kyogo Furuhashi and Israel international Liel Abada earlier this month.