v3.20.4

Significant Accounting Policies and Basis of Presentation - Schedule of Allowance for Doubtful Accounts (Details) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Movement in Valuation Allowances and Reserves [Roll Forward] |  |  |
Beginning balance | $ (27,521) |  |
Ending balance | (41,236) | $ (27,521) |
Allowance for Doubtful Accounts |  |  |
Movement in Valuation Allowances and Reserves [Roll Forward] |  |  |
Beginning balance | (1,140) | (686) | $ (63)
Adjusted balance, beginning of period | (2,206) | (686) | (63)
Charged to revenue | (3,801) | (704) | (876)
Adjustments for recovery and write-off | 1,826 | 250 | 253
Ending balance | (4,181) | $ (1,140) | $ (686)
Allowance for Doubtful Accounts | Accounting Standards Update 2016-13 |  |  |
Movement in Valuation Allowances and Reserves [Roll Forward] |  |  |
Impact of adoption of ASU 2016-13 | $ (1,066) |  |

X
- Definition Valuation allowances and reserves adjustments for recovery and write-off. + References No definition available. + Details
Name: | roku_ValuationAllowancesAndReservesAdjustmentsForRecoveryAndWriteOff
Namespace Prefix: | roku_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Valuation allowances and reserves balance impact of adoption. + References No definition available. + Details
Name: | roku_ValuationAllowancesAndReservesBalanceImpactOfAdoption
Namespace Prefix: | roku_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_MovementInValuationAllowancesAndReservesRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of increase (decrease) in valuation and qualifying accounts and reserves from adjustment. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09) -URI http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesAdjustments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of valuation and qualifying accounts and reserves. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09(Column B)) -URI http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09(Column E)) -URI http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesBalance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09(Column C)(1)) -URI http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201613Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |