Both match on the source address or the destination address in the protocol header.
Both match individual host addresses or subnets/prefixes.
Both can be applied directionally (inbound and outbound) to a router interface.
Both can match on transport layer protocol information such as TCP or UDP source or destination port number
Both can match on specific ICMP message types and codes
Both have an implict deny statement at the end of the ACL that matches all remaining packets.
Both support time ranges for time-based ACLs.
Differences
Ipv4 ACL can only match ipv4 packets and ipv6 acls can only match ipv6 packets.
Ipv4 ACL can be identifieed by number or name, while ipv6 is name only
Ipv4 ACL identify that acl is standard or extended but ipv6 identity differently
Ipv4 ACL can match on specific values unique to an ipv4 header (eg. Option, precedence, Tos TTL, fragments
Ipv6 acl can match on specific values unique to an ipv6 header (flow label, dscp) as well as extension and option header values
Ipv6 acl have some implict permit statements at the end of each ACL just before the implicit deny all at the end of the ACL, while ipv4 do not have implict permit statement.
Ipv6 can match
Traffic class (DSCP, 0 to 63)
Flow label (0 to 1048575)
Ipv6 Next Header field indicting extension header type/number
Source and destination 128-bit ipv6 addresses
Upper-Layer header details: TCP or UDP port numbers, TCP flags SYN,, ACK, FIN, PUSH, URG, RST
ICMPv6 type and code
Ipv6 extension header value and type (hop-by-hop headers, routing headers, fragmentation headers, Ipsec, destination options, among others)
Config
Standard ACL
Ipv6 access-list [name]
[permit | deny] ipv6 {source ip | any | host source ip} {destination ip | any | host destination ip} [log]