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

    <schemaVersion>X0306</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2020-09-10</periodOfReport>

    <issuer>
        <issuerCik>0000914156</issuerCik>
        <issuerName>UFP TECHNOLOGIES INC</issuerName>
        <issuerTradingSymbol>UFPT</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001240682</rptOwnerCik>
            <rptOwnerName>SHAW DANIEL J</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>C/O UFP TECHNOLOGIES, INC.</rptOwnerStreet1>
            <rptOwnerStreet2>100 HALE STREET</rptOwnerStreet2>
            <rptOwnerCity>NEWBURYPORT</rptOwnerCity>
            <rptOwnerState>MA</rptOwnerState>
            <rptOwnerZipCode>01950</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>0</isDirector>
            <isOfficer>1</isOfficer>
            <isTenPercentOwner>0</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle>Vice President</officerTitle>
            <otherText></otherText>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common Stock, $.01 Par Value</value>
            </securityTitle>
            <transactionDate>
                <value>2020-09-10</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>S</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>7759</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>40.8</value>
                    <footnoteId id="F1"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>12274</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <derivativeTable></derivativeTable>

    <footnotes>
        <footnote id="F1">The price reported in Column 4 is a weighted average price. The shares were sold in multiple transactions at prices ranging from $40.63 to $40.92, inclusive. The reporting person undertakes to provide to UFP Technologies, Inc., any security holder of UFP Technologies, Inc., or the staff of the Securities and Exchange Commision, upon request, full information regarding the number of shares sold at each separate price within such range.</footnote>
    </footnotes>

    <remarks></remarks>

    <ownerSignature>
        <signatureName>Patrick J. Kinney, Jr. as attorney-in-fact for Daniel J. Shaw</signatureName>
        <signatureDate>2020-09-11</signatureDate>
    </ownerSignature>
</ownershipDocument>
