XML 21 R57.htm IDEA: XBRL DOCUMENT v2.4.1.9
Pensions and other postretirement benefits (Details 1) (CAD)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 100.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations 100.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations  
Expected going concern basis excess (deficit) funded status 1,900,000,000cni_ExpectedGoingConcernDefinedBenefitPlanFundedStatusOfPlan    
Expected solvency basis excesss (deficit) funded status 1,100,000,000cni_ExpectedDefinedBenefitPlanFundedStatusOfPlan    
Actual contributions for all pension plans contributed in next fiscal year 80,000,000cni_DefinedBenefitPlanAcutalEmployerContributionsInNextFiscalYear    
Target long-term asset mix 100.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations    
Fair Value of Plan Assets 17,761,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets 16,869,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets  
Going concern basis excess (deficit) funded status 1,600,000,000cni_GoingConcernDefinedBenefitPlanFundedStatusOfPlan    
Solvency basis excesss (deficit) funded status 1,700,000,000cni_DefinedBenefitPlanFundedSolvencyBasisStatusOfPlan    
Percentage of bonds rated investment grade (in hundredths) 82.00%cni_DefinedBenefitPlanPercentageOfBondsHeldInShortTermInvestmentsThatAreInvestmentGradeIssuedByGovernments    
Maximum percentage of equity investments allocated to an individual issuer (in hundredths) 2.00%cni_DefinedBenefitPlanMaximumPercentageOfEquityInvestmentsAllocatedToIndividualIssuer    
Maximum percentage of equity investments allocated to an industry sector (in hundredths) 23.00%cni_DefinedBenefitPlanMaximumPercentageOfEquityInvestmentsAllocatedToIndustrySector    
Percentage of plans exposed to the Canadian dollar 65.00%cni_DefinedBenefitPlanForeignCurrencyRiskPercentageExposureCanadianDollar    
Percentage of plans exposed to the European currencies 7.00%cni_DefinedBenefitPlanForeignCurrencyRiskPercentageExposureEuropeanCurrencies    
Percentage of plans exposed to the US dollar 16.00%cni_DefinedBenefitPlanForeignCurrencyRiskPercentageExposureUsDollar    
Percentage of plans exposed to various other currencies 12.00%cni_DefinedBenefitPlanForeignCurrencyRiskPercentageExposureOtherCurrencies    
Contributions for the defined contribution plans which are expensed as incurred 16,000,000us-gaap_DefinedContributionPlanCostRecognized 13,000,000us-gaap_DefinedContributionPlanCostRecognized 11,000,000us-gaap_DefinedContributionPlanCostRecognized
Total payments that the Company cancelled in relation to the annual retirement benefit due to the former CEO     1,500,000cni_SuspendedAnnualRetirementBenefitPayment
Multiemployer Plans [Abstract]      
Contributions for the multiemployer benefit plan for the period 10,000,000us-gaap_MultiemployerPlanPeriodContributions 10,000,000us-gaap_MultiemployerPlanPeriodContributions 11,000,000us-gaap_MultiemployerPlanPeriodContributions
Description of Multiemployer Plan Under collective bargaining agreements, the Company participates in a multi-employer benefit plan named the Railroad Employees National Early Retirement Major Medical Benefit Plan which is administered by the National Carriers’ Conference Committee (NCCC), and provides certain postretirement health care benefits to certain retirees.    
Multiemployer plan annual rate per month per active employee 141.29cni_MultiemployerPlansContributionAnnualRate 143.21cni_MultiemployerPlansContributionAnnualRate  
Multiemployer plan retirees covered 807cni_MultiemployerPlansEmployees 867cni_MultiemployerPlansEmployees  
Settlement Gain Related To Termination Of Former CEO Retirement Plan     20,000,000cni_SettlementGainRelatedToTerminationOfFormerCeoRetirementPlan
Recognition Past Accumulated Actuarial Loss 4,000,000cni_RecognitionPastAccumulatedActuarialLoss    
Accumulated Prepayments Available To Offset Future Required Solvency Deficit Payments 143,000,000cni_AccumulatedPrepaymentsAvailableToOffsetFutureRequiredSolvencyDeficitPayments    
Contributions In Excess Of Required Minimum Contributions   100,000,000cni_ContributionsInExcessOfRequiredMinimumContributions  
Irrevocable Standby Letter Of Credit Regarding BC Rail Pension Plan 3,000,000cni_IrrevocableStandByLetterOfCreditRegardingBCRailPensionPlan    
Letter Of Credit Total, expected to be 90,000,000cni_LetterOfCreditTotal    
Cash Contribution To Pension Plan, expected to be 125,000,000cni_CashContributionToPensionPlan    
Total Investment Assets [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 17,746,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
16,808,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
 
Cash and short-term investments [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 3.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
5.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
 
Target long-term asset mix 3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
   
Fair Value of Plan Assets 579,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
897,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
 
Canada And Supranational [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 1,450,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
1,416,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
 
Provinces of Canada and Municipalities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 2,701,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
2,297,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
 
Corporate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 618,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
111,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
 
Emerging Market Debt [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 296,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
261,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
 
Mortgages [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 131,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
166,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
 
Canadian Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 2,096,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
2,160,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
 
Us Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 1,493,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
1,307,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
 
International Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 3,425,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
3,421,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
 
Real estate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 2.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
2.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
 
Target long-term asset mix 4.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
   
Fair Value of Plan Assets 317,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
299,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
 
Oil And Gas [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 8.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
8.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
 
Target long-term asset mix 7.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
   
Fair Value of Plan Assets 1,374,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
1,380,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
 
Infrastructure [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 5.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
5.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
 
Target long-term asset mix 4.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
   
Fair Value of Plan Assets 885,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
788,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
 
Multi Strategy Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 591,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
460,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
 
Fixed Income Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 471,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
519,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
 
Commodity [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 1,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CommodityFundMember
   
Equity Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 299,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
391,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
 
Global Macro Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 384,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
328,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
 
Bonds Mortgages [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 29.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_BondsMortgagesMember
25.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_BondsMortgagesMember
 
Target long-term asset mix 37.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_BondsMortgagesMember
   
Risk Based Allocation [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 4.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
4.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
 
Target long-term asset mix 0.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
   
Fair Value of Plan Assets 635,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
607,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
 
Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 39.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquitiesMember
41.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquitiesMember
 
Target long-term asset mix 45.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquitiesMember
   
Absolute Return [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Actual asset allocation 10.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_AbsoluteReturnMember
10.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_AbsoluteReturnMember
 
Target long-term asset mix 0.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_AbsoluteReturnMember
   
Other Plan Assets [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 15,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OtherPlanAssetsMember
61,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OtherPlanAssetsMember
 
Fair Value Level 1 [Member] | Total Investment Assets [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 7,417,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
7,273,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Cash and short-term investments [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 64,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
16,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Canada And Supranational [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Provinces of Canada and Municipalities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Corporate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Emerging Market Debt [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Mortgages [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Canadian Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 2,072,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2,138,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Us Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 1,493,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,307,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | International Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 3,425,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3,421,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Real estate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Oil And Gas [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 349,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
379,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Infrastructure [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 14,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
10,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Multi Strategy Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Fixed Income Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Commodity [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CommodityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Fair Value Level 1 [Member] | Equity Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Global Macro Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 1 [Member] | Risk Based Allocation [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value Level 2 [Member] | Total Investment Assets [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 8,173,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
7,557,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Cash and short-term investments [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 515,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
881,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Canada And Supranational [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 1,450,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1,416,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Provinces of Canada and Municipalities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 2,701,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
2,297,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Corporate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 618,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
111,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Emerging Market Debt [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 296,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
261,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Mortgages [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 131,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
166,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Canadian Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Us Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | International Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Real estate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Oil And Gas [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 17,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
40,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Infrastructure [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 107,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
115,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Multi Strategy Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 591,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
460,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Fixed Income Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 428,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
486,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Commodity [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 1,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CommodityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Fair Value Level 2 [Member] | Equity Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 299,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
389,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Global Macro Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 384,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
328,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 2 [Member] | Risk Based Allocation [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 635,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
607,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value Level 3 [Member] | Total Investment Assets [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 2,156,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1,978,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_TotalInvestmentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Cash and short-term investments [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Canada And Supranational [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadaAndSupranationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Provinces of Canada and Municipalities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_ProvincesOfCanadaAndMunicipalitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Corporate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateBondSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Emerging Market Debt [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EmergingMarketDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Mortgages [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgagesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Canadian Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 24,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
22,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CanadianEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Us Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_UsEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | International Equities [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InternationalEquitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Real estate [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 317,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
299,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Oil And Gas [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 1,008,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
961,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_OilAndGasMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Infrastructure [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 764,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
663,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_InfrastructureMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Multi Strategy Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_MultiStrategyFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Fixed Income Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 43,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
33,000,000us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_FixedIncomeFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Commodity [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_CommodityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
   
Fair Value Level 3 [Member] | Equity Fund [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_EquityFundMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Global Macro Funds [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_GlobalMacroFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value Level 3 [Member] | Risk Based Allocation [Member]      
Schedule Of Defined Benefit Plans Fair Value Of Plan Assets Disclosures [Line Items]      
Fair Value of Plan Assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= cni_RiskBasedAllocationMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member