Sea-Watch spokesman Ruben Neugebauer told AFP the 31-year-old German captain was seized after bringing the ship into port without authorisation late Friday.
Rackete, described as a “pain in the neck” by Italy's far-right Interior Minister Matteo Salvini, was detained for forcing her way past a police boat that tried to block her, a crime punishable by three to 10 years in jail.
She was escorted from her ship and taken away as Salvini slammed what he termed a “criminal act, an act of war,” demanding that she be imprisoned.
“Humanitarian reasons cannot justify unacceptable acts of violence towards those wearing uniform at sea,” Italian media quoted regional prosecutor Luigi Patronaggio as saying.
Rackete will appear before a state prosecutor within 48 hours, her lawyer Leonardo Marino told reporters.
Italian media quoted police sources as saying she had apologized for putting the police speedboat and the safety of its occupants at risk.
An image grab shows Sea-Watch 3 charity captain Carola Rackete being arrested by Italian police. Photo: AFP
The 40 migrants on board were allowed to disembark and were taken to a reception centre, some smiling, others in tears as they prepare to travel to either France, whose interior ministry said it would take in 10, or to Germany, Finland, Luxembourg and Portugal.
The Italian coastguard then seized the ship, anchoring it just off the coast.
“We put ourselves in the way to prevent (the ship) from entering the port. If we had stayed there, (it) would have destroyed our speedboat,” a police officer said in video footage posted on social media.
Residents and activists gathered on the pier to watch the Sea-Watch 3 dock.
Supporters applauded Rackete, while others hailed her arrest, shouting “handcuff her”, “shame” and “get lost!”.
Former Italian ports minister Graziano Delrio said he was pleased that “the people's suffering is over.”
German Foreign Minister Heiko Maas called for a “swift clarification” of the charges against Rackete, and added: “Saving lives is a humanitarian duty. Sea rescues must not be outlawed.”
His position was echoed by Luxembourg counterpart Jean Asselborn, while French Foreign Minister Christophe Castaner said that Italy's decision to close its ports to those rescued at sea ran counter to maritime law.
The dreadlocked skipper has become a left-wing hero in Italy for challenging Salvini's “closed-ports” policy and her NGO's head, Johannes Bayer, said Sea-Watch was “proud of our captain”.
“She did exactly the right thing. She upheld the law of the sea and brought people to safety,” he tweeted.
But Salvini, who heads the far-right League party, welcomed Rackete's arrest.
“Mission accomplished,” he tweeted. “Law-breaking captain arrested. Pirate
ship seized, maximum fine for foreign NGO,” said Salvini, whose hardline immigration stance has boosted his popularity.
Italian Prime Minster Giuseppe Conte, in Japan for the G20 meeting, said:
“I don't want to take the place of the judiciary… But the laws exist, whether we like it or not.”
Sicilian prosecutors have launched a probe into Rackete on suspicion of aiding illegal immigration, while Sea Watch tweeted: “It's been almost 60h since we declared a state of emergency. No one listened.”
With Italy restricting port entry, Sea-Watch 3 was stuck in the Mediterranean during a heatwave after rescuing 53 migrants off the coast of Libya 17 days ago.
Some had been allowed to disembark.
Nearly 500 migrants have landed in Italy over the past 16 days, according to the interior ministry.
Meanwhile, the founder of Spanish migrant rescue charity Proactiva Open Arms said he was also prepared to risk prison to save lives in the Mediterranean.
“If I have to pay the price through prison time or a fine in order to save the lives of some people, then I will do so,” the group's founder Oscar Camps told AFP by telephone.
The Open Arms ship took to the waters off the Libyan coast on Thursday, a decision which could result in a Spanish fine of up to 900,000 euros, Camps said.