Compress JPEG
Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.
Compress JPEGWrite, format and export. Your draft is saved to this device as you type and never leaves it.
Ready.
Your work is saved to this browser's local storage as you type. It never leaves your device, and clearing your browser data will erase it. This editor runs entirely in your browser. The document is stored in local storage on this device and is never sent to a server.
More tools
Each one runs in the browser the same way, with no upload and no account.
Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.
Compress JPEGReduce PNG screenshots and graphics while keeping transparency and hard edges intact.
Compress PNGRe-encode WebP images at a lower quality, or convert JPEG and PNG into WebP.
Compress WebPChange pixel dimensions by width, height or percentage, with the aspect ratio locked.
Resize an imageCombine several photos into one PDF, reorder the pages and choose paper size and margin.
Build a PDFSpecification
Every capability written out as text, including the ones where the answer is no. A specification that only listed the wins would not be worth reading.
| Attribute | This tool |
|---|---|
| Supported input formats | JPG and JPEG |
| Output formats | JPEG, PNG, WebP |
| Compression type | LossyJPEG discards detail permanently by design. PNG output is lossless but far larger for photographs. |
| Quality control | Adjustable, 10 to 100Maps directly to the encoder's quality setting. Moving it genuinely changes the output. |
| Exact output file size | Yes — target in KBThe encoder searches for the highest quality that fits under your limit, then reports the size it actually reached. |
| Resize / image dimensions | Yes — max width and heightAspect ratio preserved. The resizer page adds exact pixel and percentage modes. |
| Batch / bulk processing | UnlimitedFiles are encoded in parallel across a Web Worker pool and can be downloaded as one ZIP. |
| Maximum file size | No limit set by this siteBounded in practice by your device's memory, since each image is held uncompressed while it is processed. |
| EXIF and metadata | Stripped by defaultCamera model, timestamps and GPS coordinates are removed. You can switch it off. |
| Transparency / alpha channel | Not applicable to JPEGJPEG has no alpha channel. Choose PNG or WebP output if you need transparency. |
| Chroma subsampling control | Not availableThe browser's encoder chooses it and exposes no setting. We will not add a control that cannot affect the output. |
| Progressive JPEG control | Not availablecanvas.toBlob gives no control over progressive encoding. Use MozJPEG or ImageMagick if you need it. |
| Colour profile handling | Converted to sRGBA browser canvas works in sRGB, so wide-gamut images are converted. Correct for the web, wrong for print masters. |
| Bit depth | 8 bits per channelThe maximum a browser canvas provides. HDR and 10-bit output need AVIF, which browsers cannot write. |
| Animation support | Not supportedA canvas decodes only the first frame of an animated file, so animation is out of scope rather than half-supported. |
| Where processing happens | In your browserNo upload endpoint exists in the compression path. Disconnect from the network after the page loads and it still works. |
| File retention | None — nothing is receivedThere is no copy to retain or delete, because no file is ever transmitted. |
| Watermark | NeverThe output contains your image and nothing else. |
| Account, quota or cost | NoneNo sign-up, no daily cap, no paid tier withholding a feature. |
| Browser support | Chrome, Edge, Firefox, SafariDesktop and mobile. Requires Canvas and Web Workers, which every current browser provides. |
How it works
Type directly into the page and use the toolbar for headings, lists, tables, links and images. The draft saves itself as you go.
Apply headings, emphasis, quotes and tables, or switch to the HTML source view to work with the markup directly.
Download as PDF, DOCX or HTML, or send it straight to your printer. All three are generated in the browser.
Features
Headings, bold, italic, underline, lists, blockquotes, code blocks, tables, links and images.
Generates a real PDF in the browser with pdf-lib, paginated and ready to print or send.
Produces a Word-compatible document that opens in Word, Google Docs and LibreOffice.
Switch between the rich-text surface and the underlying markup at any time.
Your draft is written to this browser's local storage continuously, with the last save time shown.
Word and character counts update as you type, under the editing surface.
After the first load, the editor and every export run without a network connection.
No sign-up, no export limit and nothing added to your document.
In depth
PDF is a fixed layout. It records where every glyph sits on a page of known dimensions, which is why it looks identical everywhere and why it is awkward to edit. Use it when the document is finished and is going to be read or printed rather than revised.
DOCX is a flow format: a zipped bundle of XML describing structure and style, which the reading application lays out itself. That makes it editable and makes it reflow, and it also means two applications can render the same file slightly differently.
HTML is also a flow format, and the most portable of the three. It is the right choice when the content is going onto a website or into an email, and the worst choice when the recipient needs a page that prints identically.
Every export is a translation between models that do not share the same vocabulary. HTML has no concept of a page break; DOCX has no concept of a CSS cascade; PDF has no concept of a heading level unless one is deliberately tagged.
What travels reliably is structure: headings, paragraphs, lists, tables, emphasis, links. What travels poorly is presentation: exact fonts, precise spacing, floated layouts and anything depending on the width of the window. Writing with proper headings rather than manually enlarged bold text is the single habit that makes exports behave.
Local storage is convenient but it is not a backup. It lives in one browser profile on one device, and it is cleared by "clear browsing data", by private-browsing sessions ending, and sometimes by the browser itself when disk space runs short.
Export anything that matters. An HTML or DOCX export takes a second and gives you a real file on disk that is not at the mercy of a browser setting.
Use one level-one heading for the title, level-two headings for the main sections, and level-three headings beneath those only when a section genuinely divides. Skipping from a level-two to a level-four heading confuses screen readers and every export target.
Keep paragraphs short — three or four sentences is plenty — and use lists only for things that are genuinely a list. A page of bullet points carries less meaning than a page of prose, not more, because the connections between the points have been deleted.
Questions
Every answer below is present in the page source, expanded, so it can be read without opening anything.
In this browser's local storage, on this device only. Nothing is sent to a server, there is no account, and no copy exists anywhere else. That also means clearing your browser data, or using private browsing, will remove the draft — export anything you want to keep.
Yes, continuously as you type, with the time of the last save shown beneath the editor. If you close the tab and come back later on the same browser, the document is restored.
PDF, DOCX and HTML, plus a direct print option. PDF is generated in the browser with pdf-lib; DOCX is generated with the docx library and opens in Word, Google Docs and LibreOffice; HTML gives you the raw markup.
Headings, paragraphs, bold, italic, underline, ordered and unordered lists, blockquotes and tables are carried across. Fine typographic control — exact fonts, letter spacing, page furniture — is not, because DOCX and HTML model layout differently. Treat the export as a well-structured starting point rather than a pixel copy.
Yes, through the image button in the toolbar. Images are embedded into the document as data in local storage, which means very large images will make the saved draft large. Compress them first if they came from a camera.
Yes, with a live word and character count under the editor, updating as you type.
Yes. The source view toggle swaps the rich-text surface for the underlying HTML, so you can paste markup in or clean it up by hand, then switch back.
Once the page has loaded, yes. The editor and all three exports run entirely in the browser, so you can disconnect and keep working.
No. This is a single-user, single-device editor with no account system and no synchronisation. There is no collaboration feature and none is advertised.
Basic structure usually does — headings, lists, bold and italic. Word carries a great deal of proprietary markup that is stripped on the way in, which is normally what you want. Check the result before exporting.
No. Documents are limited in practice by the browser's local storage quota, which is typically several megabytes — far more than a long text document needs, though embedded images will consume it quickly.
Yes. No account, no trial, no export limit, no watermark on the PDF or DOCX, and no feature reserved for a paid tier.
Related topics
Related concepts, formats and guides across the site. Every link goes to a page that covers the term properly.
From the blog
Longer explanations from the blog.
Attachments are base64-encoded in transit, which inflates them by about a third. A 20 MB limit is really a 15 MB limit. Resize to 1600 pixels on the long edge and encode at quality 80, and a photograph lands near 150 KB.
9 min read
Resize before you compress. Measured on one photograph: half the width at quality 80 produced a 16.4 KB file, while full width at quality 40 produced 20.6 KB and looked far worse. The order of operations matters more than the settings.
8 min read
A photograph from a phone can carry the coordinates of the place it was taken, the camera serial number and the exact timestamp. Removing that data is straightforward. Removing it carelessly rotates your photos sideways.
9 min read