ThumbGlance● Runs in your browser

REDDIT BANNER SIZES

Reddit banner size.

Reddit lists community banner minimums of 1072 × 128 pixels for desktop and 1080 × 128 pixels for mobile on Reddit.com.

Its iOS and Android instructions recommend 1080 × 128 pixels; the profile-settings article does not state personal-banner dimensions.

Both statements and the missing personal values were read from Reddit’s Banner page and How do I update my profile settings on 2026-11-01 (UTC).

Community · desktop≥ 1072 × 128Published minimum for a community banner on Reddit.com desktop.

Community · mobile≥ 1080 × 128Published minimum for the same community banner on Reddit.com mobile.

iOS and Android app1080 × 128Recommended size. The page does not restate it as a minimum.

Personal profileNot statedThe profile-settings article names no pixels, ratio, format or file limit.

The browser-local tool below crops one static PNG, JPG or WebP image to 1072 × 128 or 1080 × 128, reads the encoded file back and never uploads your image. It is an independent tool, not affiliated with Reddit, and it offers no personal-profile canvas because Reddit publishes no personal-banner size.

Reddit banner sizes, without merging the community and personal scopes

The table keeps the community banner and the personal profile banner in separate rows. A community value does not certify a personal banner, and the app recommendation is kept apart from the two Reddit.com minimums. “Not stated” means the page read on 2026-11-01 published no value for that cell.

Reddit banner facts read from public official pages on 2026-11-01 (UTC)
Placement or platformPublished pixelsValue typeFormatsFile limitOfficial pageRead (UTC)
Community banner · Reddit.com desktopAt least 1072 × 128 pxMinimumNot statedNot statedBanner2026-11-01
Community banner · Reddit.com mobileAt least 1080 × 128 pxMinimumNot statedNot statedBanner2026-11-01
Community banner · Reddit for iOS and Android1080 × 128 pxRecommended sizeNot statedNot statedBanner2026-11-01
Personal profile bannerNot statedNo published valueNot statedNot statedHow do I update my profile settings2026-11-01
Community ratio, maximum pixels and safe areaNot statedNot stated; our ratio is only a calculationNot statedNot statedBanner2026-11-01

Do not carry one row into another. The 1072 and 1080 minimums belong to the community banner, not to a personal profile banner. The iOS and Android line is a recommendation, so it is not a third minimum. Reddit publishes no community aspect ratio, no maximum pixel count, no safe-area rectangle, no format list and no byte ceiling on the page read. The only ratios on this page are our own division: 1072:128 = 67:8 and 1080:128 = 135:16.

Two claims on other pages do not survive this read. Articles that print 1920 × 384 use one number for different placements, and older guides still cite 960 × 120 as the minimum; neither value appears in the community or personal text read here. This page describes the published scope and does not audit other sites.

The upload check: scope, pixels, file, then the export

Most banner failures start before the upload button. Six checks cover the published scope without inventing a platform rule.

  1. Name the surface. A community banner on Reddit.com desktop, the same banner on Reddit.com mobile, the iOS or Android app, or a personal profile banner. A number from one row does not certify the next.
  2. Match the published pixel type. Desktop community: at least 1072 × 128 px. Mobile community: at least 1080 × 128 px. App: 1080 × 128 px recommended. Personal: no published pixels.
  3. Stop inventing the file rules. The Banner page read lists no MIME type and no byte ceiling for a community banner, and the profile-settings page lists none for a personal banner. A tool export is not an official format list.
  4. Decide the wide-short trade-off. A 1072 × 128 canvas is 8.375:1. A square or portrait photo cannot fill it without losing most of its own area, so decide between cropping and padding before you export.
  5. Read the actual file. Width, height, MIME type and byte count come from the encoded file, not from the editor preview. A local match is a file fact, not an acceptance test.
  6. One canvas can cover the mobile minimum and the app recommendation. 1080 × 128 is both, and it also clears the desktop minimum because 1080 is wider than 1072 at the same height.

