You do not have to be a U.S. citizen to join the Navy, but you do have to live here. You cannot join the military from a foreign country – you must become a permanent U.S. resident, AKA a green-card holder. In the past enlisting with a green card has been a fast track to becoming a member of the US Navy but now, even without green card you can join the US Navy and automatically become a US citizen.
Enlisting With a Green Card
A green card by itself does not let you join the U.S. Navy. You must be living in the U.S., and be able to speak, read and write English fluently. You must also meet the same requirements all Navy recruits face:
You are at least 17-years-old and no older than 35. That applies to regular Navy, reserves and the National Guard.
You are in good health.
You have a high school diploma, though a GED may suffice.
You pass the Armed Services Vocational Aptitude Battery test.
If you want to become an officer, you must be a college graduate.
If you have a disqualifying condition such as health problems or a criminal record, you can ask the Navy to waive it. There is no guarantee you will get a waiver, but there is no cost for making the request
Limitations on Non citizens
If you join the U.S. Navy as a non citizen, enlisting can speed up your path to full citizenship. If you want to become an American citizen, military service waives some of your requirements: For example, you do not have to be physically in the U.S. if you are stationed overseas. More than 100,000 immigrants have been naturalized through military service since 9/11. As of February 2018, military policy has put brakes on the process with more intensive background checks and slower approval times. New recruits cannot start basic training until after the background check is complete, which can take up to a year or more.