XML 40 R70.htm IDEA: XBRL DOCUMENT v2.4.1.9
Asset Quality - Breakdown of Individually Impaired Loans (Detail) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment $ 115us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment $ 201us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
Recorded Investment 302us-gaap_ImpairedFinancingReceivableRecordedInvestment 358us-gaap_ImpairedFinancingReceivableRecordedInvestment
With no related allowance recorded, Unpaid Principal Balance 133us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance 324us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
Unpaid Principal Balance 320us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance 495us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
With no related allowance recorded, Average Recorded Investment 131us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment 230us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
With related allowance recorded, Recorded Investment 187us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment 157us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
With related allowance recorded, Unpaid Principal Balance 187us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance 171us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
Specific Allowance 40us-gaap_ImpairedFinancingReceivableRelatedAllowance 42us-gaap_ImpairedFinancingReceivableRelatedAllowance
With related allowance recorded, Average Recorded Investment 169us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment 155us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
Average Recorded Investment 300us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 385us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Commercial, Financial and Agricultural [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
33us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
With no related allowance recorded, Unpaid Principal Balance 17us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
69us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
With no related allowance recorded, Average Recorded Investment 8us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
33us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
With related allowance recorded, Recorded Investment 37us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
17us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
With related allowance recorded, Unpaid Principal Balance 37us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
20us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
Specific Allowance 9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
8us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
With related allowance recorded, Average Recorded Investment 28us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
25us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialFinancialAndAgriculturalMember
Commercial Real Estate: Commercial Mortgage [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 15us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
21us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
With no related allowance recorded, Unpaid Principal Balance 20us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
25us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
With no related allowance recorded, Average Recorded Investment 19us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
55us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
With related allowance recorded, Recorded Investment 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
With related allowance recorded, Unpaid Principal Balance 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
Specific Allowance 2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
With related allowance recorded, Average Recorded Investment 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
7us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateCommercialMortgageMember
Commercial Real Estate: Construction [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 5us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
48us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
With no related allowance recorded, Unpaid Principal Balance 6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
131us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
With no related allowance recorded, Average Recorded Investment 7us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
48us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
With related allowance recorded, Recorded Investment 3us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
With related allowance recorded, Unpaid Principal Balance 3us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
12us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
Specific Allowance 1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
 
With related allowance recorded, Average Recorded Investment 2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateConstructionMember
Commercial Real Estate Loans [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 20us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
69us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
With no related allowance recorded, Unpaid Principal Balance 26us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
156us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
With no related allowance recorded, Average Recorded Investment 26us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
103us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
With related allowance recorded, Recorded Investment 9us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
8us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
With related allowance recorded, Unpaid Principal Balance 9us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
18us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
Specific Allowance 3us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
With related allowance recorded, Average Recorded Investment 8us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
8us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_CommercialRealEstateLoansMember
Commercial Loans [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 26us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
102us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
With no related allowance recorded, Unpaid Principal Balance 43us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
225us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
With no related allowance recorded, Average Recorded Investment 34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
136us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
With related allowance recorded, Recorded Investment 46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
25us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
With related allowance recorded, Unpaid Principal Balance 46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
38us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Specific Allowance 12us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
10us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
With related allowance recorded, Average Recorded Investment 36us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
33us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Real Estate - Residential Mortgage [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 24us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
27us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
With no related allowance recorded, Unpaid Principal Balance 24us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
27us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
With no related allowance recorded, Average Recorded Investment 30us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
24us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
With related allowance recorded, Recorded Investment 31us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
With related allowance recorded, Unpaid Principal Balance 31us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
Specific Allowance 5us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
With related allowance recorded, Average Recorded Investment 25us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
23us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_RealEstateResidentialMortgageMember
Home Equity: Key Community Bank [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 62us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
67us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
With no related allowance recorded, Unpaid Principal Balance 63us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
67us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
With no related allowance recorded, Average Recorded Investment 63us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
66us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
With related allowance recorded, Recorded Investment 46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
35us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
With related allowance recorded, Unpaid Principal Balance 46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
35us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
Specific Allowance 16us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
10us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
With related allowance recorded, Average Recorded Investment 43us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityKeyCommunityBankMember
Home Equity: Other [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
With no related allowance recorded, Unpaid Principal Balance 1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
With no related allowance recorded, Average Recorded Investment 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
With related allowance recorded, Recorded Investment 11us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
10us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
With related allowance recorded, Unpaid Principal Balance 11us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
11us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
Specific Allowance 2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
With related allowance recorded, Average Recorded Investment 11us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
9us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityOtherMember
Home Equity Loans [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 63us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
69us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
With no related allowance recorded, Unpaid Principal Balance 64us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
69us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
With no related allowance recorded, Average Recorded Investment 65us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
68us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
With related allowance recorded, Recorded Investment 57us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
45us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
With related allowance recorded, Unpaid Principal Balance 57us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
Specific Allowance 18us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
11us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
With related allowance recorded, Average Recorded Investment 54us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
38us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_HomeEquityLoansMember
Consumer Marine [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
With no related allowance recorded, Unpaid Principal Balance 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
With no related allowance recorded, Average Recorded Investment 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
With related allowance recorded, Recorded Investment 43us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
49us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
With related allowance recorded, Unpaid Principal Balance 43us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
49us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
Specific Allowance 5us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
10us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
With related allowance recorded, Average Recorded Investment 45us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
55us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerMarineMember
Consumer Other [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
With no related allowance recorded, Unpaid Principal Balance 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
With no related allowance recorded, Average Recorded Investment 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
With related allowance recorded, Recorded Investment 45us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
50us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
With related allowance recorded, Unpaid Principal Balance 45us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
50us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
Specific Allowance 5us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
10us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
With related allowance recorded, Average Recorded Investment 47us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
56us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
Consumer Loans [Member]    
Financing Receivable, Impaired [Line Items]    
With no related allowance recorded, Recorded Investment 89us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
99us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
With no related allowance recorded, Unpaid Principal Balance 90us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
99us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
With no related allowance recorded, Specific Allowance 0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0key_ImpairedFinancingReceivableWithNoRelatedAllowanceRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
With no related allowance recorded, Average Recorded Investment 97us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
94us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
With related allowance recorded, Recorded Investment 141us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
132us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
With related allowance recorded, Unpaid Principal Balance 141us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
133us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Specific Allowance 28us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
32us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
With related allowance recorded, Average Recorded Investment 133us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
122us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Consumer Other - Key Community Bank [Member]    
Financing Receivable, Impaired [Line Items]    
With related allowance recorded, Recorded Investment 4us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerOtherKeyCommunityBankMember
3us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerOtherKeyCommunityBankMember
With related allowance recorded, Unpaid Principal Balance 4us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerOtherKeyCommunityBankMember
3us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerOtherKeyCommunityBankMember
Specific Allowance   1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerOtherKeyCommunityBankMember
With related allowance recorded, Average Recorded Investment 3us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerOtherKeyCommunityBankMember
2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerOtherKeyCommunityBankMember
Consumer Credit Card [Member]    
Financing Receivable, Impaired [Line Items]    
With related allowance recorded, Recorded Investment 4us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerCreditCardMember
5us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerCreditCardMember
With related allowance recorded, Unpaid Principal Balance 4us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerCreditCardMember
5us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerCreditCardMember
Specific Allowance   1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerCreditCardMember
With related allowance recorded, Average Recorded Investment 4us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerCreditCardMember
3us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_ConsumerCreditCardMember
Other Consumer [Member]    
Financing Receivable, Impaired [Line Items]    
With related allowance recorded, Recorded Investment 2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_OtherConsumerMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_OtherConsumerMember
With related allowance recorded, Unpaid Principal Balance 2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_OtherConsumerMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_OtherConsumerMember
Specific Allowance      
With related allowance recorded, Average Recorded Investment $ 2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_OtherConsumerMember
$ 1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= key_OtherConsumerMember