Apache Software Foundation > Apache POI

Apache POI - Download Release Artifacts

Available Downloads

This page provides instructions on how to download and verify the Apache POI release artifacts. There are different versions available depending on how stable your code should be.

Apache POI releases are available under the Apache License, Version 2.0. See the NOTICE file contained in each release artifact for applicable copyright attribution notices.

To ensure that you have downloaded the true release you should verify the integrity of the files using the signatures and checksums available from this page.

25 November 2023 - POI 5.2.5 available

The Apache POI team is pleased to announce the release of 5.2.5. Featured are a handful of new areas of functionality and numerous bug fixes.

A summary of changes is available in the Release Notes. A full list of changes is available in the change log. People interested should also follow the dev list to track progress.

The POI source release is listed below. Pre-built versions of all POI components are available in the central Maven repository under Group ID "org.apache.poi" and Version "5.2.5".

Source Distribution

Binary Artifacts

POI 5.2.3 was the last version where we produced a set of poi-bin*.zip and poi-bin*.tgz files. We will continue to publish jars to Maven Central. If you are not using a build tool like Apache Maven or Gradle, you can still find these jars by traversing the directories at https://repo1.maven.org/maven2/org/apache/poi/.

If you want to download a legacy poi-bin archive, see the archives of all prior releases.


It is essential that you verify the integrity of the downloaded files using the PGP and SHA2 signatures. Please read Verifying Apache HTTP Server Releases for more information on why you should verify our releases. This page provides detailed instructions which you can use for POI artifacts.

The PGP signatures can be verified using PGP or GPG. First download the KEYS file as well as the .asc signature files for the relevant release packages. Make sure you get these files from the main distribution directory, rather than from a mirror. Then verify the signatures.

Batch check of all distribution files:

find . -name "*.sha256" -type f -execdir sha256sum -c {} \;
find . -name "*.sha512" -type f -execdir sha512sum -c {} \;
find . -name "*.asc" -exec gpg --no-secmem-warning --verify {} \;

Sample verification of poi-bin-3.5-FINAL-20090928.tgz

% gpg --import KEYS
gpg: key 12DAE9BE: "Glen Stampoultzis <glens at apache dot org>" not changed
gpg: key 4CEED75F: "Nick Burch <nick at gagravarr dot org>" not changed
gpg: key 84B5A42E: "Rainer Klute <rainer.klute at gmx dot de>" not changed
gpg: key F5BB52CD: "Yegor Kozlov <yegor.kozlov at gmail dot com>" not changed
gpg: Total number processed: 4
gpg: unchanged: 4
% gpg --verify poi-bin-3.5-FINAL-20090928.tgz.asc poi-bin-3.5-FINAL-20090928.tgz
gpg: Signature made Mon Sep 28 10:28:25 2009 PDT using DSA key ID F5BB52CD
gpg: Good signature from "Yegor Kozlov <yegor.kozlov at gmail dot com>"
gpg: aka "Yegor Kozlov <yegor at dinom dot ru>"
gpg: aka "Yegor Kozlov <yegor at apache dot org>"
Primary key fingerprint: 7D77 0C77 6CE7 754E E6AF 23AA 6934 0A02 F5BB 52CD
% gpg --fingerprint F5BB52CD
pub 1024D/F5BB52CD 2007-06-18 [expires: 2012-06-16]
Key fingerprint = 7D77 0C77 6CE7 754E E6AF 23AA 6934 0A02 F5BB 52CD
uid Yegor Kozlov <yegor.kozlov at gmail dot com>
uid Yegor Kozlov <yegor at dinom dot ru>
uid Yegor Kozlov <yegor at apache dot org>
sub 4096g/7B45A98A 2007-06-18 [expires: 2012-06-16]

Release Archives

Apache POI became a top level project in June 2007 and POI 3.0 artifacts were re-released. Prior to that date POI was a sub-project of Apache Jakarta.