# buffer-image-size

> get dimensions of any image buffer

Latest version **0.6.4** (published 2018-03-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install buffer-image-size
pnpm add buffer-image-size
yarn add buffer-image-size
bun add buffer-image-size
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.4 |
| Published | 2018-03-01 |
| First published | 2018-03-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=4.0 |
| Dependencies | 1 |
| Unpacked size | 16.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 22 |
| Author | netroy |
| Maintainers | jccr |
| Keywords | image, size, dimensions, resolution, width, height, png, jpeg, bmp, gif, psd, webp, svg, ico, cur |

## Links

- npm: https://www.npmjs.com/package/buffer-image-size
- Repository: https://github.com/evidentpoint/buffer-image-size
- Homepage: https://github.com/evidentpoint/buffer-image-size#readme
- Issues: https://github.com/evidentpoint/buffer-image-size/issues
- npm.io page: https://npm.io/package/buffer-image-size

## Dependencies (1)

- [@types/node](https://npm.io/package/@types/node.md) *

## Alternatives

- [@fortawesome/react-fontawesome](https://npm.io/package/@fortawesome/react-fontawesome.md) — 2.2M weekly downloads
- [roboto-fontface](https://npm.io/package/roboto-fontface.md) — 196.0K weekly downloads
- [@react-native-vector-icons/common](https://npm.io/package/@react-native-vector-icons/common.md) — 150.4K weekly downloads
- [@procore/core-icons](https://npm.io/package/@procore/core-icons.md) — 4.6K weekly downloads
- [@react-md/material-icons](https://npm.io/package/@react-md/material-icons.md) — 1.6K weekly downloads

## Recent versions

- 0.6.4 (latest) — 2018-03-01
- 0.6.3 — 2018-03-01
- 0.6.2 — 2018-03-01

## README

# buffer-image-size

A [Node](https://nodejs.org/en/) module to get dimensions of any image ~~file~~ buffer

Fork of [image-size](https://github.com/image-size/image-size)

This fork doesn't use the 'fs' and 'path' node modules.


## Supported formats

* BMP
* CUR
* GIF
* ICO
* JPEG
* PNG
* PSD
* ~~TIFF~~ (no buffer support)
* WebP
* SVG
* DDS

### Upcoming

* SWF

## Programmatic Usage

```
npm install buffer-image-size --save
```

### Synchronous

```javascript
var sizeOf = require('buffer-image-size');
var dimensions = sizeOf(yourImageBuffer);
console.log(dimensions.width, dimensions.height);
```

### Asynchronous

No need for asynchronous usage in this fork.
See the original instead: https://github.com/image-size/image-size

### Multi-size

If the target file is an icon (.ico) or a cursor (.cur), the `width` and `height` will be the ones of the first found image.

An additional `images` array is available and returns the dimensions of all the available images

```javascript
var sizeOf = require('buffer-image-size');
var images = sizeOf(icoBuffer).images;
for (const dimensions of images) {
  console.log(dimensions.width, dimensions.height);
}
```

### Using a URL

```javascript
var url = require('url');
var http = require('http');

var sizeOf = require('buffer-image-size');

var imgUrl = 'http://my-amazing-website.com/image.jpeg';
var options = url.parse(imgUrl);

http.get(options, function (response) {
  var chunks = [];
  response.on('data', function (chunk) {
    chunks.push(chunk);
  }).on('end', function() {
    var buffer = Buffer.concat(chunks);
    console.log(sizeOf(buffer));
  });
});
```

You can optionally check the buffer lengths & stop downloading the image after a few kilobytes.
**You don't need to download the entire image**

## Command-Line Usage (CLI)

No CLI usage in this fork.
See the original instead: https://github.com/image-size/image-size

## Credits

not a direct port, but an attempt to have something like
[dabble's imagesize](https://github.com/dabble/imagesize/blob/master/lib/image_size.rb) as a node module.

## [Contributors](Contributors.md)

---
_Source: https://npm.io/package/buffer-image-size · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
