Trước khi sáp nhập, xã Hải Xuân có diện tích 8,32 km², dân số là 3.998 người, mật độ dân số đạt 479 người/km², có 5 làng: Trà Lộc, Trà Trì, Duân Kinh, Phú Xuân, La Duy, trong đó làng Phú Xuân là làng nhỏ nhất và có nguồn gốc từ cố đô Huế. Xã Hải Vĩnh có diện tích 10,87 km², dân số là 4.054 người, mật độ dân số đạt 373 người/km².