<?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>0001220897</rptOwnerCik>
            <rptOwnerName>STURM FRED M</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>1</isDirector>
            <isOfficer>1</isOfficer>
            <isTenPercentOwner>0</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle>President &amp; CEO</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>150000</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>150000</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>150000</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>Fred Sturm 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": 3996}]
X0202
4
2005-05-04
0000730255
CalAmp Corp.
CAMP
0001220897
STURM FRED M
C/O CALAMP CORP.
1401 N. RICE AVENUE
OXNARD
CA
93030
1
1
0
0
President & CEO
Employee Stock Option
5.69
2005-05-04
4
A
0
150000
A
2006-05-04
2015-05-04
Common Stock
150000
150000
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.
Fred Sturm by Richard K. Vitelle, Attorney-in-Fact
2005-05-06