Crop a Reddit banner in your browser

Choose a static PNG, JPG or WebP image, then pick one of the two published community canvases. Fill crops to cover the canvas; Fit keeps the whole image and adds transparent padding for PNG or the selected colour for JPG. Nothing leaves this browser.

YOUR EXPORTActual encoded file

Choose an image to begin.

No image loaded.

What the encoded file shows

  • Choose a PNG, JPG or WebP to read back the encoded file.

Official source: Reddit Banner — read 2026-11-01 (UTC). The 1072 × 128 canvas is the published desktop minimum and the 1080 × 128 canvas is the published mobile minimum, which is also the app recommendation. The 67:8 and 135:16 ratios are this site’s calculations. Reddit publishes no community format list or file ceiling on the page read, so the checks show those as Not stated.

What our own Reddit banner crop test measured

We generated two deterministic sources from code. Source A is 1536 × 627 px, the shape of the public post image in the January 23, 2026 question, redrawn here as our own artwork. Source B is 2400 × 800 px, a second wide image for comparison. Both carry a 48 × 48 px marker in each corner, one-pixel rules, a central subject, a large label and one 14 px-high label band. The generator builds four exports per source with the same continuous Fill and Fit geometry as the browser tool, then writes each as PNG and as JPG. Run make_samples.py with Python 3 and the local cjpeg/djpeg commands to rebuild every file; the script uses no clock, randomness or network. The rows below come from reddit-banner-samples/results.json.

Each PNG is reopened, its chunk CRCs are checked, the image data is decompressed and every decoded row is compared with the generated canvas. Each JPG has its dimensions parsed from the marker stream and its pixels decoded by djpeg. The browser uses a different resampler, so these byte counts describe the files generated here, not a browser download.

How the crop and the padding are calculated

For a source of sW × sH and a canvas of W × H, Fill uses scale = max(W / sW, H / sH) and keeps the centred rectangle (W / scale) × (H / scale); the removed area is the source area minus that rectangle. Fit uses scale = min(W / sW, H / sH), draws (sW × scale) × (sH × scale) and leaves the rest of the canvas as padding.

Fill kept area = (W / scale) × (H / scale) · removed share = 1 − kept area / (sW × sH)

Fit drawn area = (sW × scale) × (sH × scale) · padding share = 1 − drawn area / (W × H)

Two sources × two published canvases × Fill/Fit, 50% focus
CanvasModeSource geometryRemoved or paddedPNG bytesJPG bytesExport rows · 320px preview rowsCorner markers
1072 × 128 · AFillKeeps 1536 × 183.40 px from y = 221.80681,365.01 px² removed · 70.75%3,83917,71110 · 20 of 4
1072 × 128 · AFitDraws 313.5694 × 128 px at x = 379 · raster 314 × 12897,079.12 px² geometry · 97,024 transparent px2,18410,3853 · 14 of 4
1080 × 128 · AFillKeeps 1536 × 182.04 px from y = 222.48683,451.73 px² removed · 70.97%3,86315,27910 · 20 of 4
1080 × 128 · AFitDraws 313.5694 × 128 px at x = 383 · raster 314 × 12898,103.12 px² geometry · 98,048 transparent px2,18210,4573 · 14 of 4
1072 × 128 · BFillKeeps 2400 × 286.57 px from y = 256.721,232,238.81 px² removed · 64.18%2,73210,2170 · 00 of 4
1072 × 128 · BFitDraws 384 × 128 px at x = 344 · raster 384 × 12888,064 px² geometry · 88,064 transparent px2,1279,6843 · 14 of 4
1080 × 128 · BFillKeeps 2400 × 284.44 px from y = 257.781,237,333.33 px² removed · 64.44%1,4696,7710 · 00 of 4
1080 × 128 · BFitDraws 384 × 128 px at x = 348 · raster 384 × 12889,088 px² geometry · 89,088 transparent px2,1449,1173 · 14 of 4

