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

    <schemaVersion>X0306</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2016-01-06</periodOfReport>

    <notSubjectToSection16>0</notSubjectToSection16>

    <issuer>
        <issuerCik>0001433195</issuerCik>
        <issuerName>APPFOLIO INC</issuerName>
        <issuerTradingSymbol>APPF</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001647363</rptOwnerCik>
            <rptOwnerName>Keenan Capital, LLC</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>1229 BURLINGAME AVENUE</rptOwnerStreet1>
            <rptOwnerStreet2>SUITE 201</rptOwnerStreet2>
            <rptOwnerCity>BURLINGAME</rptOwnerCity>
            <rptOwnerState>CA</rptOwnerState>
            <rptOwnerZipCode>94010</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>0</isDirector>
            <isOfficer>0</isOfficer>
            <isTenPercentOwner>1</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle></officerTitle>
            <otherText></otherText>
        </reportingOwnerRelationship>
    </reportingOwner>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001647658</rptOwnerCik>
            <rptOwnerName>Keenan Capital GP, LLC</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>1229 BURLINGAME AVENUE</rptOwnerStreet1>
            <rptOwnerStreet2>SUITE 201</rptOwnerStreet2>
            <rptOwnerCity>BURLINGAME</rptOwnerCity>
            <rptOwnerState>CA</rptOwnerState>
            <rptOwnerZipCode>94010</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>0</isDirector>
            <isOfficer>0</isOfficer>
            <isTenPercentOwner>1</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle></officerTitle>
            <otherText></otherText>
        </reportingOwnerRelationship>
    </reportingOwner>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001647794</rptOwnerCik>
            <rptOwnerName>Keenan Charles J IV</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>1229 BURLINGAME AVENUE</rptOwnerStreet1>
            <rptOwnerStreet2>SUITE 201</rptOwnerStreet2>
            <rptOwnerCity>BURLINGAME</rptOwnerCity>
            <rptOwnerState>CA</rptOwnerState>
            <rptOwnerZipCode>94010</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>0</isDirector>
            <isOfficer>0</isOfficer>
            <isTenPercentOwner>1</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle></officerTitle>
            <otherText></otherText>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>CLASS A COMMON STOCK</value>
            </securityTitle>
            <transactionDate>
                <value>2016-01-06</value>
            </transactionDate>
            <deemedExecutionDate></deemedExecutionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>P</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>100000</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>13.80</value>
                    <footnoteId id="F1"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>850000</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>I</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value>By Partnership</value>
                    <footnoteId id="F2"/>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>CLASS A COMMON STOCK</value>
            </securityTitle>
            <transactionDate>
                <value>2016-01-07</value>
            </transactionDate>
            <deemedExecutionDate></deemedExecutionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>P</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>50000</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>13.80</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>900000</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>I</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value>By Partnership</value>
                    <footnoteId id="F2"/>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <derivativeTable></derivativeTable>

    <footnotes>
        <footnote id="F1">The price reported in Column 4 is a weighted average price.  These shares were purchased in multiple transactions at prices ranging from $13.70 to $13.90, inclusive.  The reporting persons undertake to provide to AppFolio, Inc., any security holder of AppFolio, Inc., or the staff of the Securities and Exchange Commission, upon request, full information regarding the number of shares purchased at each separate price within the range set forth in this footnote (1).</footnote>
        <footnote id="F2">These shares are owned directly by Keenan Capital Fund, LP (&quot;KCF&quot;) and indirectly by Keenan Capital GP, LLC (&quot;KCGP&quot;), the general partner of KCF with voting and investment authority over these shares.  KCGP delegates such authority to Keenan Capital, LLC (&quot;Keenan Capital&quot;), the manager of KCF.  Accordingly, KCGP disclaims beneficial ownership of these shares, except to the extent of any pecuniary interest KCGP may have therein.  As sole owner and Manager of Keenan Capital, Charles J. Keenan, IV (&quot;Mr. Keenan&quot;) may be deemed to be the indirect beneficial owner of these shares.</footnote>
    </footnotes>

    <remarks></remarks>

    <ownerSignature>
        <signatureName>/s/ Charles J. Keenan, IV, Authorized Officer</signatureName>
        <signatureDate>2016-01-08</signatureDate>
    </ownerSignature>

    <ownerSignature>
        <signatureName>/s/ Charles J. Keenan, IV</signatureName>
        <signatureDate>2016-01-08</signatureDate>
    </ownerSignature>
</ownershipDocument>
