The three largest U.S. banks — JPMorgan Chase & Co. (JPM), Bank of America Corp. (BAC) and Wells Fargo & Co. (WFC) — drew in more than $6.4 billion from ATM and overdraft fees last year, according to a CNNMoney analysis that was confirmed by S&P Global Market Intelligence.

The 2016 fees totaled nearly $300 million more than the fees the three banks collected in 2015, despite rising consumer angst against fees from behemoth financial institutions. Watchdog groups like the Consumer Financial Protection Bureau and the Consumers Union often warn consumers about aggressive fee practices from big banks.

"These fees have a disproportionate impact on low and moderate income families living paycheck to paycheck," Pamela Banks, senior policy counsel at Consumers Union, an advocacy group, told CNNMoney.

The total fees collected last year equated to about $25 for each American adult, CNNMoney calculated. The average fee that consumers paid in 2016 for using an ATM, that was out of their financial institution’s network, was $4.57, a record high, according to Bankrate.com. That fee included the average $2.90 that banks charge non-customers for using their ATMs as well as the average $1.67 fee the customer is charged for using another ATM. (See also, Bank of America Tests Automated Branches)

Banks also charge an overdraft fee when a customer withdraws more money than they have in their account, and the most common overdraft fee is $35, according to Bankrate.com.

About eight percent of financial institution customers pay 75 percent of all overdraft fees, and most of them are poor and younger. They incur an average of 10 overdraft charges per year, according to the Consumer Financial Protection Bureau.

In total last year, JPMorgan Chase drew in $2 billion from overdraft fees, Wells Fargo drew $1.8 billion and Bank of America drew $1.7 billion.

Want to learn how to invest?

Get a free 10 week email series that will teach you how to start investing.

Delivered twice a week, straight to your inbox.