v3.25.4

Leases - Additional Information (Detail) $ in Billions | 6 Months Ended
--- | ---
Dec. 31, 2025 USD ($)
Operating Lease |
Lessee, Lease, Description [Line Items] |
Additional leases, primarily for datacenters, that have not yet commenced | $ 155.1
Finance Lease |
Lessee, Lease, Description [Line Items] |
Additional leases, primarily for datacenters, that have not yet commenced | $ 155.1
Minimum |
Lessee, Lease, Description [Line Items] |
Operating and Finance leases, remaining lease terms | 1 year
Additional operating leases that have not yet commenced, lease terms | 1 year
Additional finance leases that have not yet commenced, lease terms | 1 year
Maximum |
Lessee, Lease, Description [Line Items] |
Operating and Finance leases, remaining lease terms | 20 years
Operating leases, options to extend leases term | 5 years
Finance leases, options to extend leases term | 5 years
Operating and Finance leases, options to terminate leases term | 1 year
Additional operating leases that have not yet commenced, lease terms | 20 years
Additional finance leases that have not yet commenced, lease terms | 20 years

X
- Definition Lessee, operating and finance leases options to terminate leases term. + References No definition available. + Details
Name: | msft_LesseeOperatingAndFinanceLeasesOptionsToTerminateLeasesTerm
Namespace Prefix: | msft_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Lessee, operating and finance leases remaining lease term. + References No definition available. + Details
Name: | msft_LesseeOperatingAndFinanceLeasesRemainingLeaseTerm
Namespace Prefix: | msft_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Term of lessee's finance lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3 + Details
Name: | us-gaap_LesseeFinanceLeaseLeaseNotYetCommencedTermOfContract1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Term of lessee's finance lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3 + Details
Name: | us-gaap_LesseeFinanceLeaseRenewalTerm1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 7A -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3 + Details
Name: | us-gaap_LesseeLeaseDescriptionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3 + Details
Name: | us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3 + Details
Name: | us-gaap_LesseeOperatingLeaseRenewalTerm
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of unrecorded obligation to transfer funds in future for fixed or minimum amount or quantity of product and service at fixed or minimum price. Includes, but is not limited to, lease not yet commenced and take-or-pay and throughput contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 440 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3 + Details
Name: | us-gaap_UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_LeaseContractualTermAxis=msft_OperatingLeaseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LeaseContractualTermAxis=msft_FinanceLeaseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |