v3.19.3.a.u2

Commitments and Contingencies - Additional Information (Details) - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2019 | Dec. 31, 2018
Commitments And Contingencies [Line Items] |  |
Letters of credit outstanding | $ 31.8 |
Letters of credit expiration date | Dec. 31, 2030 |
Player | Cost of Revenue |  |
Commitments And Contingencies [Line Items] |  |
Expense related to patent infringements | $ 9.9 |
Reversal of revenue contingencies accrual |  | $ 8.9
Intellectual Property Licensing |  |
Commitments And Contingencies [Line Items] |  |
Loss contingencies accrual, change in estimated liabilities |  | 8.9
Manufacturing |  |
Commitments And Contingencies [Line Items] |  |
Purchase commitments for inventory and license | 55.7 | 40.6
Manufacturing | Accrued Liabilities |  |
Commitments And Contingencies [Line Items] |  |
Loss on purchase obligation for inventory | 0.3 | $ 0.1
Content License | Accrued Liabilities |  |
Commitments And Contingencies [Line Items] |  |
Purchase commitments for inventory and license | $ 1.7 |

X
- Definition Commitments and contingencies. + References No definition available. + Details
Name: | roku_CommitmentsAndContingenciesLineItems
Namespace Prefix: | roku_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Letters of credit expiration date. + References No definition available. + Details
Name: | roku_LettersOfCreditExpirationDate
Namespace Prefix: | roku_
Data Type: | xbrli:dateItemType
Balance Type: | na
Period Type: | duration

X
- Definition Loss on purchase obligation. + References No definition available. + Details
Name: | roku_LossOnPurchaseObligation
Namespace Prefix: | roku_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Reversal of revenue contingency accrual. + References No definition available. + Details
Name: | roku_ReversalOfRevenueContingencyAccrual
Namespace Prefix: | roku_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The total amount of the contingent obligation under letters of credit outstanding as of the reporting date. + References No definition available. + Details
Name: | us-gaap_LettersOfCreditOutstandingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of litigation expense, including but not limited to legal, forensic, accounting, and investigative fees. + References No definition available. + Details
Name: | us-gaap_LitigationSettlementExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of increase (decrease) in loss contingency liability. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 450 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=118942415&loc=d3e14326-108349 + Details
Name: | us-gaap_LossContingencyAccrualCarryingValuePeriodIncreaseDecrease
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- Definition Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier. + References No definition available. + Details
Name: | us-gaap_PurchaseObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=roku_PlayerSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=roku_IntellectualPropertyLicensingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=roku_ManufacturingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancialInstrumentAxis=us-gaap_AccruedLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=roku_ContentLicenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |