The calculated distance (air line) between Swansea and Portsmouth is approximately 136 miles respectively 219 kilometers.
By car or train, the actual journey to Portsmouth is certainly longer, as only the direct route (as the crow flies) between Swansea and Portsmouth has been calculated here.
Air line (approximately)
219 kilometers
118 nautical miles