Byte budget
Hit an exact file size
Type the limit a form is demanding and the tool searches quality and dimensions until the real byte count fits under it. No guessing, no repeated exports.
Compress to any sizePythonware · 65 tools
Every tool here runs inside your browser. Your files are opened, processed and saved by your own computer, and never sent to a server. No account, no queue, no file size limit.
What we publish
Hitting an exact file size, resizing in pixels or centimetres, cropping, converting formats, stripping metadata, and the awkward jobs upload forms demand.
Merging, splitting, rotating, compressing to a limit, signing, numbering and inspecting PDFs, plus conversion both ways between pages and images.
The background the tools cannot give you: what upload limits mean, how JPEG quality maps to file size, and what a scan will weigh before you make it.
Browse everything
| Tool | What it does | Accepts |
|---|---|---|
| compress to 20 KB | For exam and recruitment forms that cap photos and signatures at 20 KB | jpg, png, webp |
| compress to any size | Type any target in KB or MB and hit it | jpg, png, webp |
| compress to 50 KB | Hit a 50 KB upload limit, with or without changing the pixel dimensions | jpg, png, webp |
| compress to 100 KB | A 100 KB budget, sized for email attachments and CMS uploads | jpg, png, webp |
| compress to 200 KB | A 200 KB budget for hero images, with a JPEG against WebP comparison | jpg, png, webp |
| compress to 500 KB | Email and portal attachments, keeping print quality | jpg, png, webp |
| resize in pixels | Set an exact width and height, with or without locking the aspect ratio | jpg, png, webp |
| increase image KB | Pad a file up to a minimum size, or re-encode it larger | jpg, png |
| passport photo | Standard passport and visa sizes at 300 DPI on a white background | jpg, png |
| crop image | Drag a selection, or type exact coordinates, with ratio presets | jpg, png, webp |
| resize in cm | Work in centimetres, millimetres or inches at a chosen DPI | jpg, png |
| blur or pixelate | Hide a face, plate or address by drawing a box over it | jpg, png, webp |
| strip Exif | Delete Exif, GPS and comments without re-encoding a single pixel | jpg, png |
| rotate and flip | Turn by 90 degrees or mirror, without re-compressing more than once | jpg, png, webp |
| watermark image | Text across a photo, tiled or single, with opacity control | jpg, png, webp |
| grayscale and tone | Black and white, sepia or inverted, with adjustable strength | jpg, png, webp |
| circle crop | Round avatar with real transparency, saved as PNG | jpg, png, webp |
| add a border | Even border, or pad to a square for platforms that crop | jpg, png, webp |
| view Exif data | Read the camera, date and GPS tags hidden in a photo | jpg |
| aspect ratio | Work out the missing width or height for a ratio | no upload |
| convert to JPG | PNG, WebP, BMP or GIF to JPEG, several files at a time | png, webp, bmp, gif |
| convert to PNG | Lossless PNG output, keeping transparency where it exists | jpg, webp, gif, bmp |
| convert to WebP | Batch convert to WebP and see exactly how many bytes it saved | jpg, png, gif |
| change DPI | Read and rewrite the density tag, with or without resampling | jpg, png |
| image to Base64 | Data URI, plus ready-made CSS and HTML snippets | any image |
| favicon generator | A real multi-size .ico plus the PNGs and the markup to go with them | png, jpg, svg |
| Base64 to image | Paste a data URI and get the file back | base64 text |
| SVG to PNG | Rasterise a vector file at any size you choose | svg |
| print size | Pixels to centimetres and back at any DPI | no upload |
| split into tiles | Cut an image into a grid and save each piece | jpg, png, webp |
| merge images | Join several images side by side, stacked or in a grid | jpg, png, webp |
| add text to an image | Captions top and bottom, with an outline that stays readable | jpg, png, webp |
| dress up a screenshot | Padding, a background, rounded corners and a shadow | png, jpg |
| pick colours | Click any pixel for its hex code, plus the dominant palette | jpg, png, webp |
| colour converter | Hex, RGB and HSL in every direction, with contrast checks | no upload |
| bulk resize | Resize and compress a whole folder of images in one pass | jpg, png, webp |
| compare two images | Highlight every pixel that differs between two versions | jpg, png, webp |
| megapixel calculator | Pixels to megapixels, and the biggest print it will stand | no upload |
| image size estimator | Predict the file size before you export | no upload |
| savings calculator | What compressing actually saved, in bytes and bandwidth | no upload |
| upload time | How long a file takes to send on a real connection | no upload |
| Tool | What it does | Accepts |
|---|---|---|
| compress PDF | Rebuild pages as compressed images, or repack the file losslessly | |
| compress to a size | Type a target in KB or MB and reduce the PDF until it fits | |
| merge PDF | Join several PDFs, reorder them first, no page limit | |
| split PDF | Pull out a page range, or break a document into single pages | |
| JPG to PDF | Photos into one PDF, with page size, margin and orientation control | jpg, png |
| PDF to JPG | Render pages to JPEG or PNG at a resolution you choose | |
| delete pages | Remove pages by number and keep everything else intact | |
| rotate PDF | Turn some or all pages and save the rotation permanently | |
| increase PDF KB | Pad a PDF up to a minimum file size, leaving every page identical | |
| crop PDF | Trim margins by setting a crop box, no rasterising | |
| sign a PDF | Draw a signature and place it on a page | |
| reorder pages | Rearrange, reverse or interleave pages by typing an order | |
| page numbers | Stamp numbers in any corner, with a starting value and a format | |
| watermark PDF | Diagonal or horizontal text stamp, with opacity and colour control | |
| resize to A4 | Put mixed page sizes onto one consistent paper size | |
| extract text | Pull the text layer out as plain text, page by page | |
| pages per sheet | Put 2 or 4 pages on one sheet to save paper | |
| PDF metadata | Read and rewrite the title, author and other document properties | |
| inspect a PDF | Page count, page sizes, text layer, encryption and properties | |
| add blank pages | Insert empty pages at any position, matching the page size | |
| text to PDF | Paste text and get a properly paginated PDF | plain text |
| scan size calculator | How big a scan will be before you start scanning | no upload |
| PDF size estimator | Predict how heavy a PDF will be from what is in it | no upload |
| attachment limit | Why a 25 MB limit will not take a 25 MB file | no upload |
How it works
Browsers have been able to decode, redraw and re-encode files locally for years. Once that is true, sending a private document to a stranger's server to shave forty kilobytes off it stops making sense.
Each does a single job and says plainly what it will and will not do to your file.
Your file is read by the browser and processed by your own machine. No queue, no size cap, no waiting on somebody else's server.
The finished file is handed back as a download. Close the tab and every trace is gone, because there was nowhere else for it to be.
Verify it yourself: open your browser's network tab and run any tool, or disconnect from the internet once the page has loaded and watch everything still work.
pythonware.com published the Python Imaging Library and its documentation for many years. PIL taught a generation of programmers to open, resize and convert images in Python.
Plain HTML, one hand-written stylesheet and vanilla JavaScript. No framework and no webfonts. It loads quickly because there is very little of it.
This site carries Google AdSense advertising, which sets cookies. Your files are still never uploaded; the ads and your documents have nothing to do with each other.