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

    <schemaVersion>X0303</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2008-11-21</periodOfReport>

    <issuer>
        <issuerCik>0001267130</issuerCik>
        <issuerName>CABELAS INC</issuerName>
        <issuerTradingSymbol>CAB</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001416321</rptOwnerCik>
            <rptOwnerName>Baldwin Charles</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>C/O CABELA'S INCORPORATED</rptOwnerStreet1>
            <rptOwnerStreet2>ONE CABELA DRIVE</rptOwnerStreet2>
            <rptOwnerCity>SIDNEY,</rptOwnerCity>
            <rptOwnerState>NE</rptOwnerState>
            <rptOwnerZipCode>69160</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>0</isDirector>
            <isOfficer>1</isOfficer>
            <isTenPercentOwner>0</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle>Vice President</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <transactionDate>
                <value>2008-11-21</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>P</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>3000</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>4.35</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>6253</value>
                    <footnoteId id="F1"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeHolding>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>154</value>
                    <footnoteId id="F2"/>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>I</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value>by 401(k) Plan</value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeHolding>
    </nonDerivativeTable>

    <footnotes>
        <footnote id="F1">Includes 253 shares of common stock acquired under the Issuer's Employee Stock Purchase Plan.</footnote>
        <footnote id="F2">The number of shares allocated to the Reporting Person under the Issuer's 401(k) Plan is equal to his November 20, 2008, account balance in the Issuer's stock fund divided by the closing price of the Issuer's common stock on November 20, 2008.  The Issuer's stock fund in its 401(k) Plan is unitized for those participants holding unrestricted stock and as such does not itself allocate a specific number of shares to participants.</footnote>
    </footnotes>

    <remarks></remarks>

    <ownerSignature>
        <signatureName>Brent LaSure, Attorney-in-Fact</signatureName>
        <signatureDate>2008-11-21</signatureDate>
    </ownerSignature>
</ownershipDocument>
