The premier said he was offering the apology after a colleague called him about the costume two days ago but declined to reveal what was said or who made the call.
“I am deeply ashamed of what I did,” he said.
“And I’m truly sorry for the hurt and pain that this will cause people right across the state, and particularly members of the Jewish community, Holocaust survivors, veterans and their families. I am truly sorry for the terrible mistake.”
He said he was “naive and “didn’t understand the significance of that decision”.
The premier said he didn’t know how many people knew about him wearing the costume or for how long.
Perrottet said his parents spoke to him the day after the party, telling him what he did was “wrong and insensitive”.
Read Related Also: Hair Vendor Whose Shop Got Burgled Sheds Tears of Joy Adekunle Gold Renders Help to Her
He couldn’t remember whether he apologised to the Jewish friends he had when he was 21.
The premier said his 21st was a “uniform party” with family and friends.
Other costumes included sailors and no one else wore a Nazi costume or anything offensive that Perrottet could recall.
Perrottet, 40, said he spoke to Jewish leaders before the press conference and apologised for the “terrible hurt” he knew it would cause the Jewish community.
Perrottet, who informed Treasurer Matt Kean and Deputy Premier Paul Toole, plans to speak to the RSL and other organisations this afternoon.
The premier said he hadn’t thought about how damaging the revelation could be for his re-election campaign.