How do you customize Images render and scale correctly?

email-image-renderingfunctionalrecommended1 credit per run

Every image in the email must load, and must be displayed at a size its file can actually fill. Stretching an image beyond its own pixels forces the mail client to invent the ones it does not have, which is what makes an image look soft or blocky — so an image displayed more than a quarter larger than its file is reported, as is one squashed or stretched out of its true shape. Good practice is to export at twice the display size and set the width attribute to half, so images stay sharp on the high-resolution screens most email is read on.

When is a custom rule warranted?

Override `maxUpscalePercent` when your quality bar is genuinely different. Tighten it toward 100 when your brand is design-led and every asset is expected to be exported at its display size, which turns the check into an asset-pipeline gate. Loosen it when you knowingly reuse a library of fixed-size assets across layouts of varying widths, and your goal is to catch gross mistakes rather than every soft edge.

When should you stay on the Standard?

Stay on 125 when you have no explicit asset-export standard, because it is the value that separates visible blur from harmless imprecision. Keep it when several teams or agencies contribute templates and you want one comparable bar. If your real complaint is that images look bad on retina screens generally, tightening this threshold only addresses part of it — the export practice is the fix, and the threshold merely reports on it.

What are the trade-offs?

Tightening toward 100 produces many findings on any template that reuses assets, and unless someone owns re-exporting them the check becomes a list nobody works through. Loosening it lets genuinely soft images pass, and because blur is gradual there is no point at which the failure announces itself — you simply stop hearing about it. Either change breaks comparison with earlier runs, so a template that looks improved may only be measured differently.

How is a custom rule governed?

The Standard value is a general visual-quality judgement rather than a vendor rule, chosen so a pass means something without configuration. A Custom value expresses your own asset-production standard and belongs wherever that standard lives, with the reasoning recorded so it is not quietly relaxed after one awkward campaign. If you tighten it, pair the change with an owner for asset re-export, because a threshold with nobody acts on is noise.

What does a configured rule look like?

A design-led brand sets `maxUpscalePercent` to `100`, requiring every asset to be exported at or above its display size and turning the check into a pipeline gate. A retailer reusing a fixed product-image library across several layout widths sets it to `150`, accepting mild softness to keep the findings limited to genuine mistakes. A team auditing an agency's template keeps `125`, because the value of the default there is that it is not a number either side chose.

How does an agent call it with your config?

{
  "type": "email",
  "validations": [
    { "id": "email-image-rendering", "config": { /* your overrides */ } }
  ]
}

What can you configure?

maxUpscalePercentrequiredpositive-integer

Standard default: 125

Author ArbiterQA · Reviewed by ArbiterQA · 2026-08-14

Appears in

Related

Run this check on your own assets

1,000 credits a month on the free plan. No card.