All foreign nationals, except Indian Citizens, need visas to enter Nepal. Visas are available on arrival at the international airport in Kathmandu and at all land border crossings that are open to foreigners, as long as you have passport -size photo with a light background hand (not necessary at Kathmandu airport) and can pay the visa fee in cash in the following currency: Euro, Swiss Franc, Pound Sterling, US Dollar, Australian Dollar, Canadian Dollar, Hong Kong Dollar, Singapore Dollar and Japanese Yen. Credit card, Indian currency, and Nepali currency are not accepted as payment of visa fee.
Also, please note that your passport must be valid for at least six months and you will need a whole free page for your visa. To obtain a visa upon arrival by air in Nepal you must fill in an application form at one of the automatic registration machines, which will also take your digital photo. You can save some time by filling in the form beforehand online at www.online.nepalimmigration.gov.np/tourist-visa and uploading a digital photo, but you must do this less than 15 days before your arrival date.
Nationals from Nigeria, Ghana, Zimbabwe, Swaziland, Cameroon, Somalia, Liberia, Ethiopia, Iraq, Palestine, and Afghanistan will need to obtain a visa from Nepal Embassies or Diplomatic Missions in their respective countries, as they do not get visa on arrival at the immigration entry points of Nepal.