Usually used by Latin American people to describe Americans. When describing an American the word is usually not negative or derogatory. When describing a white appearing person of Hispanic origin, it can be extremely offensive. Calling a Hispanic person gringo(a) is denying their culture, heritage and history. Don't use it this way if you don't want to get hurt.
Me: I'm from Peru, I grew up there actually.
John: Really? I'm from Brazil and would have never guessed because you're so white.
Me: That's a little offensive.
John: Whatever gringo.
*John should have known that he was about to get beat up*
1👍 1👎