<?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>0001239784</rptOwnerCik>
            <rptOwnerName>ETKIND ANDREW R</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>MUEHLENTALSTRASSE 2</rptOwnerStreet1>
            <rptOwnerStreet2></rptOwnerStreet2>
            <rptOwnerCity>SCHAFFHAUSEN</rptOwnerCity>
            <rptOwnerState>V8</rptOwnerState>
            <rptOwnerZipCode>8200</rptOwnerZipCode>
            <rptOwnerStateDescription>SWITZERLAND</rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isOfficer>1</isOfficer>
            <officerTitle>VP, General Counsel, Secretary</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>1549</value>
                    <footnoteId id="F1"/>
                </transactionShares>
                <transactionPricePerShare>
                    <value>97.43</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>53342</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>56030</value>
                    <footnoteId id="F4"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <footnotes>
        <footnote id="F1">On December 15, 2019, 4,279 shares that were acquired pursuant to previously granted restricted stock unit awards vested and were released to the reporting person. Of those 4,279 shares, 1,549 shares were withheld to pay the resulting tax liability.</footnote>
        <footnote id="F2">Includes 9,381 unvested shares acquired pursuant to restricted stock units awards previously granted and 59 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 12,069 unvested shares acquired pursuant to the December 15, 2019 restricted stock units award and previously granted restricted stock unit awards.</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>Andrew R. Etkind</signatureName>
        <signatureDate>2019-12-17</signatureDate>
    </ownerSignature>
</ownershipDocument>
