v3.20.4

Leases - Additional Information (Details) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2020 USD ($)
Leases [Line Items] |
Lessee, operating lease, existence of option to extend | true
Lessee, operating lease, existence of option to terminate | true
Commitment relating to operating lease, that have not yet commenced | $ 2.7
Operating leases that have not yet commenced, lease terms | 2 years
Minimum |
Leases [Line Items] |
Remaining lease term, operating lease | 1 year
Maximum |
Leases [Line Items] |
Remaining lease term, operating lease | 10 years

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

X
- Definition Remaining lease term operating lease. + References No definition available. + Details
Name: | roku_RemainingLeaseTermOperatingLease
Namespace Prefix: | roku_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Indicates (true false) whether lessee has option to extend operating lease. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (a)(3) -URI http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980 + Details
Name: | us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend
Namespace Prefix: | us-gaap_
Data Type: | xbrli:booleanItemType
Balance Type: | na
Period Type: | duration

X
- Definition Indicates (true false) whether lessee has option to terminate operating lease. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (a)(3) -URI http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980 + Details
Name: | us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate
Namespace Prefix: | us-gaap_
Data Type: | xbrli:booleanItemType
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 -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980 + Details
Name: | us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of the unrecorded obligation to transfer funds in the future for fixed or minimum amounts or quantities of goods or services at fixed or minimum prices (for example, as in take-or-pay contracts or throughput contracts). + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 440 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308 + Details
Name: | us-gaap_UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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: |