XML 132 R110.htm IDEA: XBRL DOCUMENT
v3.21.1

Bonds Payable - Major Terms of Overseas Unsecured Bonds (Detail) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2020 USD ($)
Overseas [member] | Issuance period one [Member] |
Bonds payable [line items] |
Overseas unsecured bonds | $ 1,000.0
Overseas [member] | Issuance period two [Member] |
Bonds payable [line items] |
Overseas unsecured bonds | 750.0
Overseas [member] | Issuance period three [Member] |
Bonds payable [line items] |
Overseas unsecured bonds | $ 1,250.0
Overseas unsecured bonds [member] | Issuance period one [Member] |
Bonds payable [line items] |
Issuance starting period | 2020-09
Issuance ending period | 2025-09
Coupon Rate | 0.75%
Repayment and Interest Payment | Bullet repayment (callable at any time, in whole or in part, at the relevant redemption price according to relevant agreements); interest payable semi-annually
Overseas unsecured bonds [member] | Issuance period two [Member] |
Bonds payable [line items] |
Issuance starting period | 2020-09
Issuance ending period | 2027-09
Coupon Rate | 1.00%
Repayment and Interest Payment | Bullet repayment (callable at any time, in whole or in part, at the relevant redemption price according to relevant agreements); interest payable semi-annually
Overseas unsecured bonds [member] | Issuance period three [Member] |
Bonds payable [line items] |
Issuance starting period | 2020-09
Issuance ending period | 2030-09
Coupon Rate | 1.375%
Repayment and Interest Payment | Bullet repayment (callable at any time, in whole or in part, at the relevant redemption price according to relevant agreements); interest payable semi-annually

X
- Definition The amount of bonds issued by the entity. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Name IAS -Number 1 -IssueDate 2020-01-01 -Paragraph 112 -Subparagraph c -URI http://eifrs.ifrs.org/eifrs/xifrs-link?type=IAS&num=1&code=ifrs-tx-2020-en-r&anchor=para_112_c&doctype=Standard -URIDate 2020-01-01 + Details
Name: | ifrs-full_BondsIssued
Namespace Prefix: | ifrs-full_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Bonds Interest Rate. + References No definition available. + Details
Name: | tsm_BondsInterestRate
Namespace Prefix: | tsm_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Bonds payable issuance ending period. + References No definition available. + Details
Name: | tsm_BondsPayableIssuanceEndingPeriod
Namespace Prefix: | tsm_
Data Type: | xbrli:gYearMonthItemType
Balance Type: | na
Period Type: | duration

X
- Definition Bonds payable issuance starting period. + References No definition available. + Details
Name: | tsm_BondsPayableIssuanceStartingPeriod
Namespace Prefix: | tsm_
Data Type: | xbrli:gYearMonthItemType
Balance Type: | na
Period Type: | duration

X
- Definition Bonds payable. + References No definition available. + Details
Name: | tsm_BondsPayableLineItems
Namespace Prefix: | tsm_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Bonds payable repayment and interest payable description. + References No definition available. + Details
Name: | tsm_BondsPayableRepaymentAndInterestPayableDescription
Namespace Prefix: | tsm_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | ifrs-full_GeographicalAreasAxis=ifrs-full_ForeignCountriesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ifrs-full_MaturityAxis=tsm_IssuancePeriodOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ifrs-full_MaturityAxis=tsm_IssuancePeriodTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ifrs-full_MaturityAxis=tsm_IssuancePeriodThreeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | tsm_UnsecuredDebtSecuritiesAxis=tsm_OverseasUnsecuredBondsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |