The tabloid “Sun” newspaper published a front page picture of the 20-year-old under the headline, “Harry the Nazi”.
He was at a friend’s birthday party which had the theme “colonial and native”, wearing a beige shirt with a bright red armband emblazoned with a swastika armband.
The Sun reported his brother Prince William was also at the party, dressed as a lion.
Prince Harry is the grandson of Queen Elizabeth II and the second son of the Prince of Wales, Charles, and Diana.
“I am very sorry if I caused any offence or embarrassment to anyone. It was a poor choice of costume and I apologise” he said in a statement.
The Board of Deputies of British Jews said the costume was in “bad taste”.
The Queen’s former assistant press secretary, Dickie Arbiter, was more outspoken.
“This young man has got to come up front and be seen in person making an apology” he said.
The Prince is to don a different sort of uniform next month when he’s due to enrol at the prestigious royal Sandhurst military college.
Former armed forces minister Doug Henderson MP said the picture showed the prince was “not suitable” to attend Sandhurst.
“If it was anyone else, the application wouldn’t be considered. It should be withdrawn immediately,” Mr Henderson told the BBC.
Prince Harry, who is third in line to the throne, has been repeatedly criticised for his party lifestyle.
In October, he clashed with photographers outside a London nightclub.
He has also come under fire for his relationship with Chelsy Davy, a South African whose father is reported to have links with Zimbabwe dictator Robert Mugabe.