Checks if a Buffer/Uint8Array contains a Animated PNG / APNG image.
Important
This is only a quick detect method and does not do full (A)PNG file validation.
For security and file integrity sensitive operations, use a true (A)PNG validator (see also specs).
$ npm install is-apng
import { readFile } from 'node:fs/promises'
import isApng from 'is-apng'
const buffer = await readFile('image.png')
isApng(buffer)
// => true
Note: As of version 1.2, Node versions below 18 are not supported.
import isApng from 'is-apng'
const response = await fetch('image.png')
const buffer = await response.arrayBuffer()
isApng(new Uint8Array(buffer))
// => true
Url for latest version: https://unpkg.com/is-apng
Url for specific version: https://unpkg.com/is-apng@1.2.0/dist/index.js
<script src="https://unpkg.com/is-apng" type="text/javascript"></script>
<script type="text/javascript">
console.log(typeof isApng);
// isApng(...)
</script>
Url for latest version: https://unpkg.com/is-apng/dist/index.mjs
Url for specific version: https://unpkg.com/is-apng@1.2.0/dist/index.mjs
<script type="module">
import isApng from 'https://unpkg.com/is-apng/dist/index.mjs'
console.log(typeof isApng);
// isApng(...)
</script>
or
<script async src="https://unpkg.com/es-module-shims@1.3.6/dist/es-module-shims.js"></script>
<script type="importmap">
{
"imports": {
"is-apng": "https://unpkg.com/is-apng/dist/index.mjs"
}
}
</script>
<script type="module">
import isApng from 'is-apng'
console.log(typeof isApng);
// isApng(...)
</script>
Accepts a Buffer (Node.js) or Uint8Array. Returns a boolean
of whether buffer
is a APNG image.
The buffer to check.
- is-png - Check if a Buffer/Uint8Array is a PNG image
by Sindre Sorhus
MIT © Philip van Heemstra