<?xml version="1.0"?>
<ownershipDocument>

    <schemaVersion>X0306</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2016-07-21</periodOfReport>

    <issuer>
        <issuerCik>0001274494</issuerCik>
        <issuerName>FIRST SOLAR, INC.</issuerName>
        <issuerTradingSymbol>FSLR</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001234459</rptOwnerCik>
            <rptOwnerName>ANTOUN GEORGES</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>C/O FIRST SOLAR INC.</rptOwnerStreet1>
            <rptOwnerStreet2>350 WEST WASHINGTON STREET, SUITE 600</rptOwnerStreet2>
            <rptOwnerCity>TEMPE</rptOwnerCity>
            <rptOwnerState>AZ</rptOwnerState>
            <rptOwnerZipCode>85281-1244</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isOfficer>1</isOfficer>
            <officerTitle>Chief Commercial Officer</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <transactionDate>
                <value>2016-07-21</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>M</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>176667</value>
                    <footnoteId id="F1"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>186164</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <derivativeTable>
        <derivativeTransaction>
            <securityTitle>
                <value>Performance Units</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <footnoteId id="F2"/>
            </conversionOrExercisePrice>
            <transactionDate>
                <value>2016-07-21</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>M</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>176667</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <exerciseDate>
                <footnoteId id="F3"/>
            </exerciseDate>
            <expirationDate>
                <footnoteId id="F3"/>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common Stock</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>176667</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>0</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeTransaction>
    </derivativeTable>

    <footnotes>
        <footnote id="F1">Represents shares of common stock issuable upon vesting of the second and final tranche of the Key Senior Talent Equity Performance Program (&quot;KSTEPP&quot;) performance units granted to the reporting person on July 2, 2012. On July 21, 2016, the Compensation Committee of the Issuer's Board of Directors (the &quot;Compensation Committee&quot;) certified the Issuer's achievement of the vesting condition for the second tranche of the KSTEPP performance units.</footnote>
        <footnote id="F2">Each performance unit represents the right to receive, upon vesting, one share of the Issuer's common stock.</footnote>
        <footnote id="F3">The performance units were granted on July 2, 2012 in accordance with the Issuer's 2010 Omnibus Incentive Compensation Plan and were to vest in two separate tranches, each contingent upon the achievement of a threshold performance goal and pre-established performance criteria within a defined performance period. Performance Units could not vest unless the participant remained continuously employed by the Issuer through the applicable vesting date, unless the participant was eligible, in certain pre-established circumstances, for a pro-rata settlement. In the event of a change of control of the Issuer during the performance period, regardless of whether the threshold performance goal had been achieved, 25% of the then unvested portion of the performance unit would vest or a different amount as determined by the Compensation Committee. On November 9, 2015, the Compensation Committee had certified the Issuer's achievement of the partial vesting condition for the rolling annual period ended September 30, 2015 (tranche 1), and on July 21, 2016, the Compensation Committee certified the Issuer's achievement of the full vesting condition for the rolling annual period ended June 30, 2016 (tranche 2).</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>/s/ Peter C. Bartolino, Attorney-in-fact</signatureName>
        <signatureDate>2016-07-25</signatureDate>
    </ownerSignature>
</ownershipDocument>
