XML 23 R78.htm IDEA: XBRL DOCUMENT v2.4.1.9
Pension and Postretirement Benefit Plans (Components of net periodic benefit cost and other information) (Details 5) (USD $)
In Millions, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
United States Qualified and Non-qualified Pension Benefits      
Benefit Plan Information      
Total, before other items to reconcile $ 14,818mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
$ 13,895mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Other items to reconcile to fair value of plan assets (175)mmm_DefinedBenefitPlanOtherItemsInFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(6)mmm_DefinedBenefitPlanOtherItemsInFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Fair value of plan assets 14,643us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
13,889us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
13,781us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
United States Qualified and Non-qualified Pension Benefits | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 4,367mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
4,182mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 6,574mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
6,229mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 3,877mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,484mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,531mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
United States Qualified and Non-qualified Pension Benefits | Equities      
Benefit Plan Information      
Total, before other items to reconcile 3,587mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
3,538mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 2,980mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2,919mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 223mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
222mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 384mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
397mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
421mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
United States Qualified and Non-qualified Pension Benefits | U.S. equities      
Benefit Plan Information      
Total, before other items to reconcile 1,769mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
1,601mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | U.S. equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1,766mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,595mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | U.S. equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | U.S. equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. equities      
Benefit Plan Information      
Total, before other items to reconcile 1,215mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
1,325mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1,214mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,324mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Index funds      
Benefit Plan Information      
Total, before other items to reconcile 150mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
152mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Index funds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Index funds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 148mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
151mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Index funds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Long/short equity      
Benefit Plan Information      
Total, before other items to reconcile 453mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
460mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Long/short equity | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Long/short equity | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 71mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
67mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Long/short equity | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 382mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
393mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Fixed income      
Benefit Plan Information      
Total, before other items to reconcile 5,652mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
4,670mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Fixed income | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1,059mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
941mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Fixed income | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 4,593mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3,727mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Fixed income | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
United States Qualified and Non-qualified Pension Benefits | U.S. government securities      
Benefit Plan Information      
Total, before other items to reconcile 1,622mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
1,509mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | U.S. government securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1,032mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
908mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | U.S. government securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 590mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
601mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | U.S. government securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Preferred and convertible securities      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Preferred and convertible securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Preferred and convertible securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Preferred and convertible securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PreferredAndConvertibleSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | U.S. corporate bonds      
Benefit Plan Information      
Total, before other items to reconcile 2,558mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
2,060mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | U.S. corporate bonds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 8mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
14mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | U.S. corporate bonds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 2,550mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
2,046mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | U.S. corporate bonds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. corporate bonds      
Benefit Plan Information      
Total, before other items to reconcile 478mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
412mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. corporate bonds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. corporate bonds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 478mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
412mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. corporate bonds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. government securities      
Benefit Plan Information      
Total, before other items to reconcile 388mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
336mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. government securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 7mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
20mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. government securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 381mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
316mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Non-U.S. government securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Asset-backed securities      
Benefit Plan Information      
Total, before other items to reconcile 20mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
26mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Asset-backed securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Asset-backed securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 20mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
26mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Asset-backed securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Collateralized mortgage obligations      
Benefit Plan Information      
Total, before other items to reconcile 29mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
28mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Collateralized mortgage obligations | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Collateralized mortgage obligations | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 29mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
28mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Collateralized mortgage obligations | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Other securities      
Benefit Plan Information      
Total, before other items to reconcile 31mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
37mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Other securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Other securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 31mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
37mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Other securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Private placements      
Benefit Plan Information      
Total, before other items to reconcile 391mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
253mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Private placements | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Private placements | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 388mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
251mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Private placements | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments      
Benefit Plan Information      
Total, before other items to reconcile 132mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 6mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
(1)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 126mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
6mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Private equity      
Benefit Plan Information      
Total, before other items to reconcile 2,502mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
2,448mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Private equity | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 15mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
21mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Private equity | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Private equity | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 2,487mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,427mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,136mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
United States Qualified and Non-qualified Pension Benefits | Buyouts      
Benefit Plan Information      
Total, before other items to reconcile 700mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
737mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Buyouts | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Buyouts | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Buyouts | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 700mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
737mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments      
Benefit Plan Information      
Total, before other items to reconcile (74)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(97)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Derivative instruments | Level 3      
Benefit Plan Information      
Total, before other items to reconcile (74)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(97)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Direct investments      
Benefit Plan Information      
Total, before other items to reconcile 516mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
467mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Direct investments | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Direct investments | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Direct investments | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 516mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
467mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Distressed debt      
Benefit Plan Information      
Total, before other items to reconcile 202mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
211mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Distressed debt | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Distressed debt | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Distressed debt | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 202mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
211mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Growth equity      
Benefit Plan Information      
Total, before other items to reconcile 198mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
191mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Growth equity | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 15mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
21mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Growth equity | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Growth equity | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 183mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
170mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Mezzanine      
Benefit Plan Information      
Total, before other items to reconcile 116mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
83mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Mezzanine | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Mezzanine | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Mezzanine | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 116mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
83mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Real estate      
Benefit Plan Information      
Total, before other items to reconcile 147mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
156mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Real estate | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Real estate | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Real estate | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 147mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
156mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Secondary      
Benefit Plan Information      
Total, before other items to reconcile 145mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
152mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Secondary | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Secondary | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Secondary | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 145mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
152mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Venture capital      
Benefit Plan Information      
Total, before other items to reconcile 552mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
548mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Venture capital | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Venture capital | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Venture capital | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 552mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
548mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
United States Qualified and Non-qualified Pension Benefits | Absolute return      
Benefit Plan Information      
Total, before other items to reconcile 2,173mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
1,833mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Absolute return | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 26mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Absolute return | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 1,141mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1,175mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Absolute return | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 1,006mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
658mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
865mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
United States Qualified and Non-qualified Pension Benefits | Commodities      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
88mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Commodities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Commodities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
88mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Commodities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
107mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
United States Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents      
Benefit Plan Information      
Total, before other items to reconcile 904mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
1,318mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
United States Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 287mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
301mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
United States Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 617mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1,017mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
United States Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits      
Benefit Plan Information      
Total, before other items to reconcile 5,998mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
5,757mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
Other items to reconcile to fair value of plan assets (41)mmm_DefinedBenefitPlanOtherItemsInFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
1mmm_DefinedBenefitPlanOtherItemsInFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
Fair value of plan assets 5,957us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
5,758us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
5,222us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
International Qualified and Non-qualified Pension Benefits | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1,583mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,750mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 3,813mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3,340mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 602mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
667mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
597mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
International Qualified and Non-qualified Pension Benefits | Equities      
Benefit Plan Information      
Total, before other items to reconcile 2,131mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
2,282mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1,286mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,405mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 841mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
872mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
International Qualified and Non-qualified Pension Benefits | Growth equities      
Benefit Plan Information      
Total, before other items to reconcile 848mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
923mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Growth equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 672mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
733mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Growth equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 176mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
190mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Growth equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityPublicMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Value equities      
Benefit Plan Information      
Total, before other items to reconcile 618mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
667mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Value equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 595mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
653mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Value equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 23mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
14mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Value equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ValueEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Core equities      
Benefit Plan Information      
Total, before other items to reconcile 665mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
692mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Core equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 19mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
19mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Core equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 642mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
668mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Core equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_CoreEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Fixed income      
Benefit Plan Information      
Total, before other items to reconcile 2,915mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
2,565mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Fixed income | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 133mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
228mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Fixed income | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 2,763mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
2,300mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Fixed income | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 19mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
37mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
36mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
International Qualified and Non-qualified Pension Benefits | Domestic government debt      
Benefit Plan Information      
Total, before other items to reconcile 632mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
741mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Domestic government debt | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 87mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
199mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Domestic government debt | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 542mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
539mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Domestic government debt | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DomesticGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Foreign government debt      
Benefit Plan Information      
Total, before other items to reconcile 861mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
686mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Foreign government debt | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 45mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
28mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Foreign government debt | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 816mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
657mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Foreign government debt | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Corporate debt securities      
Benefit Plan Information      
Total, before other items to reconcile 621mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
659mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Corporate debt securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Corporate debt securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 615mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
638mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Corporate debt securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
20mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Mortgage backed debt      
Benefit Plan Information      
Total, before other items to reconcile 82mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
75mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Mortgage backed debt | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Mortgage backed debt | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 82mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
75mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Mortgage backed debt | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Other - debt obligations      
Benefit Plan Information      
Total, before other items to reconcile 719mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
404mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Other - debt obligations | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Other - debt obligations | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 708mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
391mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Other - debt obligations | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 11mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
13mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherDebtObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Private equity      
Benefit Plan Information      
Total, before other items to reconcile 154mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
165mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Private equity | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Private equity | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 73mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
87mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Private equity | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 78mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
75mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
71mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
International Qualified and Non-qualified Pension Benefits | Private equity funds      
Benefit Plan Information      
Total, before other items to reconcile 23mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
22mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Private equity funds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Private equity funds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Private equity funds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 23mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
22mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Real estate      
Benefit Plan Information      
Total, before other items to reconcile 131mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
143mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Real estate | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Real estate | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 73mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
87mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Real estate | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 55mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
53mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Absolute return      
Benefit Plan Information      
Total, before other items to reconcile 605mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
619mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Absolute return | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Absolute return | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 104mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
67mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Absolute return | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 501mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
550mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
485mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
International Qualified and Non-qualified Pension Benefits | Hedge funds      
Benefit Plan Information      
Total, before other items to reconcile 117mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
118mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Hedge funds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Hedge funds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 95mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
62mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Hedge funds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 22mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
56mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Insurance      
Benefit Plan Information      
Total, before other items to reconcile 476mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
492mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Insurance | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Insurance | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Insurance | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 476mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
492mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_InsuranceContractsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Derivatives - absolute return      
Benefit Plan Information      
Total, before other items to reconcile (4)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Derivatives - absolute return | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Derivatives - absolute return | Level 2      
Benefit Plan Information      
Total, before other items to reconcile (4)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Derivatives - absolute return | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnDerivativesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Other - absolute return      
Benefit Plan Information      
Total, before other items to reconcile 16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Other - absolute return | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Other - absolute return | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 13mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Other - absolute return | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_OtherAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
International Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents      
Benefit Plan Information      
Total, before other items to reconcile 193mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
126mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
International Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 161mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
112mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
International Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 32mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
14mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
International Qualified and Non-qualified Pension Benefits | Cash and Cash Equivalents | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits      
Benefit Plan Information      
Total, before other items to reconcile 1,428mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,394mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Other items to reconcile to fair value of plan assets 8mmm_DefinedBenefitPlanOtherItemsInFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
11mmm_DefinedBenefitPlanOtherItemsInFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Fair value of plan assets 1,436us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,405us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,321us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Postretirement Benefits | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 724mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
709mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 494mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
482mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 210mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
203mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
218mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Postretirement Benefits | Equities      
Benefit Plan Information      
Total, before other items to reconcile 676mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
670mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 621mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
610mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 41mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
44mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 14mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Postretirement Benefits | U.S. equities      
Benefit Plan Information      
Total, before other items to reconcile 565mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
552mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | U.S. equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 565mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
552mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | U.S. equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | U.S. equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_USEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Non-U.S. equities      
Benefit Plan Information      
Total, before other items to reconcile 56mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
58mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Non-U.S. equities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 56mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
58mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Non-U.S. equities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Non-U.S. equities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_NonUSEquitiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Index funds      
Benefit Plan Information      
Total, before other items to reconcile 38mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
44mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Index funds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Index funds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 38mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
44mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Index funds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_IndexFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Long/short equity      
Benefit Plan Information      
Total, before other items to reconcile 17mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Long/short equity | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Long/short equity | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Long/short equity | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 14mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_LongShortEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Fixed income      
Benefit Plan Information      
Total, before other items to reconcile 457mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
427mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Fixed income | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 68mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
63mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Fixed income | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 389mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
364mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Fixed income | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Postretirement Benefits | U.S. government securities      
Benefit Plan Information      
Total, before other items to reconcile 254mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
264mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | U.S. government securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 68mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
62mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | U.S. government securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 186mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
202mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | U.S. government securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | U.S. corporate bonds      
Benefit Plan Information      
Total, before other items to reconcile 119mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
96mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | U.S. corporate bonds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | U.S. corporate bonds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 119mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
96mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | U.S. corporate bonds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Non-U.S. corporate bonds      
Benefit Plan Information      
Total, before other items to reconcile 24mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
21mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Non-U.S. corporate bonds | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Non-U.S. corporate bonds | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 24mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
21mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Non-U.S. corporate bonds | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Non-U.S. government securities      
Benefit Plan Information      
Total, before other items to reconcile 17mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
15mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Non-U.S. government securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Non-U.S. government securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 17mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
14mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Non-U.S. government securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_ForeignDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Asset-backed securities      
Benefit Plan Information      
Total, before other items to reconcile 7mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
9mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Asset-backed securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Asset-backed securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 7mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
9mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Asset-backed securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Collateralized mortgage obligations      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Collateralized mortgage obligations | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Collateralized mortgage obligations | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Collateralized mortgage obligations | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Other securities      
Benefit Plan Information      
Total, before other items to reconcile 1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Other securities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Other securities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Other securities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_OtherDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Private placements      
Benefit Plan Information      
Total, before other items to reconcile 25mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Private placements | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Private placements | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 25mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Private placements | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivatePlacementMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Derivative instruments      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Derivative instruments | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Derivative instruments | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Derivative instruments | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Private equity      
Benefit Plan Information      
Total, before other items to reconcile 160mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
162mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Private equity | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Private equity | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Private equity | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 159mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
161mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
170mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_PrivateEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Postretirement Benefits | Buyouts      
Benefit Plan Information      
Total, before other items to reconcile 56mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
58mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Buyouts | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Buyouts | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Buyouts | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 56mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
58mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_BuyoutsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Derivative instruments      
Benefit Plan Information      
Total, before other items to reconcile (3)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(3)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Derivative instruments | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Derivative instruments | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Derivative instruments | Level 3      
Benefit Plan Information      
Total, before other items to reconcile (3)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(3)mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DerivativeInstrumentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Direct investments      
Benefit Plan Information      
Total, before other items to reconcile 19mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Direct investments | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Direct investments | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Direct investments | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 19mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
16mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DirectInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Distressed debt      
Benefit Plan Information      
Total, before other items to reconcile 8mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
7mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Distressed debt | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Distressed debt | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Distressed debt | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 8mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
7mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_DistressedDebtMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Growth equity      
Benefit Plan Information      
Total, before other items to reconcile 8mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
7mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Growth equity | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Growth equity | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Growth equity | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 7mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
6mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_GrowthEquityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Mezzanine      
Benefit Plan Information      
Total, before other items to reconcile 4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Mezzanine | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Mezzanine | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Mezzanine | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_MezzanineMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Real estate      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Real estate | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Real estate | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Real estate | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_RealEstateMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Secondary      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Secondary | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Secondary | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Secondary | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_SecondaryMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Venture capital      
Benefit Plan Information      
Total, before other items to reconcile 58mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
64mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Venture capital | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Venture capital | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Venture capital | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 58mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
64mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VentureCapitalFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Postretirement Benefits | Absolute return      
Benefit Plan Information      
Total, before other items to reconcile 79mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
63mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Absolute return | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 1mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Absolute return | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 41mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
37mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Absolute return | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 37mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
26mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
28mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= mmm_AbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Postretirement Benefits | Commodities      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Commodities | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Commodities | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Commodities | Level 3      
Benefit Plan Information      
Total, before other items to reconcile 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CommoditiesInvestmentMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Postretirement Benefits | Cash and Cash Equivalents      
Benefit Plan Information      
Total, before other items to reconcile 56mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
69mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Postretirement Benefits | Cash and Cash Equivalents | Level 1      
Benefit Plan Information      
Total, before other items to reconcile 33mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
35mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Postretirement Benefits | Cash and Cash Equivalents | Level 2      
Benefit Plan Information      
Total, before other items to reconcile 23mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
34mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Postretirement Benefits | Cash and Cash Equivalents | Level 3      
Benefit Plan Information      
Total, before other items to reconcile $ 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
$ 0mmm_DefinedBenefitPlanFairValueOfPlanAssetsBeforeReconcilingOtherItems
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member