Weslaco is located at 26°9'32" North, 97°59'25" West (26.158889, -97.990278).
According to the United States Census Bureau, the city has a total area of 12.76 mi2 (33.04 km2). 12.69 mi2 (32.86 km2) of it is land and 0.07 mi2 (0.18 km2) of it is covered by water. The total area is 0.54% water.
Weslaco is located in the Central Standard Time (CST) timezone, GMT-06:00. It observes Daylight Saving Time (DST).