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

    <schemaVersion>X0201</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2004-04-15</periodOfReport>

    <issuer>
        <issuerCik>0000104599</issuerCik>
        <issuerName>CIRCUIT CITY STORES INC</issuerName>
        <issuerTradingSymbol>CC</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001184890</rptOwnerCik>
            <rptOwnerName>HARDYMON JAMES F</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1></rptOwnerStreet1>
            <rptOwnerStreet2>9950 MAYLAND DRIVE</rptOwnerStreet2>
            <rptOwnerCity>RICHMOND</rptOwnerCity>
            <rptOwnerState>VA</rptOwnerState>
            <rptOwnerZipCode>23233</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>1</isDirector>
            <isOfficer>0</isOfficer>
            <isTenPercentOwner>0</isTenPercentOwner>
            <isOther>0</isOther>
        </reportingOwnerRelationship>
    </reportingOwner>

    <derivativeTable>
        <derivativeTransaction>
            <securityTitle>
                <value>Circuit City Stores Inc. Performance Rights</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>11.45</value>
            </conversionOrExercisePrice>
            <transactionDate>
                <value>2004-04-15</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>A</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>2.1868</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>11.45</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <exerciseDate>
                <footnoteId id="F1"/>
            </exerciseDate>
            <expirationDate>
                <footnoteId id="F1"/>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>2.1868</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>1432.9606</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </derivativeTransaction>
    </derivativeTable>

    <footnotes>
        <footnote id="F1">This director has chosen to defer their annual stock retainer grants for the years 2000, 2001 and 2002 under the &quot;Directors Deferred Compensation Plan.&quot;  Deferred shares are held as &quot;phantom stock&quot; in a phantom stock account.  Dividends will be reinvested in &quot;phantom stock&quot; units until distributions are made.  The shares underlying the phantom stock units in the director's account will be distributed to the director when he ceases to serve as a director of the company.</footnote>
    </footnotes>

    <remarks></remarks>

    <ownerSignature>
        <signatureName>Alice G. Givens, Attorney in Fact</signatureName>
        <signatureDate>2004-04-19</signatureDate>
    </ownerSignature>
</ownershipDocument>

