XML 70 R71.htm IDEA: XBRL DOCUMENT v2.4.1.9
Asset Quality - Breakdown of Nonperforming TDRs by Loans Category (Detail) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
SecurityLoan
Dec. 31, 2013
SecurityLoan
Financing Receivable, Modifications [Line Items]    
Number of loans 4,776us-gaap_FinancingReceivableModificationsNumberOfContracts2 4,893us-gaap_FinancingReceivableModificationsNumberOfContracts2
Pre-modification Outstanding Recorded Investment $ 349us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2 $ 443us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
Post-modification Outstanding Recorded Investment 270us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 338us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 2,391us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
3,749us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 200us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
304us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 157us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
214us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 2,385us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
1,144us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 149us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
139us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 113us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
124us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Commercial, Financial and Agricultural [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 14us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
33us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 25us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
72us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 23us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
34us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Commercial, Financial and Agricultural [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 20us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
50us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 6us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
7us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 3us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
3us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialFinancialAndAgriculturalMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Commercial Real Estate: Commercial Mortgage [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 10us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
11us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 38us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
41us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 13us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
14us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Commercial Real Estate: Commercial Mortgage [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
4us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
18us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
10us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateCommercialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Commercial Real Estate: Construction [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
6us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 5us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
19us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment   4us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Commercial Real Estate: Construction [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans   1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment   23us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment   42us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateConstructionMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Commercial Real Estate Loans [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 11us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
17us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 43us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
60us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 13us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
18us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Commercial Real Estate Loans [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
5us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
41us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
52us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_CommercialRealEstateLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Commercial Loans [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 25us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
50us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 68us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
132us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 36us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
52us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Commercial Loans [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 21us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
55us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 8us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
48us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 4us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
55us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CommercialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Real Estate - Residential Mortgage [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 453us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
676us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 27us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
43us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 27us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
43us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Real Estate - Residential Mortgage [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 381us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
119us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 29us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
12us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 29us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
12us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_RealEstateResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Home Equity: Key Community Bank [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 1,184us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
1,708us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 79us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
91us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 72us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
86us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Home Equity: Key Community Bank [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 674us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
161us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 41us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
17us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 36us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
17us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Home Equity: Other [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 158us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
227us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 4us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
6us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 4us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
6us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Home Equity: Other [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 310us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
212us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 9us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
7us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 8us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
6us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityOtherMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Home Equity Loans [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 1,342us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
1,935us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 83us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
97us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 76us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
92us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Home Equity Loans [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 984us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
373us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 50us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
24us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 44us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
23us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Consumer Other - Key Community Bank [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 37us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
49us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Consumer Other - Key Community Bank [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 45us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
31us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
1us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerOtherKeyCommunityBankMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Consumer Credit Card Financing Receivable [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 290us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
629us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
5us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
4us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Consumer Credit Card Financing Receivable [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 514us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
240us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 4us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerCreditCardFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Consumer Marine [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 206us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
360us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 17us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
24us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 14us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
21us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Consumer Marine [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 373us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
272us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 54us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
51us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 31us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
31us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_ConsumerMarineMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Other Consumer [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 38us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
50us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
1us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Other Consumer [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 67us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
54us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
1us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= key_OtherConsumerMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Consumer Other [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 244us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
410us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 18us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
25us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 15us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
22us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Consumer Other [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 440us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
326us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 56us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
52us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment 32us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
32us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerOtherFinancingReceivableMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Consumer Loans [Member] | Nonperforming [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 2,366us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
3,699us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Pre-modification Outstanding Recorded Investment 132us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
172us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Post-modification Outstanding Recorded Investment 121us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
162us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Consumer Loans [Member] | Prior-Year Accruing [Member]    
Financing Receivable, Modifications [Line Items]    
Number of loans 2,364us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
1,089us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Pre-modification Outstanding Recorded Investment 141us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
91us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
Post-modification Outstanding Recorded Investment $ 109us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember
$ 69us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= key_PriorYearAccruingMember