This favicon generator turns one local JPEG, PNG, or WebP into four square PNGs: 16, 32, 48, and 180. It also builds one ICO whose directory count is 2 and whose payloads are those 16 and 32 PNG bytes. Cover is the default. Cover takes side = min(width, height), then x = floor((width – side) / 2) and y = floor((height – side) / 2), and draws that square into each size. Contain uses scale = min(size / width, size / height), rounds the drawn width and height to at least 1, and centers with floor. The pad is transparent.
Scaling is the browser’s drawImage. This page does not name a Lanczos kernel and does not promise the same resized pixels in every browser. The contract is the sizes, the integer crop or fit, the PNG type, and the ICO layout. The link text is a 32 px rel icon and a 180 px apple-touch icon. It is rendered and copied as text. There is no web manifest, no theme color, and no mask icon.
An off-center subject should be cropped before Cover cuts the middle. That crop belongs on the Image Cropper. A size that is not 16, 32, 48, or 180 belongs on the Image Resizer. This page does not replace either tool and does not offer a free rectangle.
The 180 preview shows the square you will download. Files stay in the browser. Nothing is uploaded and no live site icon is fetched.
A 10 by 4 image under Cover uses a 4 px square starting at x 3, y 0. A 4 by 10 image starts at x 0, y 3. An 8 by 8 image has no offset. Contain of 10 by 4 into 16 draws 16 by 6, centered with a vertical offset of 5, and the rest of the square stays transparent. A square source under either mode still produces all four sizes. JPEG input is opaque in the artwork. Contain padding is still transparent because the output canvas is PNG.
The ICO header is reserved 0, type 1, count 2, then two directory entries whose width and height bytes are 16 and 32, then the PNG bytes. Copy does not include a manifest URL. Each PNG download is a separate file. The ICO is not a substitute for the 48 or 180 PNG.
Put the PNG files next to the HTML that references those names, or rename them and edit the copied tags to match. The tags are a starting snippet, not a full document. If the logo’s subject sits in a corner, crop first. If you need a 64 px square or a wide social image, use the resizer. This page is the icon set only.
Cover center-crops a square, then scales to 16, 32, 48, and 180. Contain fits the whole image and pads the rest with transparent pixels. Scaling is the browser drawImage resampler, not a named kernel. The ICO holds the 16 and 32 PNG payloads. The snippet is a 32 px icon link and a 180 px apple-touch link. No manifest. SVG is refused. Limits: 8 MB, 8,000 px, 16 megapixels.
It center-crops the largest square, using floor for the offset, then scales that square to each icon size.
It fits the whole image inside the square. Empty space stays transparent. Drawn size is rounded and at least 1 px.
A directory of two entries and the PNG payloads for 16 and 32. The PNGs are the files to rely on. The page does not promise every old browser reads PNG-in-ICO.
No. Copy writes a 32 px icon link and a 180 px apple-touch link, as text. There is no theme color and no mask icon.