How We Test

The sizes, resolutions and limits on our converter pages come from running real files through the same code the site uses. This page explains how, and what the testing turned up.

By the PortImg team · Last reviewed October 2026

What we measure

For each conversion we look at what a person would notice or need to know before using the file:

  • Pixel size and file size before and after, on photos, logos, screenshots and drawings of known sizes.
  • Resolution (DPI) and real-world size, including the units CAD programs read from DXF files.
  • Colors: whether the color profile is kept, and what happens to CMYK print colors.
  • Transparency: whether a clear background stays clear, turns white or turns black.
  • Animation: whether every frame, its timing and its looping survive.
  • What is lost: text turned into outlines, layers merged, metadata removed.
  • How long the conversion takes on our server.

How a converter page is written

  1. We pick sample files that match how people use the converter: phone photos, transparent logos, screenshots, CAD drawings measured in millimeters, EPS files with CMYK colors, animated stickers.
  2. We run them through the conversion functions the site itself calls, on a test copy of our server (the same software and settings), and record what comes out.
  3. We write the page from those measurements only. Claims we could not check, about other programs or "best quality", are left out.
  4. A separate review checks every sentence against the measurements and the code, and we correct what it finds.
  5. Automated tests check the key facts on each page, so a later change to a tool cannot quietly make its page wrong.

What does the work

PortImg is built on well-known open-source software. Knowing which one handles your file explains most of what you get back.

TaskSoftwareWhere it runs
Converting JPG, PNG, WebP, GIF, BMP and TIFFPillow 13Our server
Tracing images into SVG, EPS and DXFpotrace 1.16Our server
Reading EPS filesGhostscript 10Our server
SVG to EPS and to PNG, JPG and other imagesCairoSVGOur server
SVG to DXF, EPS to SVG and DXFInkscape 1.2Our server
Reading DXF drawingsezdxf 1.4 with matplotlibOur server
Word to PDFLibreOffice 24.2Our server
Excel to PDFpandas and matplotlib (ReportLab as a fallback)Our server
PDF to Wordpdf2docxOur server
Adding and removing PDF passwordspikepdf (qpdf), AES-256Our server
Removing backgroundsrembgOur server
Passport photos (finding the face, building the print sheet)OpenCV and FPDFOur server
HTML to imageChromium, driven by PlaywrightOur server
Reading text from images (OCR)Tesseract (tesseract.js)Your browser
Merging, compressing and editing PDFspdf-libYour browser
PDF to image, and showing pages in the PDF editorPDF.jsYour browser
Image to PDFjsPDFYour browser
Creating and opening ZIP filesJSZipYour browser

What testing found and fixed

Measuring before writing means we sometimes find that a tool does not do what it should. These are the bugs we found and fixed in October 2026, before we published the rewritten pages for those tools:

  • Phone photos came out sideways when converted from JPG: the rotation the camera records was ignored. They are now turned upright.
  • CMYK JPGs from print work failed to convert to PNG. They now convert, using their own color profile when they have one.
  • SVG to DXF dropped every rectangle, circle, line and piece of text, keeping only paths. Every shape is now exported.
  • CAD lines in the default color (white on a CAD screen) vanished when a DXF was converted to JPG or BMP. Drawings are now plotted black on white.
  • EPS to TIFF produced uncompressed files marked 1 dpi: an A4 page was 104 MB. It is now 600 dpi with lossless compression, 1.4 MB.
  • Animated WebP to GIF kept only the first frame, and transparent images became white in GIF. Animations and clear backgrounds are now kept.
  • Transparent GIFs turned black when converted to JPG. They are now placed on white.
  • Create ZIP stored files without compressing them. It now compresses them.
  • Edit Image downloaded a 900-pixel copy instead of the full-size photo. It now downloads at full size.
  • Remove PDF Password could not unlock PDFs that open freely but block printing or editing. It now can.

Your files during testing and use

We test with our own sample files, never with files people upload. When you use a tool that runs on our server, your file is uploaded over HTTPS, converted, and deleted automatically within 2 hours: a cleanup runs every hour and removes everything older than one hour. Tools that run in your browser never upload the file at all.

Found something we got wrong?

If a page says something a tool does not do, or a file comes out differently from what we describe, email [email protected] with the page and, if you can, the file. We check every correction against the tool and fix the page or the tool. More about us on the About page.