McNicholl, who can play wing or full-back, joined the west Walians from New Zealand giants the Crusaders in 2015.
The 28-year-old helped Wayne Pivac’s side lift the Guinness PRO12 title in 2016 and has scored 27 tries in 59 appearances.
“I am happy that everything has been finalised and I’m staying at the Scarlets,” said McNicholl.
“Myself and my family are settled here in Wales and have been made to feel very welcome.
“We have had some great success over the last couple of years and hopefully there is more to come. I’m looking forward to reconnecting with my former Crusaders coach Brad Mooar and feel there are exciting times ahead.”
Born in Christchurch, McNicholl was a regular for the Crusaders in Super Rugby and a title winner with the Canterbury provincial team before making the move to West Wales.
“It is great news that Johnny has signed a new contract,” said Scarlets head coach Wayne Pivac.
“He has been one of the most dangerous attacking threats in the PRO14 in recent years and played a big part in us reaching successive finals and a European semi-final. With the news of Jon, Ken and Rob signing last week, this is another significant signing for the Scarlets. The squad is looking strong for next season.”