Runs in your browser with pdf.js and pdf-lib

PDF Filter Studio — brightness, contrast, color and sharpness for PDF pages

Stack filters like brightness, contrast, sharpen, grayscale or sepia, or start from a preset. Fix a dull scan or give pages a look, see every page before you save, and keep the page size and links.

See how it works
  • PDF files aren't uploaded to our server
  • 11 filters and 7 presets
  • Undo and redo
  • Same page size, links kept

Apply filters to PDF pages

Add a PDF, stack filters or pick a preset, check every page, then save a new copy.

Works on one PDF at a time. The original file is never changed.

Drop your PDF here

or browse — one PDF, any number of pages

Page 1

How it works

Filters work on the picture of a page, so filtered pages become images

Each chosen page is drawn at the resolution you pick, your filters run on every pixel in order, and the result goes back into the PDF at the same page size. Pages you don't pick are left exactly as they are.

What you can do

  • Brighten, add contrast and sharpen a dull or gray scan so it reads and prints better.
  • Give pages a look: grayscale, sepia, vintage, vivid color, a hue shift or a vignette.
  • Stack and reorder filters, turn one off to compare, and undo or redo any change.
  • Filter all pages or only the ones you type; see every page before you save.

What it doesn't do

  • Keep text selectable on filtered pages. To keep text, use PDF Color Overlay or PDF Color Inverter.
  • Recover detail a scan never had. Sharpen makes edges crisper; it can't make blurry text readable.
  • Keep form fields fillable on filtered pages. Fields and comments are drawn into the picture.
  • Open password-protected PDFs. Unlock them first.

How to filter a PDF in four steps

Add, filter, check, save.

Add your PDF

Drop the PDF onto the upload area, or click Select PDF. Every page appears below.

Build the filter stack

  • Start from a preset, or add filters one by one.
  • Drag each slider; move filters up or down.
  • Undo with Ctrl+Z, redo with Ctrl+Y.

Choose pages and resolution

Filter every page or only some, and pick 150 dpi for screen or 300 dpi for print.

Untick Show filters to compare with the original.

Save and download

Click Apply filters to PDF. The preview is drawn from the saved file; rename it if you like and download it.

  • Same page size
  • Links kept
  • Original untouched

See a PDF before and after filters

The same page with contrast, sepia and a vignette.

Original No filters
Original PDF page before filters are applied
The page as it was saved.
Filtered
With filters Contrast, sepia, vignette
The same PDF page after contrast, sepia, and vignette filters are applied
Warmer tone, stronger contrast and darker corners.

What to use for your job

Common reasons to filter a PDF and a starting point for each.

JobWhat mattersWhat to use
A gray, faded phone scanWhite paper, dark text.Crisp scan preset; raise Contrast if the paper is still gray.
Print a color PDF in black and whiteEven grays, readable text.Grayscale, then Contrast 110-120%.
Dull photos in a brochureLivelier color.Vivid preset on the photo pages only.
An old-style or archive lookWarm tone, soft edges.Vintage preset, or Sepia plus Vignette.
Hide a faint background patternThe pattern fades, text stays.Brightness 110-120% with Contrast 130%.
Make a page read as a draftClearly not the final copy.Fade 40-50% so the page looks washed out.

The details

What each filter actually does

Filters run top to bottom, so order matters: grayscale then contrast is not the same as contrast then grayscale.

Brightness and contrast

Brightness scales every color; 100% is unchanged. Contrast pushes colors away from middle gray, making paper whiter and text darker.

Saturation and hue shift

Saturation makes colors stronger or weaker; 0% is gray. Hue shift turns every color around the color wheel by the angle you set.

Sharpen and blur

Sharpen is a real unsharp mask that boosts edges. Blur softens the page; its size is in points, so the preview and the saved file look the same.

Grayscale, sepia, invert

Grayscale removes color, sepia gives a warm brown tone, invert turns light into dark. Less than 100% mixes in the original.

Fade and vignette

Fade mixes the page toward white for a washed-out look. Vignette darkens the corners and edges.

The saved file

Filtered pages are JPEG pictures at your resolution and the same page size. Links keep working; bookmarks, document properties and other pages are kept.

When the filtered file isn't what you expected

Identify the problem, then use the matching fix.

Symptom
Why it happens
Fix

Text can't be selected or searched

Filtered pages are pictures.

Filter only the pages that need it, or use PDF Color Overlay for a tint that keeps text.

Small text looks soft

The resolution is low for small print.

Choose 200 or 300 dpi, and add Sharpen at 40-60%.

The file got much bigger

Each filtered page is stored as a picture.

Use 150 or 100 dpi, filter fewer pages, or run the result through Compress PDF.

The page went too white or too dark

Brightness and contrast together push colors to pure white or black.

Lower one of them, or move Contrast above Brightness in the list.

I want the original back

Undo works on the filter list, not on a saved file.

Use Undo or Clear before saving; after saving, open your original file again.

A password-protected PDF won't open

Encrypted PDFs can't be rewritten by the in-browser PDF libraries.

Remove the password with Unlock PDF, then add the unlocked copy.

Getting the look without guessing twice

A working order that avoids the most common redo.

Start from a preset

A preset fills the list with sensible values; adjust the sliders from there.

Make small moves

Brightness and contrast between 90% and 130% usually look natural; beyond that detail starts to clip.

Compare with the original

Turn a filter off with its eye button, or untick Show filters, to see what each one adds.

Check small print full size

Open a page in the full-size view and zoom to 200% before you save.

Filter only what needs it

Leave text-only pages out so they stay small and searchable.

Keep the original

The saved file is a new PDF. Keep the original to try other filters later.

PDF Filter Studio questions

If something's not covered here, the troubleshooting section above likely has it.

Will the text still be selectable after filtering?

Not on filtered pages. Filters work on the picture of a page, so each filtered page is saved as an image at the resolution you pick. Pages you don't filter keep their text, and links keep working on every page.

Does the saved file look the same as the preview?

Yes. The preview and the saved file use the same filter code, and blur and sharpen sizes are measured in points of the page, so they match at any zoom. The saved pages are just drawn at a higher resolution.

Does Sharpen really sharpen?

Yes. It is an unsharp mask: it finds edges and makes them stronger. It helps slightly soft scans look crisper, but it can't recover detail that isn't in the scan.

Can I use different filters on different pages?

Choose the pages to filter with Pages I type, save, then open the saved file and filter other pages with a different stack. Pages you don't choose are never changed.

Does the order of filters matter?

Yes. Filters run from the top of the list to the bottom, so grayscale followed by contrast gives a different result from contrast followed by grayscale. Use the up and down buttons to change the order.

Why is the filtered PDF bigger?

Filtered pages are stored as JPEG pictures. A lower resolution such as 150 or 100 dpi, or filtering fewer pages, keeps the file smaller.

Is my PDF uploaded?

No. The PDF is opened, filtered and saved in your browser with pdf.js and pdf-lib; it is not uploaded to our server. Password-protected PDFs need to be unlocked first.

Build notes

The write-up on filtering PDF pages in the browser

I wrote a tutorial on building a browser-based PDF filter studio with pdf.js, the Canvas API and pdf-lib, with no server involved.

Published on freeCodeCamp

How to Build a Browser-Based PDF Filter Studio with JavaScript

Covers stacking filters on rendered pages with the Canvas API and building the downloadable file with pdf-lib.

Read the write-up on freeCodeCamp

Written by Bhavin J. Sheth, founder of AllInOneTools