# @readme/data-urls

> A utility for parsing and validating data URLs.

Latest version **4.0.3** (published 2026-06-02) · ISC license · 0 weekly downloads

## Install

```sh
npm install @readme/data-urls
pnpm add @readme/data-urls
yarn add @readme/data-urls
bun add @readme/data-urls
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 4.0.3 |
| Published | 2026-06-02 |
| First published | 2022-07-27 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22 |
| Dependencies | 0 |
| Unpacked size | 16.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Maintainers | gkoberger, domharrington, mjcuva, jonursenbach, rafegoldberg, dannobytes, darrenyong |

## Links

- npm: https://www.npmjs.com/package/@readme/data-urls
- Repository: https://github.com/readmeio/data-urls
- Homepage: https://github.com/readmeio/data-urls#readme
- Issues: https://github.com/readmeio/data-urls/issues
- npm.io page: https://npm.io/package/@readme/data-urls

## Recent versions

- 4.0.3 (latest) — 2026-06-02
- 4.0.2 — 2026-04-06
- 4.0.1 — 2026-04-01
- 4.0.0 — 2026-04-01
- 3.0.1 — 2025-10-24
- 3.0.0 — 2023-09-12
- 2.0.0 — 2023-09-01
- 1.0.1 — 2022-07-27
- 1.0.0 — 2022-07-27

## README

# @readme/data-urls

A utility for parsing and validating [data URLs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).

[![CI](https://github.com/readmeio/data-urls/workflows/CI/badge.svg)](https://github.com/readmeio/data-urls/)
[![](https://img.shields.io/npm/v/@readme/data-urls)](https://npm.im/@readme/data-urls)
[![License](https://img.shields.io/npm/l/@readme/data-urls.svg)](LICENSE)

[![](https://raw.githubusercontent.com/readmeio/.github/main/oss-header.png)](https://readme.io)

This library is a loose fork of [parse-data-url](https://npm.im/parse-data-url) and [valid-data-url](https://npm.im/valid-data-url).

## Installation

```
npm install --save @readme/data-urls
```

## Usage

```js
import { parse, validate } from '@readme/data-urls';

const url =
  'data:image/png;name=owlbert-shrub.png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNUlEQVR4AWJkIA2wCQHqJgcouZ0ADv+SmayR28PibPOP2jafzdp6Lh/v2bVt2+1zbdvtbtbMpGfmvmD8jStc9uB3v75gdNmqtJqsa6qCDEBPRVH7XpKk1P9yHLZv3mG6keV9BIsWGqNuvNaiy+YoARFIXFXwf6Frjz/X9oS4LNRkty4QH/0MSnnWDHORHV3pJsiozRk0zWW/9MEi0A9ffqOhf5RRDW6SGLT/ZXcT8C1hWvao8iF1c4ecKx5eejW1bii1y1asW14P5XsUNkogmvVQg2aPLOnrqss9qE81OYlAucRrN/LrqlBSWYufv34jq7gKseA7MCr0IOhffForGsTWDBJnqE2/B0H+hKRRG3DtxEGk6QBZQ9UFClMSnTJe/cCVI5uQJJpx+8AyOBUPPv+JIpJjgJqCZzKT0AGdAgT/1OLtSzsKI2/gspnxvGExZYFADcoSsqM10SADF4jC4TCCUDN8nih+eoIgPAdGeajBNxyMH20JwsPNMwSicUjBCAwmAZ6GkCmA7I+qCxTGRHSkVzZiCRmKAsRkuVmWiENrt6gL5Di7iw4oogFSINIkCTU09hNAP64CREPUBbzAx9ABrc2I3w2NeY5DMByHu8AGY3YyeoKIuSmBWCD6OuqLPJXe/Dpvkb3FuoDbdENKuBVJ4nxZJpKgWoUXCMcYUwBwDfR8FxZPN4wfWK2Zunq7tGLmZMOc7x7ZUn/RuDmrX0H/4FffQ2teylCecuWmDNsTnainfwFPuNZTR3MemwAAAABJRU5ErkJggg==';

console.log(validate(url)); // true
console.log(parse(url));
```

```js
{
  mediaType: 'image/png;name=owlbert-shrub.png',
  contentType: 'image/png',
  name: 'owlbert-shrub.png',
  base64: true,
  data: 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNUlEQVR4AWJkIA2wCQHqJgcouZ0ADv+SmayR28PibPOP2jafzdp6Lh/v2bVt2+1zbdvtbtbMpGfmvmD8jStc9uB3v75gdNmqtJqsa6qCDEBPRVH7XpKk1P9yHLZv3mG6keV9BIsWGqNuvNaiy+YoARFIXFXwf6Frjz/X9oS4LNRkty4QH/0MSnnWDHORHV3pJsiozRk0zWW/9MEi0A9ffqOhf5RRDW6SGLT/ZXcT8C1hWvao8iF1c4ecKx5eejW1bii1y1asW14P5XsUNkogmvVQg2aPLOnrqss9qE81OYlAucRrN/LrqlBSWYufv34jq7gKseA7MCr0IOhffForGsTWDBJnqE2/B0H+hKRRG3DtxEGk6QBZQ9UFClMSnTJe/cCVI5uQJJpx+8AyOBUPPv+JIpJjgJqCZzKT0AGdAgT/1OLtSzsKI2/gspnxvGExZYFADcoSsqM10SADF4jC4TCCUDN8nih+eoIgPAdGeajBNxyMH20JwsPNMwSicUjBCAwmAZ6GkCmA7I+qCxTGRHSkVzZiCRmKAsRkuVmWiENrt6gL5Di7iw4oogFSINIkCTU09hNAP64CREPUBbzAx9ABrc2I3w2NeY5DMByHu8AGY3YyeoKIuSmBWCD6OuqLPJXe/Dpvkb3FuoDbdENKuBVJ4nxZJpKgWoUXCMcYUwBwDfR8FxZPN4wfWK2Zunq7tGLmZMOc7x7ZUn/RuDmrX0H/4FffQ2teylCecuWmDNsTnainfwFPuNZTR3MemwAAAABJRU5ErkJggg==',
  toBuffer: [Function (anonymous)]
}
```

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