Gringo (feminine, gringa) is a term (sometimes derogatory) in the Spanish and Portuguese languages for a person who speaks a non-Romance language. Normally it is used to refer to a white English-speaking person, but it could be used to name a German, Swedish or Croatian citizen, as well as U.S or Canadian people regardless of their ethnic origins.
Etymologically, gringo comes from griego ("Greek"), since Greek was the proverbial example of not understandable language: an example of this is found in Shakespeare's "It was Greek to me" (Julius Caesar, Act I, Scene 2). It was applied to speakers of foreign languages, especially the English language, by the eighteenth century. In Spanish it was later extended to white-skinned people even if Spanish-speaking, and can sometimes even mean just blond. Brazil, after learning the word from its Spanish-speaking neighbours, has kept closer to its original sense.
A recurring folk etymology explanation for the derivation of the word states that it originated during the Mexican-American War of 1846-48. The legend maintains that "Green Grow the Rushes, Oh!" was a popular song of the day and that Mexicans heard the invading US troops singing "Green grow..." and contracted this into gringo. Another version, heard in Brazil, refers to the USAF airbase near Natal during World War II. The soldiers, wearing their green uniforms, would be told "green, go!" by their sergeants during training. While the legends are certainly imaginative, they do nothing to address the fact that gringo was attested in Spanish long before either incident.
Most English language speakers have met the word in Western films.
Compare with Yankee.
See also: American, Alternative words for American
It has a few embedded links I didn't duplicate here, but the link above takes you to this page.