---
title: Apache NiFi Downloads
---

<div class="large-space"></div>
<div class="row">
    <div class="large-12 columns">
        <h1 class="nifi-txt">
            <span>
                Apache <span class="ni">ni</span><span class="fi">fi</span> Downloads
            </span>
        </h1>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
        <p>To verify the downloads please follow these <a href="https://www.apache.org/info/verification.html">procedures</a>
            using these <a href="https://www.apache.org/dist/nifi/KEYS">KEYS</a></p>
        <p>If a download is not found please allow up to 24 hours for the mirrors to sync.</p>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
        <h2>Releases</h2>
        <ul>
            <li><h3>1.9.0</h3>
                <ul>
                    <li>Released February 19, 2019</li>
                    <li>
                        Sources:
                        <ul>
                            <li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/1.9.0/nifi-1.9.0-source-release.zip">nifi-1.9.0-source-release.zip</a> [53 MB] ( <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-source-release.zip.asc">asc</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-source-release.zip.sha256">sha256</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-source-release.zip.sha512">sha512</a> )</li>
                        </ul>
                    </li>
                    <li>
                        Binaries
                        <ul>
                            <li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/1.9.0/nifi-1.9.0-bin.tar.gz">nifi-1.9.0-bin.tar.gz</a> [1.2 GB] ( <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-bin.tar.gz.asc">asc</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-bin.tar.gz.sha256">sha256</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-bin.tar.gz.sha512">sha512</a> )</li>

                            <li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/1.9.0/nifi-1.9.0-bin.zip">nifi-1.9.0-bin.zip</a> [1.2 GB] ( <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-bin.zip.asc">asc</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-bin.zip.sha256">sha256</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-1.9.0-bin.zip.sha512">sha512</a> )</li>


                            <li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/1.9.0/nifi-toolkit-1.9.0-bin.tar.gz">nifi-toolkit-1.9.0-bin.tar.gz</a> [42 MB] ( <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-toolkit-1.9.0-bin.tar.gz.asc">asc</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-toolkit-1.9.0-bin.tar.gz.sha256">sha256</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-toolkit-1.9.0-bin.tar.gz.sha512">sha512</a> )</li>

                            <li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/1.9.0/nifi-toolkit-1.9.0-bin.zip">nifi-toolkit-1.9.0-bin.zip</a> [42 MB] ( <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-toolkit-1.9.0-bin.zip.asc">asc</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-toolkit-1.9.0-bin.zip.sha256">sha256</a>, <a href="https://www.apache.org/dist/nifi/1.9.0/nifi-toolkit-1.9.0-bin.zip.sha512">sha512</a> )</li>
                        </ul>
                    </li>
                    <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version1.9.0">Release Notes</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance">Migration Guidance</a></li>
                </ul>
            </li>
            <li><h3>1.8.0</h3>
                <ul>
                    <li>Released October 26, 2018</li>
                    <li> Note: The download links pull from archive.apache.org.  Apache limits how much can be downloaded from this site per day so please avoid automated/continuous downloads from the archives</li>
                    <li>
                        Sources:
                        <ul>
                            <li><a href="https://archive.apache.org/dyn/closer.lua?path=/nifi/1.8.0/nifi-1.8.0-source-release.zip">nifi-1.8.0-source-release.zip</a> [52 MB] ( <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-source-release.zip.asc">asc</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-source-release.zip.sha256">sha256</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-source-release.zip.sha512">sha512</a> )</li>
                        </ul>
                    </li>
                    <li>
                        Binaries
                        <ul>
                            <li><a href="https://archive.apache.org/dyn/closer.lua?path=/nifi/1.8.0/nifi-1.8.0-bin.tar.gz">nifi-1.8.0-bin.tar.gz</a> [1.2 GB] ( <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-bin.tar.gz.asc">asc</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-bin.tar.gz.sha256">sha256</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-bin.tar.gz.sha512">sha512</a> )</li>

                            <li><a href="https://archive.apache.org/dyn/closer.lua?path=/nifi/1.8.0/nifi-1.8.0-bin.zip">nifi-1.8.0-bin.zip</a> [1.2 GB] ( <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-bin.zip.asc">asc</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-bin.zip.sha256">sha256</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-1.8.0-bin.zip.sha512">sha512</a> )</li>


                            <li><a href="https://archive.apache.org/dyn/closer.lua?path=/nifi/1.8.0/nifi-toolkit-1.8.0-bin.tar.gz">nifi-toolkit-1.8.0-bin.tar.gz</a> [42 MB] ( <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-toolkit-1.8.0-bin.tar.gz.asc">asc</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-toolkit-1.8.0-bin.tar.gz.sha256">sha256</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-toolkit-1.8.0-bin.tar.gz.sha512">sha512</a> )</li>

                            <li><a href="https://archive.apache.org/dyn/closer.lua?path=/nifi/1.8.0/nifi-toolkit-1.8.0-bin.zip">nifi-toolkit-1.8.0-bin.zip</a> [42 MB] ( <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-toolkit-1.8.0-bin.zip.asc">asc</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-toolkit-1.8.0-bin.zip.sha256">sha256</a>, <a href="https://archive.apache.org/dist/nifi/1.8.0/nifi-toolkit-1.8.0-bin.zip.sha512">sha512</a> )</li>
                        </ul>
                    </li>
                    <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version1.8.0">Release Notes</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance">Migration Guidance</a></li>
                </ul>
            </li>
        </ul>
    </div>
    <div class="row">
        <div class="large-12 columns">
            <h3>Docker images of convenience binaries are hosted on <a href="https://hub.docker.com/">Docker Hub</a></h3>
            <ul>
                <li><a href="https://hub.docker.com/r/apache/nifi/">Apache NiFi Docker Image</a></li>
            </ul>
        </div>
    </div>
<div class="row">
    <div class="large-12 columns">
        <p>If you need access to older releases they can be found in the <a href="https://archive.apache.org/dist/nifi/">release archives</a>. Please note that the link is to archive.apache.org.  Apache limits how much can be downloaded from this site per day so please avoid automated/continuous downloads from the archives.</p>
    </div>
</div>
