{{ result.summary.heading }}
{{ result.summary.primary }}
{{ result.summary.line }}
{{ badge.label }}
Cisco ACL generator inputs
Choose the Cisco command family before copying configuration.
Use extended for traffic-flow rows; use standard only for source-only permit or deny lists.
Named mode is safest for editable ACLs; numbered mode is available for IOS / IOS XE compatibility.
Use a short name such as EDGE-IN, or a valid numbered ACL such as 101 when numbered mode is selected.
Pick the operational context that will review and deploy this ACL.
Use expanded rows when the target template cannot resolve object groups.
Keep None for unchanged syntax, or set Log when generated denies should be visible in ACL hit logging.
Use one flow per row. IPv4 CIDR, host IP, host x.x.x.x, any, and address wildcard forms are supported.
{{ params.source.length.toLocaleString() }} chars
{{ sourceStatus }}
{{ fileError }}
Review gaps use the start and step below; dense and unnumbered strategies override them.
Leave room above existing entries when inserting into a live named ACL.
seq
A step of 10 is common for ordered change windows and later resequencing.
step
Disable only when the receiving template manages ACL comments elsewhere.
{{ params.emit_remarks ? 'On' : 'Off' }}
Cisco ACLs already have an implicit deny; enable this only when your review standard wants an explicit logged ending.
{{ params.explicit_deny ? 'On' : 'Off' }}
{{ result.configText }}
{{ header }} Copy
{{ cell }}
No rows for the current input.
Customize
Advanced
:

IPv4 access control lists turn an intent such as "allow the partner web range to reach this service" into ordered packet tests. Each access control entry, or ACE, compares packet fields such as protocol, source address, destination address, service, and logging instruction, then returns either permit or deny when the packet matches.

The ordering is part of the policy, not just formatting. Cisco ACLs are evaluated from the top down, and the first matching ACE decides the packet result. A narrow permit for a partner HTTPS flow can work correctly above a broader deny and fail silently when placed below it. A broad permit near the top creates the opposite problem because later denies may never be reached.

A packet flowing through ordered Cisco ACL entries until first match and implicit deny.

Wildcard masks are a frequent source of mistakes because they invert the subnet-mask habit most administrators learn first. In an ACL wildcard, a zero bit must match and a one bit can vary. That means 203.0.113.0/24 is written as 203.0.113.0 0.0.0.255 in IOS-style syntax, while host 10.20.10.10 represents one address with an all-zero wildcard.

Standard and extended ACLs answer different questions. Standard IPv4 ACLs match only the source address, which is useful for simple source filters but misleading when the policy really depends on destination or service. Extended ACLs describe a flow more completely because they include protocol, source, destination, and service terms.

ACL review also depends on where the list will be used. Interface direction, device family, named versus numbered syntax, object-group availability, and logging expectations can change the safe command shape even when the flow rows are correct. A draft should therefore separate syntax generation from change approval.

  • Edge ingress rules usually need narrow source ranges, explicit destination services, and careful logging choices.
  • Internal segmentation rules often need remarks and review spacing because later cleanup depends on knowing why each ACE exists.
  • Management-plane rules deserve extra caution when services such as SSH, HTTPS, RDP, VNC, Telnet, or WinRM are reachable from broad sources.
  • Migration ACLs may temporarily keep wider permits, but they should still be ordered so catch-all entries do not hide the final policy.

An ACL draft cannot confirm interface direction, existing object-group definitions, time-range availability, software-specific syntax, or whether logging volume is safe for the device. Those checks belong in change review before commands are applied to a live router, switch, firewall, or virtual appliance.

How to Use This Tool:

Start with the target platform and policy shape, then inspect the generated commands and review tables before copying anything to a device.

  1. Choose Platform syntax target. IOS / IOS XE, NX-OS, and ASA change the ACL header style, sequence behavior, logging compatibility, and target assumptions.
  2. Set ACL type to extended for normal traffic-flow rows. Use standard only when the policy is source-only and destination or service fields should not be emitted.
  3. Choose ACL identifier mode, then enter the ACL identifier. Numbered IOS mode is checked against standard and extended number ranges before output can be copied.
  4. Pick the Review profile that matches the change context. Strict edge, segmentation, and management-plane profiles flag broad matches more aggressively than balanced or migration review.
    Use stricter review for internet edge, segmentation, and management-plane ACLs because broad source or destination matches carry more operational risk there.
  5. Select the Object-group mode and Default logging. Object-group tokens should be allowed only when the receiving device already defines them, and default logging applies only to rows that leave the log column blank.
  6. Paste Flow rows or use Browse for a CSV, TXT, ACL, or config-style text file under 256 KiB. Header rows are accepted, and the expected columns are action, protocol, source, destination, destination port or ICMP type, remark, log, source port, and option.
  7. Set Sequence strategy, Start sequence, and Sequence step. Review gaps such as 10, 20, and 30 leave room for later inserts; dense numbering and no-sequence output are available when the target syntax calls for them.
  8. Use Cisco ACL Config for device commands, ACE Ledger for line-by-line expansion, ACL Safety Review for policy warnings, Target Assumptions for platform behavior, ACL Match Mix for protocol/action counts, and JSON for a structured record.
    If the summary shows Blocked, fix the listed row issue before copying. Common fixes include correcting an ACL number, replacing a non-IPv4 address, reducing excessive ACE expansion, or removing service fields from strict standard ACL review.

Interpreting Results:

Ready to paste means the rows can be parsed into the selected Cisco ACL syntax. It does not prove that the policy is least privilege, ordered correctly against the existing device configuration, or safe to deploy without review.

Cisco ACL result cues and follow-up actions
Result Cue What It Means What To Check
Blocked At least one field failed validation or a source row exceeded an expansion limit. Correct the error text before using the Cisco ACL Config output.
ACE Ledger row count A source row may expand into several emitted ACEs when service lists or ranges are used. Confirm the expanded order still matches the intended policy.
ACL Safety Review broad-match rows The selected review profile found any-any or high-breadth address matches. Place narrower permits above broad denies and avoid broad permits unless they are intentional.
Deny visibility Deny ACEs may lack a logging token. Add logging only where evidence is needed and log volume is acceptable.
ACL Match Mix Permit and deny ACEs are grouped by protocol. Look for a protocol mix that conflicts with the change request, such as unexpected ip permits.

The most useful verification pass is to compare Cisco ACL Config with ACE Ledger and ACL Safety Review together. A copied command can look syntactically correct while the ledger shows extra expanded entries or the review table flags a broad match that should move lower in the ACL.

Technical Details:

Cisco IPv4 ACL behavior depends on ordered first-match evaluation, wildcard address matching, protocol-specific service syntax, and platform command style. Sequence numbers and remarks improve review and maintenance, but packet handling is decided by the emitted permit and deny ACEs.

Address breadth is the main risk signal for many ACL reviews. A host match has zero wildcard bits, a /24 network has eight wildcard bits, and any has thirty-two wildcard bits. For extended ACLs, the source and destination breadth are added so a rule that matches broad ranges on both ends is easier to spot.

Formula Core:

For CIDR input, each wildcard octet is calculated by inverting the subnet-mask octet.

wi = 255 - mi

Here w_i is one wildcard octet and m_i is the matching subnet-mask octet. A /24 mask of 255.255.255.0 therefore becomes 0.0.0.255. A /32 becomes a host match, and a /0 becomes any.

TCP and UDP service lists can multiply one source row into several ACEs.

ACE count = source service variants × destination service variants

A row with two source service variants and three destination service variants expands to six ACEs. One source row is blocked when expansion would exceed 40 ACEs, and the full generated ACL is blocked when it would exceed 300 ACEs.

Rule Core:

Cisco ACL input forms and generated syntax rules
Input Form Generated Form Review Point
any, 0.0.0.0/0, or 0.0.0.0 255.255.255.255 any Matches every IPv4 address in that field.
host 10.20.10.10, 10.20.10.10, or 10.20.10.10/32 host 10.20.10.10 Matches one IPv4 host.
203.0.113.45/24 203.0.113.0 0.0.0.255 The network address is normalized before wildcard syntax is emitted.
10.20.0.0 0.0.255.255 Address and wildcard syntax after IPv4 validation Noncontiguous wildcards can be valid, but they need close review.
object-group NAME object-group NAME when the selected mode allows it Object groups must already exist on the target device.
TCP or UDP service such as 443, eq 443, 1024-65535, or range 1024 65535 eq 443 or range 1024 65535 Service operators apply only to TCP and UDP rows.
ICMP type such as echo or 3 1 ICMP message name or numeric type/code Only one ICMP type or type/code pair is accepted per row.

Validation and Platform Rules:

Cisco ACL validation and platform rules
Area Rule Why It Matters
ACL identifier Named ACLs allow letters, numbers, underscore, period, colon, and hyphen up to 64 characters. Unsafe names are blocked before command output is copied.
Numbered IOS ACLs Standard ranges are 1-99 and 1300-1999; extended ranges are 100-199 and 2000-2699. A number outside the range is not the selected ACL type.
Sequence planning Review-gap sequences can start from 1 to 2147483647 with a step from 1 to 1000000. Gaps make later insertion easier, but flat ASA and numbered output omit named ACL sequence prefixes.
Protocol and services Protocol numbers must be 0-255; numeric ports must be 1-65535. Invalid protocol and port values are blocked before they become misleading commands.
Review breadth Balanced, edge, segmentation, management, and migration profiles use different wildcard-breadth thresholds. The same ACE can be acceptable in migration staging but risky in edge or management review.
Logging compatibility log-input is kept for IOS / IOS XE and downgraded to log for platform targets that do not use it here. Logging syntax must match the target platform before paste-in.

Standard ACL mode emits source-only ACE bodies. Destination, service, and option columns are ignored with a warning in balanced review, but strict review profiles block those extra fields because they could make a source-only ACL look more precise than it really is.

Every ACL has an implicit deny at the end. An explicit terminal deny makes the ending visible and can provide hit counts or logs, but it does not replace the need to review earlier permit and deny order.

Security Review Limits:

Generated ACL commands are a draft for change review, not a proof of deployment safety. Before applying them, verify the target device context and the surrounding policy.

  • Confirm the ACL will be applied in the intended direction and location, such as interface, VLAN, line, or feature reference.
  • Compare the new entries with any existing ACL entries on the device, because earlier live entries can change the result.
  • Check that object groups, time ranges, service names, and platform syntax are supported by the exact software train.
  • Review logging on high-volume denies and broad permits so packet logging does not create avoidable CPU or syslog load.

Worked Examples:

Partner HTTPS permit. With IOS / IOS XE named extended output, a row like permit,tcp,203.0.113.0/24,10.20.10.10/32,443,Allow partner HTTPS,log,, produces a Cisco ACL Config entry similar to permit tcp 203.0.113.0 0.0.0.255 host 10.20.10.10 eq 443 log. The ACE Ledger should show one permit ACE, destination service eq 443, and the remark text when remarks are enabled.

Web service expansion. A TCP row from 10.1.0.0/24 to 10.20.10.20/32 with destination services 80,443 creates two emitted ACEs. Check the ACE Ledger sequence values and the ACL Match Mix chart before copying, because both expanded entries will be evaluated separately.

Broad deny edge case. A deny row such as deny,ip,any,10.20.99.0/24,,Block restricted subnet,log,, is valid syntax, but the ACL Safety Review may flag address breadth under strict profiles. Place required narrower permits above it and confirm the deny belongs near the end of the relevant policy block.

Source-only troubleshooting. If standard ACL mode is selected while rows include destination or service fields, strict review profiles block the output. Change the ACL type to extended when the policy depends on destination or service matching, or remove those fields when a source-only numbered or named ACL is intentional.

FAQ:

Why did a CIDR address become a wildcard mask?

Cisco IOS-style ACL syntax uses wildcard masks. A /24 subnet mask of 255.255.255.0 becomes 0.0.0.255, where the final octet can vary.

Why are sequence numbers useful?

Sequence numbers make named ACL edits easier. Gaps such as 10, 20, and 30 leave room to insert later entries without rebuilding the whole list.

Why was a service object group blocked?

The selected platform target or object-group mode may not allow service object-group tokens. Use expanded service rows or choose a mode that matches the target device and local standard.

Does an explicit terminal deny replace the implicit deny?

No. The implicit deny still exists. An explicit terminal deny makes the final deny visible and can add logging when the change review requires it.

Why did a valid-looking row get blocked?

A row can parse as text but still fail ACL validation, such as an invalid IPv4 address, a port outside 1-65535, an ACL number outside the selected range, or a service field used with a non-TCP/UDP protocol.

Are my ACL rows uploaded?

The rows are parsed in your browser, and copy or download actions use browser features. Treat copied commands and exported files as sensitive configuration material wherever you store or share them.

Glossary:

ACL
An access control list made of ordered permit and deny entries.
ACE
An access control entry, which is one rule inside an ACL.
Wildcard mask
An ACL mask where zero bits must match and one bits can vary.
Object group
A named collection of addresses or services that must already exist on the target platform.
Implicit deny
The default deny behavior reached when no ACL entry matches.
Sequence number
An ordering prefix used by named ACLs to support later insertions and edits.

References: