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

    <schemaVersion>X0306</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2017-07-28</periodOfReport>

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

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001370840</rptOwnerCik>
            <rptOwnerName>Sarkissian Garo Sarkis</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>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>SVP Business Development</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <transactionDate>
                <value>2017-07-28</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>F</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
                <footnoteId id="F1"/>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>1061</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>19.32</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>192186</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
                <footnoteId id="F2"/>
            </securityTitle>
            <transactionDate>
                <value>2017-07-28</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>A</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>10360</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>202546</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <transactionDate>
                <value>2017-07-29</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>M</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>674</value>
                </transactionShares>
                <transactionPricePerShare>
                    <footnoteId id="F3"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>203220</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <transactionDate>
                <value>2017-07-29</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>F</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
                <footnoteId id="F4"/>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>253</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>19.32</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>202967</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock</value>
            </securityTitle>
            <transactionDate>
                <value>2017-07-29</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>F</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
                <footnoteId id="F5"/>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>845</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>19.32</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>202122</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <derivativeTable>
        <derivativeTransaction>
            <securityTitle>
                <value>Stock Options</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>19.32</value>
            </conversionOrExercisePrice>
            <transactionDate>
                <value>2017-07-28</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>A</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>11160</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <exerciseDate>
                <value>2018-07-28</value>
                <footnoteId id="F6"/>
            </exerciseDate>
            <expirationDate>
                <value>2027-07-28</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common Stock</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>11160</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>11160</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </derivativeTransaction>
        <derivativeTransaction>
            <securityTitle>
                <value>Stock Options</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>19.32</value>
            </conversionOrExercisePrice>
            <transactionDate>
                <value>2017-07-28</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>A</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>8400</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <exerciseDate>
                <footnoteId id="F7"/>
            </exerciseDate>
            <expirationDate>
                <value>2027-07-28</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common Stock</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>8400</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>8400</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </derivativeTransaction>
        <derivativeTransaction>
            <securityTitle>
                <value>Performance Stock Units</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <footnoteId id="F3"/>
            </conversionOrExercisePrice>
            <transactionDate>
                <value>2017-07-29</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>M</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>674</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <exerciseDate>
                <footnoteId id="F8"/>
            </exerciseDate>
            <expirationDate>
                <footnoteId id="F8"/>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common Stock</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>674</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>434</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value></value>
                </natureOfOwnership>
            </ownershipNature>
        </derivativeTransaction>
    </derivativeTable>

    <footnotes>
        <footnote id="F1">On 7/28/17, in connection with the vesting of 2,825 shares of restricted stock held by the reporting person, CalAmp withheld 1,061 shares to pay minimum statutory withholding taxes of $20,498.52.</footnote>
        <footnote id="F2">Securities acquired are 10,360 shares of restricted stock that vest 25% annually beginning 7/28/18.</footnote>
        <footnote id="F3">Performance stock units convert into common stock on a one-for-one basis.</footnote>
        <footnote id="F4">On 7/29/17, in connection with the vesting of 674 shares of performance stock units held by the reporting person, CalAmp withheld 253 shares to pay minimum statutory withholding taxes of $4,887.96.</footnote>
        <footnote id="F5">On 7/29/17, in connection with the vesting of 2,250 shares of restricted stock held by the reporting person, CalAmp withheld 845 shares to pay minimum statutory withholding taxes of $16,325.40.</footnote>
        <footnote id="F6">These stock options become exercisable at the rate of 25% annually beginning 7/28/18.</footnote>
        <footnote id="F7">These stock options vest at the rate of 25% annually beginning 7/28/18 and become exercisable after the stock price has traded at or above 130% of the exercise price for 30 consecutive trading days.</footnote>
        <footnote id="F8">Performance stock units vested on July 29, 2017.</footnote>
    </footnotes>

    <remarks></remarks>

    <ownerSignature>
        <signatureName>Arnel Melgarejo, Attorney-in-fact</signatureName>
        <signatureDate>2017-08-01</signatureDate>
    </ownerSignature>
</ownershipDocument>
[{"type": "4", "sequence": "1", "filename": "edgar.xml", "description": "PRIMARY DOCUMENT", "secsgml_size_bytes": 16862}]
X0306
4
2017-07-28
0000730255
CalAmp Corp.
CAMP
0001370840
Sarkissian Garo Sarkis
CALAMP CORP.
1401 N. RICE AVENUE
OXNARD
CA
93030
0
1
0
0
SVP Business Development
Common Stock
2017-07-28
4
F
0
1061
19.32
D
192186
D
Common Stock
2017-07-28
4
A
0
10360
0
A
202546
D
Common Stock
2017-07-29
4
M
0
674
A
203220
D
Common Stock
2017-07-29
4
F
0
253
19.32
D
202967
D
Common Stock
2017-07-29
4
F
0
845
19.32
D
202122
D
Stock Options
19.32
2017-07-28
4
A
0
11160
0
A
2018-07-28
2027-07-28
Common Stock
11160
11160
D
Stock Options
19.32
2017-07-28
4
A
0
8400
0
A
2027-07-28
Common Stock
8400
8400
D
Performance Stock Units
2017-07-29
4
M
0
674
0
D
Common Stock
674
434
D
On 7/28/17, in connection with the vesting of 2,825 shares of restricted stock held by the reporting person, CalAmp withheld 1,061 shares to pay minimum statutory withholding taxes of $20,498.52.
Securities acquired are 10,360 shares of restricted stock that vest 25% annually beginning 7/28/18.
Performance stock units convert into common stock on a one-for-one basis.
On 7/29/17, in connection with the vesting of 674 shares of performance stock units held by the reporting person, CalAmp withheld 253 shares to pay minimum statutory withholding taxes of $4,887.96.
On 7/29/17, in connection with the vesting of 2,250 shares of restricted stock held by the reporting person, CalAmp withheld 845 shares to pay minimum statutory withholding taxes of $16,325.40.
These stock options become exercisable at the rate of 25% annually beginning 7/28/18.
These stock options vest at the rate of 25% annually beginning 7/28/18 and become exercisable after the stock price has traded at or above 130% of the exercise price for 30 consecutive trading days.
Performance stock units vested on July 29, 2017.
Arnel Melgarejo, Attorney-in-fact
2017-08-01