Both canvases are wider than either source, so Fill is driven by width: it keeps all 1536 or all 2400 source columns and throws away rows from the top and bottom. Source A loses 70.75% of its area at 1072 × 128 and 70.97% at 1080 × 128. Source B, being wider, loses less: 64.18% and 64.44%. Fit keeps the whole source and leaves the same share as padding, because the same scale ratio is inverted: 70.75% of the canvas is empty in the first case, 70.97% in the second, 64.18% and 64.44% for source B. Those are geometry values, and the padding share is not a crop.

Continuous geometry and the integer raster disagree by less than a row or a column. At 1072 × 128 the Fit drawing is 313.5694 px wide; the generator rounds that to 314 raster columns at x = 379, so 97,024 pixels stay transparent instead of the 97,079.12 px² the continuous area predicts. The gap of 55.12 px² is the rounded half column, not an error. Source B divides exactly (2400 / 800 = 3), so its 384 × 128 drawing matches the geometry with no gap at all.

What happens to the small label and the markers

The small-label figures are mask counts, not the label’s original position reused. The generator first records the pure-white pixels in the declared 14-row band: 500 source pixels for each source. For every export pixel it then maps the pixel back to its source coordinate and counts the row only if that coordinate is inside the mask.

Source A keeps its label band at y = 306–319, near the vertical centre, so Fill’s 183.40-row window (y = 221.80–405.20) still contains it: 10 export rows carry label pixels. Source B’s band sits at y = 40–53, near the top, and Fill’s window starts at y = 256.72, so the label is gone completely: 0 rows. Fit keeps the band in both sources; the scale factor (0.204 for source A, 0.16 for source B) leaves 3 export rows in each.

Those counts are output rows, not source rows. The mask itself is 14 source rows holding 500 white source pixels in each source, and the 10 export rows are what is left of those 14 rows after a 0.698 scale, so the figure is not a share of preserved source rows. The 320-pixel previews are coarser again: source A’s Fill export keeps 2 preview rows holding 11 mask pixels, its Fit export keeps 1 row and 3 pixels, source B’s Fill export keeps none, and its Fit export keeps 1 row and 2 pixels. The same four figures hold at 1072 × 128 and at 1080 × 128.

Corner markers behave the same way and give a second, independent check. Fill keeps no complete marker at all, because all four markers sit in the rows that Fill discards: 0 of 4 for every Fill export. Fit keeps all four: 400 marker pixels for source A (100 per marker) and 256 for source B (64 per marker). After cjpeg -quality 92 and a djpeg decode, the exact marker colours are no longer present in source A’s Fit file at all and only 2 of source B’s 256 marker pixels still match exactly, because lossy compression shifts every colour slightly. The PNG count is the honest marker measurement; the JPG count shows what compression does to a colour test.

Source A · 1072 × 128 · Fill320-pixel-wide preview of the 1536 by 627 source cropped to a 1072 by 128 Fill export, with the top and bottom removed.
3,839-byte PNG · 70.75% of the source removed · no corner marker survives.
Source A · 1072 × 128 · Fit320-pixel-wide preview of the 1072 by 128 Fit export, a small drawing centred between transparent columns.
2,184-byte PNG · 97,024 transparent pixels · all four markers survive.
Source B · 1072 × 128 · Fill320-pixel-wide preview of the 2400 by 800 source cropped to a 1072 by 128 Fill export, with the label band cropped out.
2,732-byte PNG · 64.18% of the source removed · the small label is cropped out.
Source B · 1072 × 128 · Fit320-pixel-wide preview of the 2400 by 800 source fitted into a 1072 by 128 canvas with side padding.
2,127-byte PNG · 88,064 transparent pixels · a 3:1 drawing centred in an 8.375:1 canvas.

Negative controls and limits of this test

Two deliberately broken files show that the checks can fail. The generator flips one byte inside the IDAT chunk of a valid export; the readback raises “bad PNG chunk CRC”. It also moves the Fill crop down by 0.001 of the source height; the pixel comparison reports 1,920 differing pixels out of 137,216, so a one-step crop change is visible to the test. Both files and their recorded verdicts are under reddit-banner-samples/negative/.

