What would you call a person from India?

My guess would be Indian, but that sounds like a guy with a feather on his head who hunts buffalo.

Is there a better name?


The correct term (demonym) is Indian. In the United States, the term Asian Indian is also used in order to avoid confusion between Indians from the subcontinent and Native Americans (American Indians). These days, using Indian to describe a Native American may be considered improper and even offensive by some*. Thus, even in the US, Indian would often to be taken to mean someone from India. And if one wanted to completely avoid ambiguity, then from India would suffice.


*Some Native Americans do not mind being called Indians. (Thanks to @Robusto for pointing that out.)


In common speech, what I most often hear is, "He's an Indian -- I mean an India Indian, not an American Indian" or "He's an Indian -- I mean from India." i.e. the speaker almost always has to backtrack and add it as an afterthought, and when they do they usually say "India Indian" or "from India".

In writing, when the context is not clear, I'd generally say "a person from India" rather than "an Indian" to avoid confusion.

Side note: Note that using the term "American Indian" rather than "Native American" is offensive mostly to white people on behalf of Indians, rather than to the Indians themselves. The people in question more often refer to themselves as "American Indians". Not long ago I read of a survey taken in the mid-1990s that found that (best as I recall the numbers) about 50% of American Indians preferred the term "American Indian", 35% preferred "Native American", and I presume the rest had other terms, didn't care, whatever. There's only one such person that I ever knew at all personally and he called himself "an Indian". I just did a quick Yahoo search and couldn't find anything more recent, so I don't know if that's changed. Personally, I think there's a certain irony to all this: To show greater respect for Indians, white people tell the Indians that we know better than they what they should call themselves. Sounds a little patronizing to me. But I'm probably trending from language to social commentary here.


You can also use the term desi, which is commonly used among Indians and other South-central Asians to describe themselves. This term may also be of use to you if you know that the person you've only just met is from that part of Asia, but you're not quite sure from where. I've found, using it, that it's consistently well received -perhaps because of its endonymicity.

from Wikipedia:

Desi [d̪eːsi] or Deshi [d̪e(ː)ʃi] refers to the peoples, cultures, and products of the Indian subcontinent and, increasingly, to the peoples, cultures, and products of their diaspora. Desi countries include India, Pakistan, Bangladesh, Nepal, Bhutan and Sri Lanka, and there are large desi populations in (e.g.) the UK, US and Canada.

Etymology

Hindi: देसी, Urdu: دیسی, Punjabi: ਦੇਸੀ ,Marathi: देशी, Gujarati: દેશી, Bengali: দেশী, Tamil: தேசி, Telugu: దేశీయుడు, Malayalam: ദേശി, Nepali: देसी,देशी

This ethnonym belongs in the endonymic category (i.e. it is a self-appellation). Desi originated from the Sanskrit word देश deśa- ("region, province, country"). Its first known usage is in the Natya Shastra (~200 BC), where it defines the regional varieties of folk performing arts, as opposed to the classical, pan-Indian margi.

History

During the height of the British Raj, many people from the then-undivided Indian subcontinent emigrated to other British colonies, in search of education and opportunity. After immigration reform in 1965, the US dramatically increased immigration from the Indian subcontinent. Communities that have remained distinct in South Asia have tended to mix in diaspora. Some second or third generation immigrants do not think of themselves as belonging to a particular nation, sub-culture, or caste, but as just plain South Asians or desis, especially as intermarriage between different South Asian diaspora communities increases.


Is there a better name?

There is no need for one. The word Indian, is fine. It's widely used. If you are confused with the other use of the word, just say native American. It is simple.