Only citizens of the 38 countries on the Visa Waiver Program list are eligible for visa-free entry to the United States via the ESTA.
If you are a resident (not a citizen) of one of the 38 countries on the Visa Waiver Program and your citizenship is with a non-Visa Waiver Program country, then you will likely need a visa to enter the United States.
Additionally, the United States recently implemented rules regarding ESTA eligibility. You are not eligible for the ESTA if you answer yes to the following two questions:
- Have you been in Iran, Iraq, Sudan, Syria, Libya, Somalia, or Yemen since March 1, 2011?
- Do you have a dual nationality with Iran, Iraq, Sudan, or Syria?
If you answer yes to either of these questions, then you will likely need a visa to enter the United States even if you are a citizen of a Visa Waiver Program country.