---
title: "Application Icons"
description: "Uploaded icons for applications in the portal."
canonical: "https://developers.fnlb.net/docs/cdn/app-icons"
markdown: "/docs/cdn/app-icons.md"
---

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

# Application Icons

Application icons are the small square images shown next to an application in the developer portal and anywhere an application is listed. The portal stores them on the CDN and exposes one immutable URL per upload, which you can hotlink directly.

## The URL

```text
https://cdn.fnlb.net/app-icons/{applicationId}/{iconId}.webp
```

`{applicationId}` is the application's id and `{iconId}` is the value in its `icon` field. When `icon` is empty, the application has no icon and the URL does not exist. The portal builds this URL for you, so you rarely need to construct it by hand.

## Uploading an icon

Icons are uploaded from the Applications area of the [developer portal](/docs/getting-started/developer-portal.md). The portal accepts PNG and JPEG files between 1 KB and 10 MB, with a maximum source size of 2048×2048, applies the image's EXIF orientation, then:

- Center-crops the image to a square.
- Resizes it to at most 256×256 without enlarging smaller images.
- Encodes it as WebP at quality 80.

The result is written back to the CDN under a new `iconId`, and the application's previous icons are removed.

## Immutability and caching

Every upload produces a new `iconId`, so the URL changes whenever the icon changes. Treat application icon URLs as immutable and cache them for as long as you like, with no `?v=` query needed.

## Example

```ts
const iconUrl = iconId
  ? `https://cdn.fnlb.net/app-icons/${applicationId}/${iconId}.webp`
  : undefined;
```

## Next

<CardGroup cols={2}>
  <Card icon="http" href="/docs/cdn/cosmetics" title="Cosmetics">
    Catalogs, individual icons, and image atlases.
  </Card>
  <Card icon="http" href="/docs/cdn/overview" title="CDN overview">
    What the CDN serves and how to cache it.
  </Card>
</CardGroup>
