Choose a development port: assignments, listeners and binding
An unlisted port is not necessarily free. Check assignments and local conflicts, then verify that your application can actually bind.
For development environments you manage. This is not a universal production allocation policy and cannot guarantee availability on another machine.
1. Separate registry ranges from runtime use
IANA separates System Ports 0–1023, User Ports 1024–49151 and Dynamic/Private Ports 49152–65535. These are registry ranges, not a local free-port list; OS ephemeral ranges may differ. Standard HTTP/HTTPS ports are not inherently wrong for production.
2. Check the host and team conventions
Record project, transport, bind address and host/container mapping. Inspect current listeners and team reservations before choosing a candidate. Dynamic ranges can also compete with ephemeral connections or other services.
3. Treat successful binding as the final check
Another process can bind between your check and startup. Handle address-in-use and permission errors. For temporary tests, frameworks may let you request port 0 and read the OS-assigned port; 0 is not a fixed public endpoint.
Sources and review
Sources checked on: