State Attorney-General Gabrielle Upton announced the appointments on Friday to replace vacant seats in the District Court and Local Court.
Magistrate Mark Buscombe has been elevated to the District Court, where he has sat as an acting judge since July.
Magistrate Buscombe has 33 years of experience in the law, including six years in the judiciary and 12 as a barrister.
In his practice, he appeared for government agencies and defendants with a speciality in fraud and white-collar crime.
The two new magistrates were named as Paul Hayes and Ross Hudson.
Mr Hayes has worked at Legal Aid New South Wales for 25 years, spending nine years as deputy director of the crime division.
Mr Hudson has been a partner at a criminal law firm in Sydney for six years, appearing in the High Court, coronial inquests and matters before the NSW and Australian Crime Commissions.