FixPhotoQuality

Upscale a JPEG Without Carving the Blocks Deeper

JPEG is how most photographs travel, and it is also a compression that throws samples away in squares. Upscaling those squares without looking at them first just prints the damage larger.

  • No signup for the first three
  • Deleted after 24 hours
Set the mode

JPEG, PNG, WebP, or AVIF. No account for the first three repairs.

Left: the lamp broken into blocks. Right: the clear photo.

JPEG

Mode

What the quality slider already did

A JPEG splits the image into 8 by 8 blocks, stores the smooth parts cheaply, and discards the fine ones. At a high quality setting you will not see the grid. At a low one, a sky becomes tiles and a cheek picks up a mosquito noise that is not film grain. If you then resize that file with a plain enlarge, each tile grows and the edges of the tiles get a halo from the resize kernel. That is the file people bring here when they say the photo fell apart in a chat app.

Save a new JPEG only when you must, and save it once. Opening a low-quality JPEG, exporting it again at 60, and then asking for an upscale stacks two generations of blocks. The second generation is harder to lift because the edges of the first blocks have been quantized again. If you still have the camera original, use that. If the chat copy is all you have, stop re-saving it and bring that single file to the tool.

Chroma subsampling is the color half of the same story. Reds and blues are stored on a coarser grid than the brightness. A red sign or a blue jacket can look soft even when the brightness edges are sharp. Denoise will not repaint a true color that was never stored. An upscale can make the brightness edge more convincing and leave the color soft. That is a honest result, not a bug, and the slider is where you see it.

Which mode matches a JPEG

Hard stairs from a nearest-neighbor enlarge want 2×, the guest upscale, not a denoise. Speckle and mosquito noise want denoise first, then a look, then 2× only if the frame is also too small. Do not sharpen in another app before either pass. Sharpening outlines the blocks and gives the model a counterfeit edge to copy. Text inside a JPEG screenshot is the hostile case: crop the photograph out, or retype the words.

2× costs one credit and runs without an account, inside three guest repairs a day. 4× costs two credits on Pro, whose upload limit is 20 MB and a 4,096 px long edge. 8× costs four credits on Studio, 40 MB and 8,192 px. The preview is full quality and unmarked. The free download stops at 3,200 px, so a print-sized JPEG still needs a paid plan if you want the full grid. Free pages show ads.

Nothing in this pipeline recovers the samples the quality slider deleted. If a small earring or a digit changes, keep the JPEG you uploaded. Failed jobs return the credit. Subscriptions cancel anytime and are not refunded. The JPEG and the result are deleted after 24 hours, which is why the camera roll, not the job row, is the archive.

A last look at the 8×8 grid

Turn the preview up until you can count the JPEG blocks, then see whether the repair dissolved them or outlined them. Outlined blocks mean something, you or a previous app, sharpened the damage first. Dissolved blocks with a stable edge are the file to keep. A second save at quality 60, between the original and the upload, is the mistake this page exists to prevent. Bring the earliest JPEG, run one mode, and leave the camera original next to the result.

Chroma will stay softer than brightness. A red sign can look slightly bleeding on a clean luminance edge. That is the format, not a failed upscale. Do not denoise it into mush trying to repaint a color the subsample threw away. And do not expect the WebP we store to become the pre-compression photograph. It is a prediction with a 24-hour life.

What to keep beside the slider

Two generations of JPEG are worse than one. The chat app already chose a quality. Exporting that file again at 60, then asking for 4×, stacks blocks until the sky is a grid of guesses. Bring the earliest bytes. Match the defect: stairs to 2×, mosquito noise to denoise, a soft lens to unblur. Do not sharpen first. Text in the JPEG is the screenshot problem wearing a photograph’s extension. The result we store is a WebP prediction, deleted after 24 hours, full size only on Pro and Studio. The preview you judge is not watermarked, and ads stay off the tool while you decide whether the blocks actually left.

Three steps on this file

  1. 01

    Stop re-saving the JPEG

    Bring the earliest copy you have. A second export at a low quality adds another generation of blocks.

  2. 02

    Match the defect

    Stairs want 2×. Speckle wants denoise. A soft lens wants unblur. Do not stack them before you have looked.

  3. 03

    Download the size the plan allows

    Free downloads are 3,200 px on the long edge. Pro and Studio keep the full file, then the objects are deleted.

Settings that matter here

  • A JPEG of a screenshot is a worse candidate than a JPEG of a lamp or a face.
  • If the blocks are the whole picture, read the pixelation page before you spend a 4× credit.
  • PNG and WebP pages cover the cases where the container is not JPEG.
  • Keep the small JPEG. The large file is a prediction.

Where this shows up

A photo a chat app recompressed

The app saved a few hundred kilobytes and left tiles in the sky. Denoise or 2× tells you whether the scene is still there.

A scan saved as a small JPEG

The scanner could have written a larger file. If it did not, 2× is the test and 4× is the print jump, after you look.

Limits and formats

JPEG, PNG, WebP, and AVIF decode on the server. HEIC from a phone needs to be exported to JPEG first. The preview is not watermarked. Guest and Free plan downloads are capped at 3,200 px on the long edge. Pro and Studio download the full file. Nothing on this site is an ad.

  • Guest

    Price
    $0
    Credits
    3 / day, no account
    Batch
    1
    Upload
    6 MB
    Long edge
    2,000
    Download
    3,200 px
  • Free

    Price
    $0
    Credits
    3 repairs / day
    Batch
    1
    Upload
    8 MB
    Long edge
    2,560
    Download
    3,200 px
  • Pro

    Price
    $12/mo
    Credits
    120 credits / month
    Batch
    12
    Upload
    20 MB
    Long edge
    4,096
    Download
    Full size
  • Studio

    Price
    $29/mo
    Credits
    500 credits / month
    Batch
    40
    Upload
    40 MB
    Long edge
    8,192
    Download
    Full size

Questions worth asking first

Can I try this without an account?

Yes. Guests get 3 credits a day. 2×, denoise, and unblur cost one. Colorize costs two. 4× and face restore start on Pro. 8× is Studio.

Is the preview watermarked?

No. Guest and Free plan downloads are capped at 3,200 px on the long edge. Pro and Studio download the full file.

Will you turn the JPEG into a PNG that is somehow original?

The result is a WebP prediction. It is not the pre-compression photograph.

What if the job fails?

The credit is returned. A failed job is not charged. A finished file you dislike does not return the credit or the subscription fee.

How long do you keep the upload?

Uploads and results are deleted 24 hours after the job is created.

Can I cancel?

Yes. Subscriptions cancel anytime and are not refunded. The plan lasts until the period you already paid, then the account returns to Free plan.

Related tools

From the guides

Run it on the file you actually have

Three guest repairs a day, no card. If the slider invents a detail you cannot defend, do not download it. Paid plans cancel anytime and are not refunded. A failed job is not charged. The file is deleted after 24 hours.