# JPG, PNG or WebP? Choosing the right file format for banner ads

> Which file format to export a banner in, the file size limits ad platforms publish, why text turns soft in JPG and how to keep it sharp under 150 KB.

By The BannerTranslate team. Published 2026-11-13.
Web page: https://bannertranslate.com/resources/banner-file-formats

For a banner ad, export PNG when the design is mostly text, logos and flat colour, and JPG when it is mostly photograph or when the PNG comes out heavier than the platform allows. Keep WebP and AVIF for images on your own website, because the upload specifications of Google Ads, Meta, LinkedIn and Pinterest checked for this article list JPG and PNG (and sometimes GIF), not WebP. The rest of this guide covers the trade-offs, the published limits and how to keep small text sharp.

## The seven formats you will meet

Most export menus offer more formats than any ad platform will take. This table sorts them by what they do and where they are useful.

| Format | Compression | Transparency | Animation | Typical use in banner work | Accepted as an ad upload |
|---|---|---|---|---|---|
| JPG (JPEG) | Lossy | No | No | Photographic banners and anything that must be light | Yes, on every platform in the next table |
| PNG | Lossless | Yes, full alpha | No | Text, logos, flat colour, screenshots and master copies | Yes, on every platform in the next table |
| GIF | Lossless, but limited to 256 colours | One fully transparent colour | Yes | Simple animated banners | Google Ads image ads, Display & Video 360, Ad Manager and LinkedIn |
| WebP | Lossy or lossless | Yes | Yes | Images on your own site and landing pages | Not listed in the specifications checked |
| AVIF | Lossy or lossless | Yes | Yes | The same as WebP, with a fallback for older browsers | Not listed in the specifications checked |
| SVG | Vector, so there are no pixels to compress | Not applicable | Can be scripted and animated | Logos and icons on websites | Only inside an HTML5 ZIP on Google Ads |
| HTML5 | Not an image but a ZIP of HTML, CSS, JavaScript and images | Not applicable | Yes | Animated and interactive display ads | Google Ads, if the account is eligible |

The format properties come from MDN's image format guide. Its short version is that JPG is a good choice for lossy compression of still images, PNG is preferred when you need precise reproduction or transparency, and WebP and AVIF compress better than both.

## What the ad platforms accept, and how heavy a file can be

These figures were read from each platform's own help pages on 13 November 2026. Platforms revise them, so open the linked source before a large export.

| Platform and ad type | Accepted formats | Maximum file size | Notes |
|---|---|---|---|
| Google Ads, uploaded image ads | GIF, JPG, PNG | 150 KB | Fixed pixel sizes such as 300×250 and 728×90 |
| Google Ads, HTML5 ads | ZIP with HTML and optionally CSS, JS, GIF, PNG, JPG and SVG | 600 KB | No more than 40 files, and the account must meet eligibility criteria |
| Google Ads, responsive display ad images | Not stated on the page opened | 5120 KB | Landscape 1.91:1 and square 1:1 images |
| Display & Video 360, image creatives | JPG, GIF, PNG | 10 MB, though publishers may require less | No larger than 4000×4000 pixels |
| Google Ad Manager, image creatives | GIF, JPG, PNG | None stated on the page opened | RGB colour is required |
| Meta image ads in Feed, Stories and Reels | JPG or PNG | 30 MB | Recommended widths of 1440 pixels |
| LinkedIn single image ads | JPG, PNG, GIF | 5 MB | Animated GIFs up to 250 frames |
| Pinterest standard image ads | PNG or JPEG | 20 MB on desktop, 32 MB in-app | 2:3 ratio recommended |

Two things stand out. First, the only tight limit is Google's 150 KB. The social limits are measured in megabytes, and a banner will never come close to 30 MB. Second, WebP and AVIF do not appear anywhere in the list.

Publishers can set their own limits, and Display & Video 360's guidelines point advertisers to the IAB's. The fixed-size specification in the IAB New Ad Portfolio, published by the IAB Tech Lab in 2017, recommends a maximum initial load of 150 kB for 300×250, 728×90 and 160×600 ads, 250 kB for 970×250 and 50 kB for 300×50 or 320×50, and says to use the same figures for static image ads.

