> ## Documentation Index
> Fetch the complete documentation index at: https://docs.passform.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Image dimensions

> Required sizes for icons, logos, banners, and other pass images

Passform automatically generates the required image variants from a single upload. All images are converted to PNG during processing.

**Max file size:** 10 MB per image.

## Image types

The dimensions below are the **minimum recommended sizes** to upload.

| Image      | Minimum dimensions | Notes                                                                                                                                | Platforms                            |
| ---------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------ |
| Icon       | 58 × 58 px         | Square icon shown in Apple Wallet and the web pass viewer.                                                                           | Apple Wallet, Web                    |
| Logo       | 320 × 100 px       | Displayed at the top of a pass alongside the issuer name.                                                                            | Apple Wallet, Google Wallet          |
| Banner     | 750 × 246 px       | Main hero image on the front of a pass. Apple Wallet calls this the strip image. Also used in link previews when sharing a pass URL. | Apple Wallet, Google Wallet          |
| Background | 1920 × 1080 px     | Full-bleed background image for the web pass viewer. If omitted, `backgroundColor` is used instead.                                  | Web                                  |
| Thumbnail  | 180 × 180 px       | Square image displayed alongside the primary field on generic passes. Replaces the banner in Apple Wallet when set.                  | Apple Wallet only (`generic` passes) |

## Platform support

| Image      | Apple Wallet | Google Wallet | Web |
| ---------- | :----------: | :-----------: | :-: |
| Icon       |       ✓      |               |  ✓  |
| Logo       |       ✓      |       ✓       |     |
| Banner     |       ✓      |       ✓       |     |
| Background |              |               |  ✓  |
| Thumbnail  |       ✓      |               |     |

## Uploading images

Upload images via the dashboard or the API. You only need to provide one file per image type.

If you upload images via the Passform API, they are automatically resized to the appropriate variants for each wallet.

```bash theme={null}
curl -X POST https://api.passform.io/v1/templates/{templateId}/images \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "icon=@icon.png" \
  -F "logo=@logo.png" \
  -F "banner=@banner.png"
```

The response includes URLs for each uploaded image:

```json theme={null}
{
  "icon": "https://...",
  "logo": "https://...",
  "banner": "https://..."
}
```

Use these URLs in your template's `icon`, `logo`, and `banner` fields.

## Using external image URLs

You can also provide external image URLs instead of uploading images through Passform, but this is advanced usage and has some caveats:

* The images must be publicly accessible. If Google cannot fetch them, Google Wallet passes will not install.
* Apple bundles images into the pass file. If you change the image at the same URL later, existing Apple Wallet passes will not update unless the image URL also changes.
* External image URLs may have other side effects depending on caching and wallet behavior, so use them only if you need that level of control.

<Note>
  Images uploaded via the Passform API are hosted on public URLs, resized automatically, and are the recommended option for most integrations.
</Note>
