McNicholl, 33, who has been playing for Llanelli Scarlets in Wales since 2016 and played 10 Tests for his adopted country, will strengthen the Crusaders fullback stocks while Wales Test fullback Leigh Halfpenny recovers from an injury.
McNicholl, who played 39 games for the Crusaders before heading to Wales, has eight years of experience in the Welsh system and made 130 appearances for the Scarlets. He scored 57 tries. He left the club last week after a request to be released from his contract.
McNicholl said, "It has been an emotional few days for me and my family. I have loved my time at the Scarlets.
"I am grateful for the club's understanding in allowing me to be released from my contract. We have family back home in New Zealand, and that played a big part in this decision.
"I have had so many highlights during my time at the Scarlets: making my debut at Parc y Scarlets, winning the league in my first season and being part of a squad that reached two European semifinals. I'm going to miss the place.
"I'm looking forward to running out in front of the home crowd again. I didn't think I'd get that opportunity, so it's pretty special.
"It's also great for me and my family to be coming back home after a decent stint overseas."
Scarlets coach Dwayne Peel said, "When Johnny told the boys of his decision, it was clear how much the Scarlets meant to him. He has been a superb Scarlet, one of the best finishers in the competition for a number of years and a player with the type of x-factor who could produce some magic from anywhere.
"He has been a brilliant role model for the younger players and is also a great bloke, who has been a been a big part of the group. I am sure all our fans will remember Johnny fondly for what he achieved in a Scarlets jersey."
Crusaders coach Rob Penney, still without a win two rounds into Super Rugby Pacific 2024, said, "Johnny's a top-notch operator with proven experience and like any good fullback, he has the potential to produce magic from anywhere on the field."