Transporter
Transporter is Apple's tool for uploading a finished build to App Store Connect, available both as a free Mac app and as a command line tool called iTMSTransporter.
You need it when Xcode is not doing the upload for you. Xcode's Organizer and xcodebuild can push a build straight from a Mac with the project open, but a CI runner, a React Native or Flutter pipeline, or anyone handed an .ipa by someone else has no project to upload from. Transporter takes the package on its own.
The Mac app is drag and drop: sign in, drop the .ipa, watch it validate and upload. The command line version is what pipelines use, and it will authenticate with an App Store Connect API key rather than an Apple ID, which matters because API keys do not prompt for two-factor codes.
Uploading is not the same as being submittable. Transporter finishing successfully means Apple accepted the file. The build then goes through processing on Apple's side, which can reject it later for reasons Transporter never saw, and those arrive as an ITMS- error by email.
Apple has moved this ground more than once. xcrun altool --upload-app was the old answer and has been steered away from in favour of Transporter and notarytool.
See also: IPA, build, App Store Connect API key.