<?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>0001450652</rptOwnerCik>
            <rptOwnerName>Boessen Douglas G.</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>CFO and Treasurer</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>1484</value>
                    <footnoteId id="F1"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>97.43</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>29310</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>2955</value>
                    <footnoteId id="F3"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>32265</value>
                    <footnoteId id="F4"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <footnotes>
        <footnote id="F1">On December 15, 2019, 3,916 shares that were acquired pursuant to previously granted restricted stock unit awards vested and were released to the reporting person. Of those 3,916 shares, 1,484 shares were withheld to pay the resulting tax liability.</footnote>
        <footnote id="F2">Includes 8,590 unvested shares acquired pursuant to restricted stock units awards previously granted and 288 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,955 restricted stock units, which vest in three equal annual installments, beginning on December 15, 2020.</footnote>
        <footnote id="F4">Includes 11,545 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>
