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

    <schemaVersion>X0306</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2020-02-25</periodOfReport>

    <issuer>
        <issuerCik>0001121788</issuerCik>
        <issuerName>GARMIN LTD</issuerName>
        <issuerTradingSymbol>GRMN</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001801889</rptOwnerCik>
            <rptOwnerName>Munn Matthew</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>28001 CABOT DRIVE</rptOwnerStreet1>
            <rptOwnerStreet2></rptOwnerStreet2>
            <rptOwnerCity>NOVI</rptOwnerCity>
            <rptOwnerState>MI</rptOwnerState>
            <rptOwnerZipCode>48377</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isOfficer>1</isOfficer>
            <officerTitle>VP, Man. Director - Auto OEM</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Registered Shares</value>
            </securityTitle>
            <transactionDate>
                <value>2020-02-25</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>A</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>3774</value>
                    <footnoteId id="F1"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>17153</value>
                    <footnoteId id="F2"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Registered Shares</value>
            </securityTitle>
            <transactionDate>
                <value>2020-02-25</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>F</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>1271</value>
                    <footnoteId id="F3"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>92.00</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>15882</value>
                    <footnoteId id="F4"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <footnotes>
        <footnote id="F1">Shares acquired pursuant to a restricted stock units award granted in February 2019 that had both performance-based and time-based vesting conditions. The performance-based vesting conditions have been satisfied, and now the award is subject only to time-based vesting conditions. The award vests in three equal annual installments beginning on February 25, 2020.</footnote>
        <footnote id="F2">Includes 10,682 unvested shares acquired pursuant to previously granted restricted stock units awards and the 3,774 unvested shares acquired pursuant to the restricted stock units award described in Footnote 1.</footnote>
        <footnote id="F3">1,258 shares that were acquired by the reporting person pursuant to the restricted stock units award described in Footnote 1 and 3,135 shares that were acquired by the reporting person pursuant to other previously granted restricted stock unit awards vested and were paid to the reporting person. Of these shares, 1,271 shares were withheld to pay a resulting tax liability.</footnote>
        <footnote id="F4">Includes 7,547 unvested shares acquired pursuant to previously granted restricted stock unit awards and 2,516 remaining unvested shares acquired pursuant to the restricted stock units award described in Footnote 1.</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>/s/ Paul E. Cassat, Attorney-in-Fact</signatureName>
        <signatureDate>2020-02-27</signatureDate>
    </ownerSignature>
</ownershipDocument>
