He will replace Lt Gen Michael Flynn who was fired after just three weeks and three days in the job.
A lieutenant general with the US Army, HR McMaster served in Iraq and Afghanistan, where he worked on a government anti-corruption drive.
Mr Trump's first choice, retired Vice Admiral Robert Harward, turned down the role, citing "personal reasons".
Who is Lt Gen HR McMaster?