Elsa is a city in Hidalgo County, Texas, United States. The population was 5,660 at the 2010 census. It is part of the McAllen–Edinburg–Mission and Reynosa–McAllen metropolitan areas.