Xã Cẩm Thanh nằm ở phía Đông Nam thành phố Hội An, cách trung tâm Hội An khoảng 3 km, có tổng diện tích là 894,43 ha, bao gồm 8 thôn. Xã tiếp giáp với phường Cửa Đại ở phía Đông, với phường Cẩm Châu và Cẩm Nam ở phía Tây, với huyện Duy Xuyên ở phía Nam, và với phường Cẩm Nam ở phía Bắc. Địa hình ở xã Cẩm Thanh khá phức tạp, thuộc dạng địa hình ven biển, bị chia cắt mạnh mẽ bởi hệ thống sông ngòi và kênh rạch. Phần lớn diện tích đất bị nhiễm.