Image to PDF — Merge Images into One PDF Online, Processed Locally
Merging photos, screenshots and scans into one PDF looks like a simple change of file extension, but it really means deciding the page size, aspect ratio and margins for every image. The whole process runs locally in your browser: images are never uploaded, and the page keeps working offline as long as it stays open. JPG, PNG, WebP, BMP and static GIF are supported; pick files, drag in a batch, paste a screenshot, or load an image from a URL. Portrait photos taken on a phone are straightened using their orientation tag, animated images contribute only their first frame, and corrupt or oversized files are rejected with a clear message. Thumbnails can be dragged to reorder pages, moved to the top or bottom, rotated individually or deleted, and landscape and portrait images can be mixed freely. Paper sizes include A4, A3, A5, Letter, Legal and B5, or you can follow each image so that every page has its own dimensions. Orientation supports portrait, landscape and automatic matching; all four margins and the background colour are adjustable. Fit modes cover contain, cover with cropping, stretch to fill and original-size embedding, with stretch locked behind a separate switch and a no-upscale option to keep small images sharp. A quality slider plus JPEG and PNG encoding control the output, while eligible JPG and PNG files can be embedded byte for byte without re-encoding. Grid layouts, page numbers, custom headers and automatic splitting of very tall images are also available. The paginated preview on the right renders the finished file directly; download it under a custom name, or take the Blob and byte array for printing.
Import Images
Loading from a URL requires the other server to allow cross-origin access. If it fails, save the image locally and drag it in.
Image List & Sorting
Drag cards to change the PDF page order, or use the buttons to move up, down, to the top or to the bottom. Landscape and portrait images can be mixed.
PDF Paper Settings
Adaptive mode sizes each page after the image on it, so a single PDF can contain pages of different dimensions. A fixed paper size combined with automatic orientation can also switch between portrait and landscape per image.
Top, right, bottom and left can be set independently in millimetres. Excessively large margins are shrunk automatically so the page keeps a usable area.
Areas not covered by a transparent PNG show this colour. It also fills transparent regions when exporting with JPEG encoding.
Image Fit
Contain scales proportionally and leaves white space; cover fills the usable area and crops the overflow; original size converts pixels to points at the chosen resolution without scaling up or down.
Stretch distorts the image and is locked by default; enable the switch above before selecting it. Never upscale keeps small images from being blown up to a full page and going blurry.
Quality & Encoding
Eligible JPG and PNG files are written into the PDF as their original bytes, with no decoding and no second compression, so they stay smaller and lose no quality. Rotation, flipping, long-edge scaling, automatic splitting, EXIF orientation correction, and WebP, BMP or GIF sources are all re-encoded instead.
Only affects re-encoded images. Higher values look sharper but produce larger files. Losslessly embedded originals are unaffected.
On by default. For lossless JPEG embedding, only the APP1 metadata segment is removed and the compressed pixels are untouched; re-encoded images contain no EXIF at all.
After import, scale every image down so its long edge stays within this many pixels. This re-encodes images and is incompatible with lossless embedding.
Advanced Layout
Multiple images per page places neighbouring images into cells on the same page, which suits photo index sheets and ID collages. Automatic splitting of very tall images only works with one image per page.
When a long screenshot or tall scan is taller than the configured multiple, it is sliced across several pages at the usable page height. Each slice uses contain, so nothing is stretched.
Export & Download
Finished Preview
The size above is estimated from the images and encoding. It becomes the real size after generation.
How to use
- Drag images onto the page, or click to pick several at once. You can also paste a screenshot with the paste shortcut, or paste a link into the image URL box if that is all you have. The tool identifies the real format from the file header, so a wrong extension is still detected; animated images contribute only their first frame, and portrait photos taken on a phone are straightened from their orientation tag first.
- In the image list and sorting panel, drag cards to change the PDF page order, or use the move up, move down, move to top and move to bottom buttons. Each image can be rotated ninety degrees or removed on its own; you can also select all and remove in bulk, or rotate and flip every image at once. The preview on the right immediately reflects the new order.
- Open PDF paper settings to choose the paper, orientation and margins; with the follow-image-size option, every page may have different dimensions. Then choose contain, cover with cropping or original-size embedding under image fit; if you want stretching that distorts the image, turn on the allow switch first. To place several images on one page, pick a grid under advanced layout; very tall screenshots can use automatic splitting, and page numbers and headers can be set at the same time.
- Under quality and encoding, decide whether to enable lossless embedding: eligible JPG and PNG files are written through unchanged, while everything else uses the quality slider and encoding format to control file size. Finally, flip through the paginated preview on the right to confirm, enter a file name and click download PDF. If you need to hand the result to code, click get Blob, or send it straight to the browser print dialog.
Frequently asked questions
Are my images uploaded to a server? Is the generated PDF safe?
No. Decoding, layout, encoding and preview all happen in your browser's local memory. The page never sends your originals or the finished file to any server, and it keeps working offline as long as the page is already open. Loading from a URL is the only exception: the browser has to fetch the image directly from the address you provide, which is subject to that server's cross-origin policy. If it fails, save the image locally and drag it in instead. Clearing browsing data leaves no copy on the device either.
What is the difference between lossless embedding and the quality slider?
The quality slider governs re-encoding: the image is decoded onto a canvas and compressed again as JPEG or PNG, so a higher value looks sharper but produces a larger file. Lossless embedding takes a different route, handing the raw bytes of a JPG or PNG straight to the PDF image object with no decoding and no second compression; the pixels are completely unchanged and the file is usually smaller. The conditions are fairly strict: the source must be JPG or PNG, with no rotation or flipping, no uniform long-edge downscale, no EXIF orientation to correct, and it must not take part in automatic splitting. The image cards mark which files need re-encoding.
My phone photo is sideways. Will removing EXIF cause a problem?
It will not end up sideways. Cameras often store portrait photos in landscape orientation and only write an orientation tag into the APP1 metadata segment; the tool reads that tag and straightens the picture before layout begins. With metadata removal on by default, lossless JPEG embedding drops only the metadata segment and leaves the compressed pixels untouched, byte for byte; re-encoded images contain no EXIF in the first place. That way the picture does not lie on its side because a reader ignored the orientation tag, and capture time, location and device model do not travel into the finished file.
Should I choose contain, cover, stretch or original size?
Use contain for IDs, contracts and screenshot archives: the whole image stays visible at the cost of white space around it. Use cover for covers and photo walls: the picture fills the usable area and the overflow is hidden by a clipping path, so keep the subject near the centre. Stretch forces the width and height to the page dimensions and will deform faces and text, which is why it is locked by default behind its own switch. Original size converts pixels to points at the chosen resolution, which suits high-resolution scans; anything larger than the page is clipped. Turning on no-upscale keeps small images from being blown up to a full page and going blurry.
Text in a long screenshot is too small. How do grids and automatic splitting work together?
Turn on automatic splitting for very tall images under advanced layout. When an image is taller than the configured multiple of its width, it is sliced across several pages at the usable page height, and each slice is placed with contain so nothing is stretched; long screenshots and tall scans become readable page by page. This mode only works with the one-image-per-page grid. If instead you want several photos on a single page as an index, choose a two-by-two or three-by-three grid and adjust the grid gap. The two features serve different purposes, so pick one. If the page count gets high, the tool warns you, and you can limit the long edge of every image first to reduce file size.
What is it
A PDF page is essentially a sheet of coordinate paper with a fixed size, measured in points where one point equals one seventy-second of an inch; A4 is 595.28 by 841.89 points. Inside a PDF an image is a separate image object, and the page content stream only records a transformation matrix telling the reader which rectangle to place that image in. Conversion therefore does not rewrite pixels into some other kind of pixels; it chooses a target rectangle for each image and embeds the original image data in the file. How that rectangle is chosen depends on the paper, margins and fit rule: contain takes the smaller of the width and height scale factors so the whole image is visible but leaves white space; cover takes the larger factor and hides the overflow with a clipping path; stretch simply writes the width and height of the usable area, distorting the proportions; original size converts pixels to points at the chosen resolution without scaling up or down. Embedding then splits into two routes. JPEG and PNG are already natively supported image encodings in PDF, so their bytes can be written through unchanged, with no decoding and no second compression, preserving both quality and file size. WebP, BMP, GIF and any image that needs rotation, flipping, resizing or slicing must first be decoded onto a canvas and re-encoded. Understanding the difference between these two layers matters: rearranging pages costs almost no quality, while re-encoding does. One more detail: PDF readers generally ignore EXIF orientation tags, so phone photos carrying orientation information must have that rotation baked into the pixels before embedding, otherwise the image will appear sideways on the page.
Origin & history
PDF was born in 1991 from Adobe's Camelot project, whose goal was called the universal document: open a file on any machine, in any software, with any fonts, and the layout should look exactly the same. Acrobat and PDF 1.0 arrived in 1993. The page description inherited PostScript's imaging model, with coordinates measured in points of one seventy-second of an inch, which is why A4 is 595.28 by 841.89 points and one millimetre is about 2.83 points today. Putting images into a PDF was not easy in the early days: the image had to be encoded as a stream object with DCT or Flate, registered in the page resource dictionary, and finally positioned and sized with a transformation matrix. That structure later became an advantage: an image inside a PDF is an independent object and the page only handles placement, so the same image can be reused across pages and scaled without decoding again. When digital cameras spread in the late 1990s, scanners and photo libraries began packaging batches of pictures into PDFs for archiving, and image-to-PDF became a requirement in its own right for the first time. In 2008 Adobe handed PDF 1.7 to ISO as ISO 32000-1, turning a company specification into a public standard, and browsers gradually built in their own readers. The real turning point came after HTML5: the canvas could read pixels and export JPEG and PNG, Fetch could retrieve remote images, and WebAssembly let parsing libraries run inside a page. Later, libraries such as pdf-lib let front-end code create pages, embed image streams and write clipping paths directly, while pdf.js rendered the generated bytes back to the screen immediately. So layout work that once had to be sent to a server can now close the loop in local memory: originals never leave the device, the preview is the finished product, and download hands you the file. It is worth noting that after more than thirty years the format still uses the same point-based coordinates and converts margins from millimetres, while users still agonise over the same questions from the 1990s: leave white space or not, will it be cropped, is it sharp enough. What has changed is that those choices can finally be seen instantly.
Related keywords
Feedback
Found a problem with a tool or have a suggestion? Email us — we read every message.
