Skip to content

FRSOURCE/is-animated

Β 
Β 

Repository files navigation

NPM version badge GZIP size calculated by bundlejs.com semantic-release badge license MIT badge

is-animated - check if the image is animated 🎞

Getting Started Β· Demo Β· File an Issue Β· Have a question or an idea?


A simple library for detecting animated images.
Works under Node and Browser environments!
Performant & with small bundle size
Supports GIF, PNG, APNG and WebP
Fully typed in Typescript
Published under MIT license


Quick start

Installation

npm install @frsource/is-animated

yarn add @frsource/is-animated

pnpm add @frsource/is-animated

Usage in browser

<input type="file" accept="image/*" />
import isAnimated from '@frsource/is-animated';

const input = document.querySelector('input[type="file"]');

input.addEventListener('change', async function () {
  const arrayBuffer = await this.files[0].arrayBuffer();
  const answer = isAnimated(arrayBuffer) ? 'IS' : 'IS NOT';
  alert(`File "${this.files[0].name}" ${answer} animated.`);
});

If you prefer, you can import this library using unpkg: <script defer src="https://unpkg.com/@frsource/is-animated"></script>

Usage in Node.js

import { readFileSync } from 'fs';
import isAnimated from '@frsource/is-animated';

readFileSync('my-test-file.png', (err, buffer) => {
  const answer = isAnimated(buffer) ? 'IS' : 'IS NOT';
  console.log(`File "my-test-file.png" ${answer} animated.`);
});

Demo

For a working example, check out our demo.

Questions

Don’t hesitate to ask a question directly on the discussion board!

Changelog

Changes for every release are documented in the release notes and CHANGELOG file.

Development

  1. Check out the repository.
  2. Install dependencies using pnpm i.
  3. Run pnpm test to run the test suite.
  4. Run pnpm start and visit http://localhost:3000 to see the documentation page. You can test the library using the demo section.

License

MIT @ 2024-present, Jakub FRS Freisler, FRSOURCE

Forked from qzb's great library: is-animated.