Xã Thành An có diện tích 12,61 km², dân số năm 2004 là 3252 người,[1] mật độ dân số đạt 258 người/km².
Vị trí địa lý xã Thành an
Phía Đông giáp xã Ngọc Trạo và xã Thành Tâm huyện Thạch Thành
Phía Nam giáp xã Thành Long huyện Thạch Thành
Phía Tây giáp xã Thành Long và xã Thành Tiến huyện Thạch Thành
Phía Bắc giáp xã Thành Thọ huyện Thạch Thành