Some arithmetic shows what 150 KB means in practice. A 300×250 banner has 75,000 pixels, which is about 220 KB uncompressed at three bytes per pixel. You only need to shrink it by a third, and a PNG of a flat design does that easily.

A 970×250 billboard has 242,500 pixels, about 710 KB uncompressed, so it must shrink almost five times. A flat-colour PNG still manages that. A PNG of a photograph usually will not, and that is when JPG earns its place.

## Why banner text goes soft

There are three usual causes, and they often arrive together.

### Colour is stored at a lower resolution

JPEG separates brightness from colour and, as web.dev's guide to the format explains, stores the colour layer at a lower resolution. This is called chroma subsampling. In the common 4:2:0 scheme the colour information is halved in both directions, so four pixels share one colour sample.

Photographs hide this well, because eyes are less sensitive to colour detail than to brightness. Text does not. The damage appears where colours change abruptly, which describes a red headline on white or white lettering on a saturated button rather precisely. MDN notes that lossy WebP always uses 4:2:0, and it recommends lossless encoding for logos, screenshots and line art because blurring and coloured fringes around text are so easy to see.

The fix is PNG for text-heavy banners. If you need JPG, look for a subsampling option in the export dialog, where the full-colour setting is often labelled 4:4:4. For WebP, use lossless mode or the encoder's sharper colour conversion, which Google's cwebp tool calls sharp_yuv.

### The image is shown at a different size

Text is sharpest when one image pixel lands on one screen pixel. Whenever a banner is displayed at a size other than the one it was exported at, the pixels are resampled and thin strokes blur.

High-density screens do this to every standard-size banner. A 2x screen has four times as many pixels in the same area, so a 300×250 file is spread across 600×500 device pixels. Resizing a file that was already exported resamples it once more. Export each size straight from the layered or vector source, at the exact pixel dimensions the slot asks for.

### The file was compressed twice

Every lossy save re-encodes the picture and discards a little more. Opening a JPG, changing one word and saving it as a JPG again is the classic case, and the loss builds up with each round. JPEG also works in blocks, and at heavy compression the seams between the blocks begin to show.

It happens more often than people notice. Typical routes are downloading your own banner from a social post or a chat app and reusing it, taking a screenshot of it, or running an exported JPG through a second compression tool. Platforms do not all document what they do to uploads, so the safest input is the cleanest file they allow.

Keep a lossless master, and apply lossy compression once, at the end. Soft text is more than a cosmetic problem, too. Google's editorial policy does not allow images that are blurry or contain illegible text.

## How to get under 150 KB without ruining the text

1. Export at the exact pixel size of the slot. Extra pixels are extra bytes.
2. If the design is flat colour and type, export PNG first and check its weight. Many 300×250 and 728×90 banners pass at this step.
3. If the PNG is too heavy and the design uses few colours, reduce it to an indexed palette. PNG supports palettes of up to 256 colours, which is plenty for a logo, two brand colours and some text.
4. If the banner is photographic, export JPG at high quality and step down until the file fits. Compare each attempt at 100% zoom. Trying several quality levels beats trusting one number.
5. Turn on progressive encoding. According to web.dev, for all but the smallest images a progressive JPEG is almost always smaller than a baseline one.
6. If the file is still over, simplify the artwork and leave the text alone. Swap a grainy or gradient background for a flat one, or blur the photograph behind the type. Noise is expensive to compress.
7. Read the real size of the file in bytes before you upload. A file manager that rounds to "0.2 MB" is not telling you enough.

## A decision guide

- **Mostly text, logo and flat colour.** PNG.
- **Mostly photograph.** JPG.
- **Photograph with a headline on top.** JPG at high quality with subsampling off, or PNG if the weight allows. Check red and other saturated text closely.
- **Animated.** GIF where it is accepted, within the platform's rules. Google Ads asks for animations of 30 seconds or shorter that run slower than 5 frames per second, and LinkedIn allows up to 250 frames. For anything richer than 256 colours, use HTML5.
- **For your own website or landing page.** WebP or AVIF with a JPG or PNG fallback. Google's own figures put lossless WebP at 26% smaller than PNG and lossy WebP at 25 to 34% smaller than a comparable JPEG.
- **A logo on a website.** SVG, which renders cleanly at any size.
- **Something that needs a transparent background.** PNG. Ad slots rarely need it, since the banner fills its whole rectangle.
- **The master copy you keep.** The design file, plus a lossless PNG.

## Exporting 2x versions

A 2x version has twice the width and twice the height of the slot, for example 600×500 for a 300×250 placement. It exists so that high-density screens have a real pixel for every device pixel. Whether you can use one depends on the platform.

- **Display & Video 360** recommends uploading image assets up to twice the creative's dimensions and selecting the standard size. Its own example is a 600×500 image for a 300×250 creative.
- **Google Ad Manager** lets you upload a separate creative for each density (1x, 1.5x and 2x) and picks the right one for each device.
- **Google Ads** is different. Its specification for uploaded image ads lists fixed sizes and does not mention double-size uploads, and the Google Ads Editor help says the Editor does not support double-sized images. Export at the exact size.
- **Meta** recommends files 1440 pixels wide for image ads where the minimum width is 500 or 600 pixels. Export at the recommended size, not the minimum.

The IAB's weight grid is calculated at double density, so its 150 kB allowance for a 300×250 ad already assumes 2x artwork.

Remember the cost. A 2x file has four times the pixels, and squeezing those into the same weight means stronger compression. Compare a 2x JPG at moderate quality with a 1x file at high quality on a real phone before you commit to either.

## Formats when you translate or resize a banner

Format choices matter twice when one banner becomes many, because the file you feed in sets the ceiling for everything that comes out. Start from the cleanest copy you have, ideally the lossless master and not a JPG saved from a preview.

BannerTranslate, for example, accepts a PNG, JPG or WebP upload of up to 12 MB when you [translate a banner](https://bannertranslate.com/app) or [resize a banner](https://bannertranslate.com/app), and lets you download each version as JPG, PNG or WebP. Pick PNG if the file will be checked and passed on, JPG when weight matters most and WebP for your own site.

Two limits apply. The result is a flat image, and animated or HTML5 banners are not handled. And because BannerTranslate draws each version with an AI image model, read the small text at 100% zoom before you settle on a format for it.

Whatever tool produced the file, weigh it yourself before sending it to a 150 KB slot. If you are also changing shape, the guide on [how to resize a banner](https://bannertranslate.com/resources/how-to-resize-a-banner) covers the layout side, and [running a multilingual banner campaign](https://bannertranslate.com/resources/multilingual-ad-campaign-workflow) covers naming and organising the files.

## FAQ

### Is PNG or JPG better for banner ads?

PNG is better for banners made of text, logos and flat colour, because it is lossless and keeps edges crisp. JPG is better for photographic banners, because it gets them far lighter. If a PNG fits inside the platform's limit, it is usually the safer choice for anything with small type.

### Can I upload a WebP banner to Google Ads or Meta?

Not according to the specifications checked for this article. Google Ads lists GIF, JPG and PNG for uploaded image ads, and Meta's ads guide lists JPG or PNG. WebP is an excellent format for your own website, where you control how it is served.

### What is the maximum file size for a Google display banner?

For uploaded image ads in Google Ads the limit is 150 KB, in GIF, JPG or PNG. HTML5 ads are uploaded as a ZIP of 600 KB or smaller. The exact dimensions are listed in the guide to [Google Display ad sizes](https://bannertranslate.com/resources/google-display-ad-sizes).

### Why does the text on my JPG banner look blurry?

JPG stores colour at a lower resolution than brightness, which smears the edges of coloured text, and heavy compression adds blocky artefacts around letters. The banner may also be displayed at a different size from the one you exported, or have been saved as a JPG more than once. Export PNG, or a high-quality JPG at the exact size, from the original design.

### Does converting a JPG to PNG improve its quality?

No. The detail that JPG compression discarded is gone, and saving the result as PNG only stores the damaged picture without further loss, usually in a much bigger file. Go back to the design file or the lossless master and export again.

### Should I export banners at 2x?

Only where the platform accepts it. Display & Video 360 and Google Ad Manager support higher-density images, while Google Ads uploaded image ads use fixed sizes. For social placements, export at the platform's recommended resolution, which you can find in the [social media image sizes cheat sheet](https://bannertranslate.com/resources/social-media-image-sizes).

### Is GIF still a sensible choice for animated banners?

It is the simplest animated format that display platforms widely accept, so yes for short, simple animation. Its 256-colour limit makes photographs look grainy and its files grow quickly. For smoother or longer animation, HTML5 is the usual step up. There are more guides in the [resources hub](https://bannertranslate.com/resources).

## Sources

- [MDN: Image file type and format guide](https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Image_types) for compression type, transparency, animation and colour limits of each format, and the advice on lossless encoding for text and line art.
- [MDN: SVG](https://developer.mozilla.org/en-US/docs/Web/SVG) for SVG as a vector format that renders at any size and can be scripted and animated.
- [web.dev: Choose the right image format](https://web.dev/articles/choose-the-right-image-format) for format selection, testing quality levels and pixel counts on 2x screens.
- [web.dev Learn Images: JPEG](https://web.dev/learn/images/jpeg) for chroma subsampling, block seams and progressive JPEG.
- [web.dev Learn Images: WebP](https://web.dev/learn/images/webp) and [AVIF](https://web.dev/learn/images/avif) for how the newer formats work and why AVIF still needs a fallback.
- [Google for Developers: WebP](https://developers.google.com/speed/webp) for Google's size comparisons with PNG and JPEG.
- [Google for Developers: cwebp](https://developers.google.com/speed/webp/docs/cwebp) for the lossless and sharp_yuv encoder options.
- [Google Ads Help: Uploaded display ads specifications](https://support.google.com/google-ads/answer/1722096?hl=en) for accepted formats, the 150 KB limit, animated GIF rules and HTML5 ZIP rules.
- [Google Ads Help: Create a responsive display ad](https://support.google.com/google-ads/answer/7005917?hl=en) for the 5120 KB image limit and ratios.
- [Google Ads Editor Help: Image sizes for image ads](https://support.google.com/google-ads/editor/answer/57755?hl=en) for the statement on double-sized images.
- [Google Advertising Policies Help: Editorial](https://support.google.com/adspolicy/answer/6021546?hl=en) for the image quality rule on blurry images and illegible text.
- [Display & Video 360 Help: Guidelines for image creatives](https://support.google.com/displayvideo/answer/3017252?hl=en) for formats, the 10 MB limit and uploading at up to twice the dimensions.
- [Google Ad Manager Help: Add an image creative](https://support.google.com/admanager/answer/3162450?hl=en) for formats, RGB colour and 1x, 1.5x and 2x densities.
- [Meta Ads Guide: Facebook Feed image ads](https://www.facebook.com/business/ads-guide/update/image/facebook-feed) and [Instagram Stories image ads](https://www.facebook.com/business/ads-guide/update/image/instagram-story) for JPG or PNG, the 30 MB limit and recommended resolutions.
- [LinkedIn Marketing Solutions Help: Single image ads specifications](https://www.linkedin.com/help/lms/answer/a426534) for formats, the 5 MB limit and the GIF frame limit.
- [Pinterest Business help: Review ad specs](https://help.pinterest.com/en/business/article/pinterest-product-specs) for formats and file size limits.
- [IAB New Ad Portfolio: Fixed size ad specifications (PDF)](https://www.iab.com/wp-content/uploads/2019/04/IABNewAdPortfolio_LW_FixedSizeSpec.pdf) for recommended file weights per ad unit and the double-density note.
- [Wikipedia: Chroma subsampling](https://en.wikipedia.org/wiki/Chroma_subsampling) and [Generation loss](https://en.wikipedia.org/wiki/Generation_loss) as background on 4:2:0 sampling and repeated lossy saves.