PNG is smaller than JPG in all eight pairs here, from 1,469 to 3,863 bytes against 6,771 to 17,711 bytes. That is a property of these flat synthetic images and this PNG encoder, not a rule for photographs; do not generalise it.

The test uses two synthetic sources, one 50% focus value and nearest-neighbour sampling. It does not test a real photograph, Reddit’s own crop or resize, a transparent input, or how any Reddit surface renders the result. It is a local geometry and file measurement, and the byte counts depend on the image content.

Questions

Can I use one image for my profile banner and a subreddit banner?

Not with one published value. Reddit.com states community banner minimums for desktop and mobile, while the profile-settings article states no personal-banner pixels, ratio, format or file limit. Treat the community numbers as community-only, and check your own profile banner surface before relying on them.

Why are both 1072 × 128 and 1080 × 128 listed?

They are separate rows on the same Banner page: at least 1072 × 128 px for desktop and at least 1080 × 128 px for mobile on Reddit.com. Use the larger 1080 × 128 canvas when you want one file that meets both published minimums.

Is the app’s 1080 × 128 the same as the 1080 × 128 minimum?

The pixels are identical, the wording is not. Reddit.com lists an “at least” minimum for mobile; the iOS and Android section calls 1080 × 128 the recommended size. This page keeps the two statements in separate rows instead of upgrading the recommendation into a second minimum.

Why does my 1536 × 627 image become a thin strip?

Because 1536 × 627 is 2.45:1 and the canvas is 8.375:1. Fill scales the image until it covers the canvas, which leaves 183.40 of the 627 source rows: 70.75% of the image goes. The 1536 × 627 file in the January 23, 2026 question is one example of the shape; it is not a Reddit requirement.

Does Fit padding control how Reddit displays the banner?

No. Fit only decides what this tool writes into the file: transparency for PNG or your chosen colour for JPG. Reddit publishes no display rule for a padded community banner on the page read, so the empty area is part of your image and nothing more.

Does a PNG or JPG export at these pixels pass Reddit’s file limit?

The page cannot answer that, because the Banner page states no byte ceiling and no MIME type list for a community banner. This tool reports the encoded format and exact bytes so you can compare two exports yourself; it does not claim a limit that Reddit did not publish.

If I upload only the desktop banner, does mobile reuse it?

Reddit does not say that on the page read. It says a missing banner shows a default Base Color, and that the app uses the colour chosen for the desktop Base Color when no image is set. No automatic reuse of the desktop image is described, so this page does not assume one.

Does this tool upload my image?

No. Decoding, cropping, encoding and file readback happen in this browser. There is no upload endpoint and nothing is stored after you close the page.

Sources and evidence limits

  • Banner — the Reddit.com desktop minimum of at least 1072 × 128 px, the Reddit.com mobile minimum of at least 1080 × 128 px, the iOS and Android recommendation of 1080 × 128 px, and the Base Color note for a missing banner. Read 2026-11-01 (UTC). Formats, file limit, maximum pixels, ratio and safe area are Not stated on that page.
  • How do I update my profile settings — confirms that a personal banner can be updated, and states no personal-banner pixels, ratio, formats or file limit. Read 2026-11-01 (UTC).
  • Our own measurements: reddit-banner-samples/results.json, rebuilt by make_samples.py and counted by measure_word_share.py.

Every pixel, byte and mask count on this page is a local measurement or a calculation labelled as such. No Reddit account upload was performed, and a local pass is not a claim that Reddit accepts or renders the file in a particular way.

Other banner tools

Working on a Twitch channel? Open the Twitch banner size tool; its published values are different.

Setting up a Discord server? Use the Discord banner size tool for its three separate surfaces.

Updating a LinkedIn cover? See the LinkedIn banner size tool or the LinkedIn post size tool.

Checking a YouTube channel art canvas? Start with the YouTube banner size and safe-area guide.