Mapping COM Ports for USB Serial Bridges
A usb to com port adapter does more than change a connector. It presents a virtual COM port to Windows, and the operating system decides which COM number to hand out. When a single adapter moves between ports, that number can change and software that expects a fixed port breaks. This article explains how COM numbers are assigned, how to change one in Device Manager, and how to keep assignments stable when several adapters share a machine.
Quick Answer / Summary
Windows assigns a COM number from the lowest free value when a USB serial bridge first enumerates, then remembers the bridge by its serial string. To change the number, open Device Manager, expand Ports, open the adapter properties, and pick a value under Port Settings, Advanced. To keep assignments stable across replugs, give each adapter a unique serial string and reserve fixed numbers for legacy software that insists on COM1 to COM4.
How Windows Assigns COM Numbers
When a USB serial bridge is plugged in for the first time, the host loads a driver and creates a virtual COM port. Windows picks the lowest free COM number, which is why a first adapter often lands on a low value and later ones climb higher.
The host remembers the bridge by its USB serial string and its instance ID. Ask for that identifier when you plan a fleet.
Enumeration Order and the Lowest Free Number
Assignment depends on plug order and on which numbers are already taken. Unplugging an adapter can free its number, and a different adapter plugged next may claim it. That is the root cause of the moving COM port problem.
Bridge Serial String and Instance ID
Bridges that expose a unique serial string get a distinct identity and keep their own number. Low-cost designs that ship without a programmed serial number cannot be told apart, so their numbers can swap on every replug.
Changing the Assigned COM Number
You can override the automatic choice. In Device Manager, expand Ports (COM and LPT), open the adapter, and select Port Settings, then Advanced. The COM Port Number list lets you pick a value.
Device Manager Port Settings
If the number you want shows as in use, it may be held by a leftover entry for a device that is no longer connected. Enable Show hidden devices, remove the stale entry, then set the number you need.
Pinning One Number for a Dedicated PC
When a single PC always drives the same device, assign the number once and confirm it survives a restart. Keep the value inside the range the software scans, and avoid any number already held by a motherboard serial port. Record the assigned value and the adapter serial string together so a replacement can be set to match.
Keeping COM Assignments Stable Across Replugs
Stability comes from identity, not from luck. An adapter with a unique serial string keeps its number when it moves between USB ports, while an anonymous one does not.
For a machine that runs multiple adapters, document which serial string maps to which device.
Fixing Ports to a Serial String
After you assign a number, re-test by moving the adapter to another port and checking that the same COM number returns. Repeat for each adapter until every one is predictable.
Legacy Software That Requires COM1 to COM4
Some older applications only scan COM1 through COM4. If your adapter lands on a higher number, assign it into that range in Device Manager. Avoid taking COM1 if a motherboard serial port still uses it, because two devices cannot share one number.
Working Around a Busy Low Number
If COM1 is taken by an onboard port, move the onboard port to a higher number first, then give the USB adapter the low value the old software expects. Never assign the same number to two devices, because an open handle on one blocks the other.
Comparison Table
| Factor | Effect on COM number | Stable across replug? |
|---|---|---|
| Unique serial string | Distinct identity per adapter | Yes |
| No serial string | Numbers can swap | No |
| Plug order | Lowest free number wins | No |
| Manual assignment | Fixed value you choose | Yes once set |
| Stale hidden entry | Blocks a number as in use | Manual cleanup |
Table: What drives the COM number a USB adapter receives
Practical Application Scenarios
- A lab runs three identical adapters and one of them grabs a different COM number each morning until unique serial strings are confirmed.
- A technician opens Device Manager, removes a hidden entry that held COM3, and assigns the adapter to that number for legacy software.
- An integrator documents the serial string of each adapter so the polling software always opens the intended port.
- A team needs COM2 for an old application and moves a motherboard port out of the way so the USB adapter can take it.
Related Products and Further Reading
- USB serial product range – Compare adapters that report a unique serial string.
- contact the engineering team – Ask which models expose a fixed serial number.
- frequently asked questions – Driver and COM port questions answered.
- USB serial port adapter – A related serial adapter reference.
Frequently Asked Questions
Why does my COM number change every time I replug?
If the bridge has no unique serial string, the host cannot tell adapters apart and assigns whatever number is free. A model with a programmed serial string keeps its number.
Can I force a specific COM number?
Yes. In Device Manager, open the adapter properties, go to Port Settings, Advanced, and choose a value from the COM Port Number list.
What if the COM number I want is marked in use?
A hidden or stale entry may be holding it. Enable Show hidden devices, remove the unused entry, then assign the number.
Will two adapters ever share one COM number?
No. Each open port needs its own number. Two devices cannot use the same value at the same time, so plan one number per adapter.