{{ summaryTitle }}{{ summaryValue }}{{ summaryLine }} {{ badge.label }} {{ badge.value }}
Port list source and review context
Separate entries with commas, spaces, semicolons, or new lines. This local parser does not scan a host.
{{ fileStatus || 'Drop TXT, CSV, LOG, NMAP, or GNMAP onto the textarea. Files stay in this browser.' }}
{{ summaryAnnouncement }}
Choose how unqualified numeric ports should be grouped.
Match the destination list to an internet edge, internal policy, or scanner-validation workflow.
{{ workflowFeedback }}
Recognition is useful for runbooks; strict numeric mode is useful for machine-generated inventories.
The neutral 1,024-port default flags unusually wide destination ranges without changing valid parsing.
ports
{{ values.target_text }}
{{ textAnnouncement }}
ProtocolPort rangeCountIANA bandService hintsSource tokensCopy
{{ row[0] }}{{ row[1] }}{{ row[2] }}{{ row[3] }}{{ row[4] }}{{ row[5] }}
{{ tableAnnouncement }}
PriorityPort or rangeProtocolFindingEvidenceNext actionCopy
{{ row[0] }}{{ row[1] }}{{ row[2] }}{{ row[3] }}{{ row[4] }}{{ row[5] }}
{{ tableAnnouncement }}
{{ chartAnnouncement }}

Port lists often move from scanner output or a ticket into a firewall rule with less cleanup than the decision deserves. A useful review keeps the port number, transport protocol, range width, and source context together before anything is approved or scanned.

TCP and UDP each use port numbers from 0 through 65535. The same number can name different services under the two protocols, and a service name is only a convention. Port 53 often indicates DNS, for example, but the number does not prove that a DNS server is listening or that the traffic is safe.

Port number bands used during normalization
BandInclusive rangeReview meaning
Reserved port zero0Often wildcard syntax rather than a destination service
System ports1 to 1023Well-known and privileged service territory
User ports1024 to 49151Registered or application-specific services
Dynamic/private ports49152 to 65535Unassigned by IANA and often used for ephemeral client ports

Normalization removes accidental variety without erasing meaning. Duplicate protocol-and-port entries can collapse, consecutive values can become ranges, and reversed ranges can be corrected. Protocol markers must survive that cleanup because 53/tcp and 53/udp are distinct destinations even though they share a number.

Broad ranges deserve deliberate review. A request for 8000-9000 includes 1001 ports because both endpoints count. An all-ports token expands to 0 through 65535. Those may be legitimate scanner targets, but they are rarely a safe substitute for named destination services in an internet-facing allow rule.

A cleaned list answers what the text contains. It does not scan a host, confirm a listener, inspect a firewall, or decide that exposure is acceptable. Ownership, source restrictions, authentication, patch status, and live reachability remain separate checks.

How to Use This Tool:

Paste the list as received, then state how unqualified numbers should be interpreted.

  1. Paste ports, ranges, scanner fragments, or supported service names into Port list. Commas, whitespace, semicolons, vertical bars, and new lines can separate entries.
  2. Choose the Default protocol for numbers without a TCP or UDP marker. Use both only when the policy or scan genuinely targets both transports.
  3. Select the Review context. Internet edge, internal policy, and scanner validation use different caution levels without changing the normalized set.
  4. Choose whether common service names should be recognized, and adjust the broad-range threshold when the neutral 1024-port default does not fit the review.
  5. Correct ignored tokens and reversed-range notes, then compare the target strings with the normalized set and service review before reuse.

Interpreting Results:

Unique ports counts distinct numeric port values across both transports. The TCP and UDP counts remain separate, so one number present under both protocols contributes once to the unique-port total but once to each protocol total.

Use the normalized set as the parser's source of truth. Service names and severity labels are review cues, not detection results. A Critical database or remote-management cue means that exposure needs strong justification; it does not prove that the named application runs there.

Dynamic/private ports are not automatically unsafe. Their presence is a prompt to distinguish intentional destination listeners from ephemeral source ports copied out of logs. Confirm the direction of traffic before turning them into allow rules.

Technical Details:

The parser models a port list as a set of protocol-and-port pairs. This set representation removes exact duplicates while preserving the difference between TCP and UDP. Consecutive values are compressed only after parsing and deduplication.

Transformation Core

The normalization path is tokenization, protocol resolution, range expansion, deduplication, compression, band lookup, and contextual review.

Port list transformation rules
Input formTransformation
tcp/443, 443/tcp, T:443Assign TCP explicitly; UDP and combined TCP/UDP forms follow the same rule.
Nmap-style T: or U: prefixThe protocol remains active for later tokens on that same line until another marker appears.
Bare numberApply the selected default protocol.
8000-8010Expand both endpoints and every integer between them; count = end - start + 1.
8010-8000Swap the endpoints, retain a correction note, then expand 8000 through 8010.
any, all, or *Expand to the inclusive range 0 through 65535.
Recognized service nameMap to the curated conventional port and protocol pair or pairs; strict numeric mode reports the token as ignored.
Scanner status wordIgnore common words such as open, filtered, and tcpwrapped without treating them as ports.
Repeated protocol-port pairKeep one set member and increment the duplicate count.

Port numbers above 65535 and unrecognized tokens are invalid. Valid entries remain available when some tokens are ignored; the service review records those input notes. If no valid port survives, result generation stops.

Rule Core

Review rules run after normalization, so severity changes never alter the underlying TCP and UDP sets.

  • An inclusive input range receives a broad-range row when its count is greater than or equal to the selected threshold. The threshold accepts 1 through 65536 ports.
  • Dynamic/private destinations from 49152 through 65535 receive a Medium cue for edge and internal reviews, or Low for a scanner target.
  • The internet-edge context keeps catalog severity unchanged. Internal policy reduces Critical to High. Scanner validation reduces Critical to High, High to Medium, and Medium to Low.
  • Catalog matches are sorted by contextual severity and port number. Critical and High rows contribute to the high-signal count.

Output strings compress consecutive values independently for TCP and UDP. The Nmap form uses T: and U:; nftables lines preserve the transport before the destination-port set.

Limitations and Privacy Notes:

Parsing and file reading happen in the browser. The checker does not connect to an address, scan ports, query a service registry, or change firewall rules.

  • Text analysis accepts up to 200,000 characters. Large ranges expand into individual set members before being compressed.
  • Service aliases and security cues come from a bounded catalog. Ports can run unrelated software, and unlisted services can still be risky.
  • Remove sensitive hostnames, ticket details, and internal notes before sharing exported lists.

Worked Examples:

Mixed scanner and runbook notation

Given three lines containing T:22,443, U:53, and 8082-8080 https filtered, the parser produces TCP 22, 443, and 8080 to 8082 plus UDP 53. The reversed range is corrected, https repeats TCP 443 and increments the duplicate count, and filtered is ignored as a scanner status word.