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

    <schemaVersion>X0202</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2005-05-04</periodOfReport>

    <issuer>
        <issuerCik>0000730255</issuerCik>
        <issuerName>CalAmp Corp.</issuerName>
        <issuerTradingSymbol>CAMP</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001199289</rptOwnerCik>
            <rptOwnerName>LHEUREUX STEVE</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>C/O CALAMP CORP.</rptOwnerStreet1>
            <rptOwnerStreet2>1401 N. RICE AVENUE</rptOwnerStreet2>
            <rptOwnerCity>OXNARD</rptOwnerCity>
            <rptOwnerState>CA</rptOwnerState>
            <rptOwnerZipCode>93030</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>0</isDirector>
            <isOfficer>1</isOfficer>
            <isTenPercentOwner>0</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle>President, Solutions Division</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <derivativeTable>
        <derivativeTransaction>
            <securityTitle>
                <value>Employee Stock Option</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>5.69</value>
            </conversionOrExercisePrice>
            <transactionDate>
                <value>2005-05-04</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>A</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>30000</value>
                </transactionShares>
                <transactionPricePerShare>
                    <footnoteId id="F2"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <exerciseDate>
                <value>2006-05-04</value>
                <footnoteId id="F1"/>
            </exerciseDate>
            <expirationDate>
                <value>2015-05-04</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common Stock</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>30000</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>30000</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </derivativeTransaction>
    </derivativeTable>

    <footnotes>
        <footnote id="F1">Stock option becomes exercisable at 25% annually beginning on the date indicated in the &quot;Date Exercisable&quot; column.</footnote>
        <footnote id="F2">This is an employee stock option grant and therefore has no purchase price.</footnote>
    </footnotes>

    <remarks></remarks>

    <ownerSignature>
        <signatureName>Steve L'Heureux by Richard K. Vitelle, Attorney-in-fact</signatureName>
        <signatureDate>2005-05-06</signatureDate>
    </ownerSignature>
</ownershipDocument>
[{"type": "4", "sequence": "1", "filename": "edgar.xml", "description": "PRIMARY DOCUMENT", "secsgml_size_bytes": 4010}]
X0202
4
2005-05-04
0000730255
CalAmp Corp.
CAMP
0001199289
LHEUREUX STEVE
C/O CALAMP CORP.
1401 N. RICE AVENUE
OXNARD
CA
93030
0
1
0
0
President, Solutions Division
Employee Stock Option
5.69
2005-05-04
4
A
0
30000
A
2006-05-04
2015-05-04
Common Stock
30000
30000
D
Stock option becomes exercisable at 25% annually beginning on the date indicated in the "Date Exercisable" column.
This is an employee stock option grant and therefore has no purchase price.
Steve L'Heureux by Richard K. Vitelle, Attorney-in-fact
2005-05-06