v3.19.3.a.u2

Stockholders' Equity - Common Stock - Additional Information (Details) | 12 Months Ended
--- | ---
Dec. 31, 2019 Class
Class Of Stock [Line Items] |
Number of classes | 2
Class A Common Stock |
Class Of Stock [Line Items] |
Common stock, voting right | one vote for each share
Class B Common Stock |
Class Of Stock [Line Items] |
Common stock, voting right | ten votes for each share

X
- Definition Number of classes of common stock. + References No definition available. + Details
Name: | roku_NumberOfClassesOfCommonStock
Namespace Prefix: | roku_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

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 No definition available. + Details
Name: | us-gaap_ClassOfStockLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Description of voting rights of common stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644 + Details
Name: | us-gaap_CommonStockVotingRights
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |