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

    <schemaVersion>X0306</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2019-12-15</periodOfReport>

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

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001382587</rptOwnerCik>
            <rptOwnerName>Bartel Danny J</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>1200 E. 151ST ST.</rptOwnerStreet1>
            <rptOwnerStreet2></rptOwnerStreet2>
            <rptOwnerCity>OLATHE</rptOwnerCity>
            <rptOwnerState>KS</rptOwnerState>
            <rptOwnerZipCode>66062</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isOfficer>1</isOfficer>
            <officerTitle>VP, Worldwide Sales</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Registered Shares</value>
            </securityTitle>
            <transactionDate>
                <value>2019-12-15</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>F</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>1167</value>
                    <footnoteId id="F1"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>97.43</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>179929</value>
                    <footnoteId id="F2"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Registered Shares</value>
            </securityTitle>
            <transactionDate>
                <value>2019-12-15</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>A</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>2688</value>
                    <footnoteId id="F3"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>182617</value>
                    <footnoteId id="F4"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeHolding>
            <securityTitle>
                <value>Registered Shares</value>
            </securityTitle>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>1400</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>I</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value>Spouse Has Signing Authority For Account That Holds These Shares</value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeHolding>
    </nonDerivativeTable>

    <footnotes>
        <footnote id="F1">On December 15, 2019, 3,968 shares that were acquired pursuant to previously granted restricted stock unit awards vested and were released to the reporting person. Of those 3,968 shares, 1,167 shares were withheld to pay the resulting tax liability.</footnote>
        <footnote id="F2">Includes 8,673 unvested shares acquired pursuant to restricted stock units awards previously granted and 399 shares acquired by the reporting person in June 2019 under the Garmin Ltd. Employee Stock Purchase Plan.</footnote>
        <footnote id="F3">On December 15, 2019 the reporting person received a grant of 2,688 restricted stock units, which vest in three equal annual installments, beginning on December 15, 2020.</footnote>
        <footnote id="F4">Includes 11,361 unvested shares acquired pursuant to the December 15, 2019 restricted stock units award and previously granted restricted stock unit awards.</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>By Joshua H. Maxfield, Attorney-in-Fact</signatureName>
        <signatureDate>2019-12-17</signatureDate>
    </ownerSignature>
</ownershipDocument>
