# MiniPx > Shrink your images, not your quality. Free browser-based image compression, conversion, and resizing. Your files never leave your device. MiniPx is a free, privacy-first image tool that runs entirely in your browser. Your images are never uploaded — no server ever sees a pixel of them, and using MiniPx needs no sign-up. Compress, convert, and resize images in PNG, JPEG, WebP, AVIF, HEIC, BMP, SVG, GIF, and TIFF formats. v4.1 adds on-device AI Background Removal and Passport/Visa Photo Maker plus a Pro tier for power users (batch, responsive sets, multi-format export, watermarking, presets). ## AI Tools (on-device) - [Background Remover](https://minipx.com/background-remover/): Browser-based AI background removal using RMBG-1.4 (44 MB, INT8 ONNX) via ONNX Runtime Web with WebGPU acceleration, plus a 250 KB MediaPipe tier for people and selfies. Free for 1080p with small watermark, Pro for 4K and bulk processing. Nothing uploaded. - [Passport Photo Maker](https://minipx.com/passport-photo-maker/): AI-driven passport and visa photo maker with auto background replacement (RMBG-1.4 via ONNX), face positioning via MediaPipe BlazeFace + spec-compliant eye-position alignment, JPEG quality-loop encoding to fit per-spec file-size budgets, and government-spec dimension compliance. 18 spec sub-pages covering India, South Asia, East Asia, Europe, Americas, ANZ, and the Middle East. - [Passport Photo Background Change](https://minipx.com/passport-photo-background-change/): The background-change entry point into the passport pipeline. Spec drives the fill colour (white: India MEA, US State Dept, Schengen, China white-only, Canada, UAE, Pakistan, Bangladesh, S. Korea; light grey: UK HMPO, Germany Bundesdruckerei; white/light: Japan, Australia). Free tier runs the full pipeline on a 1080px cutout with a small watermark; Pro: no watermark, a 2400px cutout pipeline, manual crop, 4×6 print sheet. The delivered photo is sized to the country’s official spec either way. On-device. - [Add White Background to Photo](https://minipx.com/add-white-background-to-photo/): ADD-white intent (inverse of white-background-remover). Free: transparent PNG cutout, 1080px, small watermark. Pro: compose onto solid white as flattened JPEG, 4K, no watermark. Explains transparent-vs-flattened file semantics and a genuinely free DIY flatten route via any layered editor. On-device. - [White Background Product Photo](https://minipx.com/white-background-product-photo/): Listing-image intent. Amazon main-image policy (pure white RGB 255,255,255, no props/text/watermarks, suppression risk), eBay recommendation, Etsy convention. Light-the-product-not-the-background workflow; honest weak spots (reflective/transparent products). Free cutout; Pro white compose + 4K + batch. On-device. - [India Passport Photo](https://minipx.com/passport-photo-maker/india-passport/): 35×45mm, 413×531px @ 300 DPI, white background, 10-100 KB JPEG - [Aadhaar Photo](https://minipx.com/passport-photo-maker/india-aadhaar/): UIDAI spec, 35×45mm, white background, 4-100 KB - [India PAN Card Photo](https://minipx.com/passport-photo-maker/india-pan/): NSDL/UTIITSL spec, 25×35mm, 213×264px @ 240 DPI, white background, 4-200 KB JPEG - [India Driving Licence Photo](https://minipx.com/passport-photo-maker/india-driving-licence/): Sarathi Parivahan / Ministry of Road Transport spec, 35×45mm, 413×531px @ 300 DPI, white background, 10-200 KB JPEG - [India OCI Card Photo](https://minipx.com/passport-photo-maker/india-oci/): Ministry of Home Affairs OCI services spec, 51×51mm square (2×2 in), 600×600px @ 300 DPI, white background, 10-200 KB JPEG - [Pakistan Passport Photo](https://minipx.com/passport-photo-maker/pakistan-passport/): DGIP spec (dgip.gov.pk), 35×45mm, 413×531px @ 300 DPI, white background, 40-240 KB JPEG. For Machine-Readable Passport and e-passport applications. - [Bangladesh E-Passport Photo](https://minipx.com/passport-photo-maker/bangladesh-passport/): Department of Immigration & Passports spec (epassport.gov.bd), 45×55mm, 531×651px @ 300 DPI, white background, 40-240 KB JPEG - [Japan Passport Photo](https://minipx.com/passport-photo-maker/japan-passport/): MOFA Japan spec, 35×45mm, head 32-36mm chin-to-crown, 413×531px @ 300 DPI, white/light background, 40-300 KB JPEG - [South Korea Passport Photo](https://minipx.com/passport-photo-maker/south-korea-passport/): MOFA Korea spec (passport.go.kr), 35×45mm, 413×531px @ 300 DPI, white background, 10-100 KB JPEG (tight budget) - [US Visa Photo](https://minipx.com/passport-photo-maker/us-visa/): 2×2 in, 600×600 px @ 300 DPI, white background, 54-240 KB JPEG - [UK Visa Photo](https://minipx.com/passport-photo-maker/uk-visa/): 35×45mm, light grey background, 50-1024 KB - [Schengen Visa Photo](https://minipx.com/passport-photo-maker/schengen-visa/): ICAO 9303 spec, 35×45mm, white background, 20-500 KB - [Germany Biometric Passport Photo](https://minipx.com/passport-photo-maker/germany-passport/): Bundesdruckerei / Federal Foreign Office spec, 35×45mm, 413×531px @ 300 DPI, light grey background (#E8E8E8) per ICAO 9303, 50-1024 KB JPEG - [Canada Visa Photo](https://minipx.com/passport-photo-maker/canada-visa/): IRCC spec, 50×70mm, white background, 60-240 KB - [Australia Visa Photo](https://minipx.com/passport-photo-maker/australia-visa/): 35×45mm, white background, 50-1024 KB - [China Visa Photo](https://minipx.com/passport-photo-maker/china-visa/): 33×48mm, white background only, 40-120 KB - [UAE Visa Photo](https://minipx.com/passport-photo-maker/uae-visa/): 43×55mm, white background, 20-300 KB - [Singapore Visa Photo](https://minipx.com/passport-photo-maker/singapore-visa/): ICA spec, 35×45mm, white background, 60-102 KB - [Remove Background From Image](https://minipx.com/remove-background-from-image/): SEO satellite for the bg-remover hub - [Transparent Background Online](https://minipx.com/transparent-background-online/): Make any image transparent in-browser - [Remove Background From Photo](https://minipx.com/remove-background-from-photo/): Photo-specific BG removal landing - [AI Background Removal](https://minipx.com/ai-background-removal/): Explains the on-device AI architecture (RMBG-1.4 + MediaPipe over WebGPU) - [Background Eraser](https://minipx.com/background-eraser/): One-click AI eraser landing - [PNG Transparent Background](https://minipx.com/png-transparent-background/): RGBA PNG with proper alpha channel - [AI Image Upscaler](https://minipx.com/image-upscaler/): Real-ESRGAN super-resolution (realesr-general-x4v3, 4.9 MB) in the browser via WebGPU/WASM. 2x and 4x. Free: 1080px input / 4320px output, watermarked. Pro: 2048px (4x) or 4096px (2x) input, 8192px output ceiling - [Image Enlarger](https://minipx.com/image-enlarger/): Print-and-framing angle on the same engine — DPI arithmetic, poster/canvas targets, old-photo enlargement, honest failure cases - [Upscale Image to 4K](https://minipx.com/upscale-image-to-4k/): Resolution-target angle — UHD 3840x2160 vs DCI 4096x2160, source-width math, wallpaper and thumbnail use cases ## Pro Features MiniPx Pro unlocks bulk processing and advanced controls while keeping everything client-side. Pricing: $4.99/mo, $39/yr, or $79 lifetime via Paddle (merchant of record). Licenses are HMAC-SHA256 signed envelopes with constant-time verification — no offline forge bypass. Device caps enforced per plan (5 monthly / 5 yearly / 10 lifetime) via Netlify Blobs with rate-limited validation (10/min, 100/day per IP). Self-service device management — viewing and revoking activated devices — lives at /account/, a noindex page that is deliberately not linked or crawled. - [Responsive Image Generator](https://minipx.com/responsive-image-generator/): One input becomes up to 4 sizes (150/640/1280/2560 px) for srcset workflows - [Multi-Format Image Export](https://minipx.com/multi-format-image-export/): Pro fan-out — Cartesian product of sizes × formats (up to 16 outputs per input from one click: 4 sizes × 4 formats) - [Image Watermark Tool](https://minipx.com/image-watermark-tool/): Bulk text overlay with 9 anchor positions, opacity, scale and colour — applies to primary blob AND fan-out variants - [Batch Image Processor](https://minipx.com/batch-image-processor/): Unlimited batch (Pro). Free is capped at 5 files per batch. Drop zone disabled mid-batch to prevent stranded files. - 12 platform presets (Instagram, Twitter, LinkedIn, Facebook, Pinterest, YouTube thumbnail, etc.) — saved presets persist in the browser that made them, with no export, import or sync - Advanced codec controls: JPEG chroma subsampling (4:4:4 vs 4:2:0) and per-format quality overrides, which apply to every output in that format, the primary included; a format left blank follows the main quality setting. There is no AVIF effort or WebP method dial — no encoder on the browser path accepts one. - Batch rename: 6 fixed naming templates (sequence, date, width, format, or keep the original name). There is no free-text pattern field. - AI Pro tier: 4K background remover, a higher-resolution source pipeline for passport photos (the delivered file is sized to the country’s official spec on either tier), manual crop, 4×6 print sheet - Free preview always available — Pro unlocks output, downloads, and bulk - [Why Was My Photo Upload Rejected](https://minipx.com/why-was-my-photo-upload-rejected/): eight causes in order: too large, too small, wrong format (HEIC), dimensions, aspect ratio, megapixel cap, filename, content rules - [What Is Image Metadata](https://minipx.com/what-is-image-metadata/): EXIF, IPTC and XMP explained; phone photos carry GPS coordinates; compression writes a new file so metadata does not carry over - [What Is Chroma Subsampling](https://minipx.com/what-is-chroma-subsampling/): 4:4:4 vs 4:2:2 vs 4:2:0; JPEG defaults to 4:2:0 and discards three quarters of colour samples; why red text on white fringes - [MiniPx vs ShortPixel](https://minipx.com/minipx-vs-shortpixel/): local browser compression vs a credit-metered optimisation cloud; ShortPixel free plan is 100 credits/month - [MiniPx vs Optimizilla](https://minipx.com/minipx-vs-optimizilla/): Optimizilla allows 20 images per batch but uploads them; MiniPx free allows 5 and uploads nothing - [MiniPx vs Kraken.io](https://minipx.com/minipx-vs-kraken/): Kraken free web interface rejects images over 1MB, paid plans cap at 8MB; MiniPx has no size limit - [MiniPx vs Caesium](https://minipx.com/minipx-vs-caesium/): both process locally; Caesium is a free open-source desktop app, MiniPx needs no install and runs on phones - [MiniPx vs XnConvert](https://minipx.com/minipx-vs-xnconvert/): XnConvert reads 500+ formats with 80+ actions on desktop; MiniPx covers what browsers and portals accept, with no install - [MiniPx vs Adobe Express](https://minipx.com/minipx-vs-adobe-express/): Adobe Express is a cloud design suite requiring an Adobe account; MiniPx is compression only, no account - [MiniPx vs ImageResizer.com](https://minipx.com/minipx-vs-imageresizer/): ImageResizer.com deletes uploads within 6 hours (8 for JPEG); MiniPx never uploads at all - [MiniPx vs remove.bg](https://minipx.com/minipx-vs-remove-bg/): On-device AI vs cloud comparison - [Pricing](https://minipx.com/pricing/): Pro from $4.99/mo, $39/yr, or $79 lifetime, sold via Paddle (merchant of record) ## Legal & Policies - [Terms of Service](https://minipx.com/terms/): Service terms covering Free and Pro use - [Privacy Policy](https://minipx.com/privacy/): How MiniPx handles data — no upload, no tracking beyond GA4 - [Refund Policy](https://minipx.com/refund/): 14-day no-questions refund for Pro purchases via Paddle, 60 days for technical faults ## Core Tools - [Image Compressor](https://minipx.com/): Compress images to target sizes (10KB–1MB) or quality levels - [Image Converter](https://minipx.com/image-converter/): Convert between PNG, JPEG, WebP, AVIF, and more - [File Compressor](https://minipx.com/file-compressor/): All-in-one compression hub for all image formats - [Photo Compressor](https://minipx.com/photo-compressor/): Compress phone and camera photos for sharing and uploading - [PNG Converter](https://minipx.com/png-converter/): Convert images to and from PNG format with transparency - [Favicon Generator](https://minipx.com/favicon-generator/): Complete favicon set from one image — favicon.ico with 16/32/48px PNG entries, loose 16/32/48px PNGs, 180px apple-touch-icon, 192/512px manifest icons, plus the HTML head snippet. Non-square sources square-padded on transparency, never cropped. All in-browser - [Color Picker From Image](https://minipx.com/color-picker-from-image/): Exact HEX/RGB/HSL from any pixel, sampled at native resolution from the stored file (not the composited screen). Zoom loupe, 8-colour running palette, raw rgba for semi-transparent pixels. All in-browser - [Flip Image](https://minipx.com/flip-image/): Exact horizontal/vertical mirror at full resolution; both axes together equal a 180° rotation. Mirror selfies, print-transfer pre-flips, flip-vs-rotate explained. All in-browser - [Pixelate Image](https://minipx.com/pixelate-image/): True block-average mosaic, 4-64px blocks, whole image or dragged region — censoring and pixel-art. Honest note: small-block pixelation of text is reversible; use big blocks or black-out for real redaction. All in-browser - [Invert Image Colors](https://minipx.com/invert-image-colors/): Exact 255 − v per-channel negative with alpha untouched — deterministic across browsers, unlike CSS invert(1). Invert twice = original pre-encode. All in-browser - [Grayscale Image](https://minipx.com/grayscale-image/): Rec. 709 luminance grayscale (0.2126/0.7152/0.0722) or hard-threshold pure B&W with adjustable 0-255 cutoff. Photos, scans, line art; alpha untouched. All in-browser - [Circle Crop Image](https://minipx.com/circle-crop-image/): Draggable/resizable circle in source-pixel space, transparent PNG out at native resolution. Round avatars without the white-corner problem. PNG-only by design. All in-browser - [Blur Image](https://minipx.com/blur-image/): Multi-region blur with padded-window edges (no halos) + on-device BlazeFace auto face blur (~0.2 MB model fetched once; photo never uploads). Short-range detector honesty + light-blur-is-not-redaction warning. All in-browser - [Meme Generator](https://minipx.com/meme-generator/): Classic top/bottom caption memes in Anton (OFL stand-in for Impact), auto-sized, 3-line word wrap, native-resolution export, no watermark ever. All in-browser - [Image to Text (OCR)](https://minipx.com/image-to-text/): On-device OCR via vendored tesseract.js 7.0.0 (WASM, self-hosted). ~2 MB English model cached after first run, offline thereafter. Plain text + confidence out; JPEG/PNG/WebP/AVIF/HEIC/BMP/GIF/TIFF in. English-only v1, print not handwriting. Free, nothing uploads - [Resize PNG](https://minipx.com/resize-png/): Max-width PNG downscale — lossless encode, alpha resampled through the scale, dimensions as the size lever. Downscale only. All in-browser - [Resize JPG](https://minipx.com/resize-jpg/): Photo downscale + user-chosen JPEG re-encode quality in one pass; EXIF stripped, orientation baked in. All in-browser - [Crop PNG](https://minipx.com/crop-png/): Pixel-exact region copy from screenshots/sprite sheets; alpha kept with PNG/WebP output. All in-browser - [Crop JPG](https://minipx.com/crop-jpg/): Photo recomposition with print/platform ratio locks; honest a-crop-is-a-re-encode note, quality user-set. All in-browser - [Rotate PNG](https://minipx.com/rotate-png/): Exact quarter-turn remaps + lossless encode; transparent corner wedges at free angles. All in-browser - [Rotate JPG](https://minipx.com/rotate-jpg/): EXIF-orientation fix baked into pixels; horizon levelling with colour corner fill and chosen quality. All in-browser - [WebP Converter](https://minipx.com/webp-converter/): Convert to and from WebP format - [AVIF Converter](https://minipx.com/avif-converter/): Convert to and from AVIF format - [Image Resizer](https://minipx.com/resize-image/): Resize images by dimensions or percentage - [Image Resizer](https://minipx.com/image-resizer/): Smart resizing with dimension presets - [Crop Image](https://minipx.com/crop-image/): Crop images with custom aspect ratios - [Rotate Image](https://minipx.com/rotate-image/): Rotate images 90°, 180°, or custom angles - [Remove EXIF Data](https://minipx.com/remove-exif-data/): Strip metadata for privacy - [Image to PDF](https://minipx.com/image-to-pdf/): Convert images to PDF documents - [HEIC to PDF](https://minipx.com/convert-heic-to-pdf/): Combine iPhone HEIC photos into one PDF, one photo per page, entirely in the browser - [PDF to Image](https://minipx.com/pdf-to-image/): Extract PDF pages as images - [Resize to Passport Size](https://minipx.com/resize-image-to-passport-size/): ID and visa photo dimensions - [Resize in KB](https://minipx.com/resize-image-in-kb/): Target specific file sizes - [Image Optimizer](https://minipx.com/image-optimizer/): Smart image optimization - [Image Compressor](https://minipx.com/image-compressor/): Head-term hub — lossy vs lossless, format choice, target sizes - [Bulk Image Compressor](https://minipx.com/bulk-image-compressor/): Batch compress multiple files - [Lossless Compression](https://minipx.com/lossless-image-compression/): Zero quality loss compression - [Browser-Based Compressor](https://minipx.com/browser-based-image-compressor/): 100% private, no upload - [Best Image Compressor 2026](https://minipx.com/best-image-compressor-2026/): Top-rated compressor tools ## Format Compressors - [Compress JPEG](https://minipx.com/compress-jpeg/) - [Compress PNG](https://minipx.com/compress-png/) - [Compress WebP](https://minipx.com/compress-webp/) - [Compress AVIF](https://minipx.com/compress-avif/) - [Compress GIF](https://minipx.com/compress-gif/) - [Compress PDF](https://minipx.com/compress-pdf/): scanned-PDF workflow, not a one-click PDF compressor - [Compress Without Losing Quality](https://minipx.com/compress-image-without-losing-quality/) - [Compress for Aadhaar](https://minipx.com/compress-photo-for-aadhaar/) - [Compress for PAN Card](https://minipx.com/compress-photo-for-pan-card/) ## Format Converters - [AVIF TO JPG](https://minipx.com/convert-avif-to-jpg/) - [AVIF TO PNG](https://minipx.com/convert-avif-to-png/) - [AVIF TO WEBP](https://minipx.com/convert-avif-to-webp/) - [BMP TO JPG](https://minipx.com/convert-bmp-to-jpg/) - [BMP TO PNG](https://minipx.com/convert-bmp-to-png/) - [BMP TO WEBP](https://minipx.com/convert-bmp-to-webp/) - [BMP TO AVIF](https://minipx.com/convert-bmp-to-avif/) - [GIF TO JPG](https://minipx.com/convert-gif-to-jpg/) - [GIF TO PNG](https://minipx.com/convert-gif-to-png/) - [GIF TO WEBP](https://minipx.com/convert-gif-to-webp/) - [GIF TO AVIF](https://minipx.com/convert-gif-to-avif/) - [HEIC TO JPG](https://minipx.com/convert-heic-to-jpg/) - [HEIC TO PNG](https://minipx.com/convert-heic-to-png/) - [HEIC TO WEBP](https://minipx.com/convert-heic-to-webp/) - [HEIC TO AVIF](https://minipx.com/convert-heic-to-avif/) - [HEIC TO PDF](https://minipx.com/convert-heic-to-pdf/) - [JFIF TO JPG](https://minipx.com/convert-jfif-to-jpg/) - [JFIF TO PNG](https://minipx.com/convert-jfif-to-png/) - [JPG TO AVIF](https://minipx.com/convert-jpg-to-avif/) - [JPG TO PNG](https://minipx.com/convert-jpg-to-png/) - [JPG TO WEBP](https://minipx.com/convert-jpg-to-webp/) - [PNG TO JPG](https://minipx.com/convert-png-to-jpg/) - [PNG TO AVIF](https://minipx.com/convert-png-to-avif/) - [PNG TO ICO](https://minipx.com/convert-png-to-ico/): Multi-resolution .ico with selectable 16/32/48/256px PNG entries, transparency kept. ICO output only — no ICO decoding - [PNG TO WEBP](https://minipx.com/convert-png-to-webp/) - [SVG TO JPG](https://minipx.com/convert-svg-to-jpg/) - [SVG TO PNG](https://minipx.com/convert-svg-to-png/) - [SVG TO WEBP](https://minipx.com/convert-svg-to-webp/) - [SVG TO AVIF](https://minipx.com/convert-svg-to-avif/) - [TIFF TO JPG](https://minipx.com/convert-tiff-to-jpg/) - [TIFF TO PNG](https://minipx.com/convert-tiff-to-png/) - [TIFF TO WEBP](https://minipx.com/convert-tiff-to-webp/) - [TIFF TO AVIF](https://minipx.com/convert-tiff-to-avif/) - [WEBP TO JPG](https://minipx.com/convert-webp-to-jpg/) - [WEBP TO PNG](https://minipx.com/convert-webp-to-png/) - [WEBP TO AVIF](https://minipx.com/convert-webp-to-avif/) ## Compress to Specific Sizes - [Compress to 100KB](https://minipx.com/compress-image-to-100kb/) - [Compress to 10KB](https://minipx.com/compress-image-to-10kb/) - [Compress to 150KB](https://minipx.com/compress-image-to-150kb/) - [Compress to 1MB](https://minipx.com/compress-image-to-1mb/) - [Compress to 200KB](https://minipx.com/compress-image-to-200kb/) - [Compress to 20KB](https://minipx.com/compress-image-to-20kb/) - [Compress to 250KB](https://minipx.com/compress-image-to-250kb/) - [Compress to 30KB](https://minipx.com/compress-image-to-30kb/) - [Compress to 40KB](https://minipx.com/compress-image-to-40kb/) - [Compress to 500KB](https://minipx.com/compress-image-to-500kb/) - [Compress to 50KB](https://minipx.com/compress-image-to-50kb/) ## Platform-Specific Tools - [Compress For Discord](https://minipx.com/compress-image-for-discord/) - [Compress For Email](https://minipx.com/compress-image-for-email/) - [Compress For Etsy](https://minipx.com/compress-image-for-etsy/) - [Compress For Facebook](https://minipx.com/compress-image-for-facebook/) - [Compress For Government Exams](https://minipx.com/compress-image-for-government-exams/) - [Compress For Instagram](https://minipx.com/compress-image-for-instagram/) - [Compress For Linkedin](https://minipx.com/compress-image-for-linkedin/) - [Compress For Reddit](https://minipx.com/compress-image-for-reddit/) - [Compress For Resume](https://minipx.com/compress-image-for-resume/) - [Compress For Shopify](https://minipx.com/compress-image-for-shopify/) - [Compress For Social Media](https://minipx.com/compress-image-for-social-media/) - [Compress For Twitter](https://minipx.com/compress-image-for-twitter/) - [Compress For Upsc](https://minipx.com/compress-image-for-upsc/): photo 20-200 KB, triple signature 20-100 KB at 350-500 px, filenames photo/signature, live capture mandatory - [Compress Photo For CTET](https://minipx.com/compress-photo-for-ctet/): CBSE bulletin spec — photo JPG 10-100 KB at 3.5 cm x 4.5 cm, signature JPG 3-30 KB at 3.5 cm x 1.5 cm. No pixel dimension is published; centimetres only - [Compress Photo For GATE](https://minipx.com/compress-photo-for-gate/): photo JPEG 5-600 KB, min 200x260 px, max 530x690 px, aspect ratio 0.66-0.89, face 60-70% of frame; signature JPEG 3-300 KB, min 250x80 px, max 580x180 px, ratio 1:2.75 to 1:3.75, black or dark blue ink - [Compress Images For PowerPoint](https://minipx.com/compress-images-for-powerpoint/): deck bloat is images; 1920px full-bleed, 960px half-slide; JPEG photos, PNG screenshots - [Compress Images For Google Slides](https://minipx.com/compress-images-for-google-slides/): insert limit 50MB and 25 megapixels per image, PNG/JPEG/GIF only; deck capped at 100MB - [Compress Images For Notion](https://minipx.com/compress-images-for-notion/): 5MB per file on the free plan; screenshots at 1400px PNG, photos as WebP 1600px - [Compress Images For Substack](https://minipx.com/compress-images-for-substack/): logo 256x256, email banner 1100x220, cover 600x600+, social preview 1200x630 at 14:10; full-width images taller than 1:1 are cropped square - [Compress Images For eBay](https://minipx.com/compress-images-for-ebay/): 500x500 min, 9000x9000 and 12MB max, zoom enabled at 1600px on the longest side - [Compress Images For Amazon Listings](https://minipx.com/compress-images-for-amazon-listing/): 1600px enables zoom, 10000px max, main image pure white RGB 255,255,255, product fills 85% of frame, sRGB, under 10MB - [Compress Images For Real Estate](https://minipx.com/compress-images-for-real-estate/): 2048px for portal galleries; batch a 30-60 shot property shoot; keep originals for print - [Compress Medical Record Images](https://minipx.com/compress-images-for-medical-records/): processed in-browser, never uploaded; Gentle preset at 2000px keeps small print legible; DICOM is not a substitute - [Compress Images For Insurance Claims](https://minipx.com/compress-images-for-insurance-claim/): Gentle at 2048px so plates, serial numbers and hairline cracks stay legible; keep originals with EXIF - [Compress Images For Job Applications](https://minipx.com/compress-images-for-job-application/): certificates need Gentle at 1800px, photo can take Smart; crop to paper edges first; convert HEIC to JPG - [Compress For Web](https://minipx.com/compress-image-for-web/) - [Compress For Whatsapp](https://minipx.com/compress-image-for-whatsapp/) - [Compress For Wordpress](https://minipx.com/compress-image-for-wordpress/) - [Resize For Facebook](https://minipx.com/resize-image-for-facebook/) - [Resize For Instagram](https://minipx.com/resize-image-for-instagram/) - [Resize For Linkedin](https://minipx.com/resize-image-for-linkedin/) - [Resize For Twitter](https://minipx.com/resize-image-for-twitter/) - [Resize For Youtube](https://minipx.com/resize-image-for-youtube/) - [YouTube Thumbnail Size](https://minipx.com/youtube-thumbnail-size/): Google recommends 3840x2160 (16:9), min width 640, JPG/GIF/PNG, caps 2 MB mobile / 50 MB desktop; 1280x720 still the common baseline. Embedded 16:9 cropper - [Instagram Post Size](https://minipx.com/instagram-post-size/): 3:4 (1080x1440) grid-native portrait, 4:5 (1080x1350) classic, 1080x1080 squares fine, feed range 1.91:1 to 3:4. Embedded cropper with 3:4 + 4:5 chips - [Facebook Cover Photo Size](https://minipx.com/facebook-cover-photo-size/): official 851x315; sRGB JPG under 100 KB loads fastest (Facebook's own tip); displays ~820x312 desktop / ~640x360 mobile; ~640x315 centre safe zone. Free-crop route, no 2.7:1 preset - [LinkedIn Banner Size](https://minipx.com/linkedin-banner-size/): profile 1584x396 (4:1 chip), company page 1128x191, JPG/PNG under 8 MB. Ratio-lock-then-resize gives exact dimensions - [Discord Emoji Size](https://minipx.com/discord-emoji-size/): official rule is under 256 KB in JPEG/PNG/GIF/WebP; 128x128 is convention only. 1:1 crop, transparent PNG guidance - [Twitch Emote Size](https://minipx.com/twitch-emote-size/): 28/56/112px transparent PNGs, static under 25 KB each, animated up to 1 MB; single-PNG auto-resize (112-4096px, under 1 MB) per community documentation ## Device-Specific Compressors - [Image Compressor for Android](https://minipx.com/image-compressor-android/) - [Image Compressor for Iphone](https://minipx.com/image-compressor-iphone/) - [Image Compressor for Mac](https://minipx.com/image-compressor-mac/) - [Image Compressor for No Upload](https://minipx.com/image-compressor-no-upload/) - [Image Compressor for Windows](https://minipx.com/image-compressor-windows/) ## Comparisons - [MiniPx vs Compressor Io](https://minipx.com/minipx-vs-compressor-io/) - [MiniPx vs Iloveimg](https://minipx.com/minipx-vs-iloveimg/) - [MiniPx vs Imageoptim](https://minipx.com/minipx-vs-imageoptim/) - [MiniPx vs Squoosh](https://minipx.com/minipx-vs-squoosh/) - [MiniPx vs Tinypng](https://minipx.com/minipx-vs-tinypng/) ## Tool Pages - [All Features](https://minipx.com/features/): Every MiniPx tool — compress, convert, resize, crop, rotate, PDF, AI BG removal, passport photos, Pro batch + watermarking + responsive sets + multi-format export ## Blog - [Blog Index](https://minipx.com/blog/): All guides, tutorials, and articles on image optimization ## Guides & Articles - [Free vs Paid Image Compressors](https://minipx.com/blog/free-vs-paid-image-compressors/): When the free tier is enough vs when paid actually pays off - [Compression Presets Explained](https://minipx.com/blog/compression-presets-explained/): Gentle, Smart, Tiny — when to use which preset - [MiniPx for Teams](https://minipx.com/blog/minipx-for-teams/): How professional teams compress confidential images privately - [AI Image Compression Explained Simply](https://minipx.com/blog/ai-image-compression-explained/) - [Why Are Android Screenshots So Large? Fix It](https://minipx.com/blog/android-screenshots-large/) - [Automate Image Compression in Your CI/CD Pipeline](https://minipx.com/blog/automate-image-compression-cicd/) - [AVIF Format Explained: Next-Gen Image Compression](https://minipx.com/blog/avif-format-explained/) - [AVIF vs WebP vs JPEG: Which Format Wins in 2026?](https://minipx.com/blog/avif-vs-webp-vs-jpeg/) - [7 Best Free Image Compressor Tools in 2026](https://minipx.com/blog/best-free-image-compressor-tools/) - [5 Best Free Image Compressors in 2026](https://minipx.com/blog/best-free-image-compressors-2026/) - [JPEG vs PNG vs WebP](https://minipx.com/blog/best-image-format-for-websites/) - [Bulk Image Compression: Batch Compress Images](https://minipx.com/blog/bulk-image-compression-guide/) - [Can AI Restore a Compressed Image? The Truth](https://minipx.com/blog/can-ai-restore-compressed-images/) - [Can Someone Track You From a Photo?](https://minipx.com/blog/can-photos-reveal-your-location/) - [Can You Undo Image Compression?](https://minipx.com/blog/can-you-undo-image-compression/) - [Client-Side Image Compression with JavaScript](https://minipx.com/blog/client-side-image-compression-javascript/) - [Client-Side vs Server-Side Image Compression](https://minipx.com/blog/client-side-vs-server-side-compression/) - [Compress Images for Email Attachments](https://minipx.com/blog/compress-image-for-email-attachment/) - [Compress Images for Website Speed in 2026](https://minipx.com/blog/compress-images-for-website-speed/) - [Compress Images in Google Docs & Slides](https://minipx.com/blog/compress-images-google-docs-slides/) - [DS-160 Visa Photo: Size, Format & Compression](https://minipx.com/blog/compress-photo-ds160-visa/) - [How to Compress Photo for Passport Application](https://minipx.com/blog/compress-photo-for-passport/) - [Compress Photos for UPSC, SSC & Govt Exam Forms](https://minipx.com/blog/compress-photo-for-upsc-application/) - [Compress Photo for Visa Application (All Countries)](https://minipx.com/blog/compress-photo-for-visa-application/) - [Compress Screenshots for Docs & Wikis](https://minipx.com/blog/compress-screenshots-for-documentation/) - [Compress Signature for Exam Forms (10-30 KB)](https://minipx.com/blog/compress-signature-for-exams/) - [HEIC to JPG](https://minipx.com/blog/convert-heic-to-jpg-iphone/) - [fetchpriority=high for Images](https://minipx.com/blog/fetchpriority-high-images/) - [File Size Limits for Every Platform 2026](https://minipx.com/blog/file-size-limits-every-platform/) - [Govt Exam Photo Rejected? Reasons & Fixes](https://minipx.com/blog/government-exam-photo-rejected/) - [HEIC Files Won\](https://minipx.com/blog/heic-wont-open-windows/) - [Reduce Image Size Below 100KB](https://minipx.com/blog/how-to-reduce-image-size-below-100kb/) - [Image CDN vs Local Compression](https://minipx.com/blog/image-cdn-vs-local-compression/) - [How Browsers Compress Images (Canvas API Explained)](https://minipx.com/blog/image-compression-api-canvas/) - [Your Image Compressor Is Uploading Your Photos](https://minipx.com/blog/image-compressor-privacy/) - [Image File Size Guide for Websites](https://minipx.com/blog/image-file-size-guide-websites/) - [Image File Too Large? How to Fix It Fast](https://minipx.com/blog/image-file-too-large/) - [Client-Side vs Server-Side Image Compression](https://minipx.com/blog/image-optimization-api-comparison/) - [Photo Size for Indian Government Forms](https://minipx.com/blog/image-size-requirements-government-forms-india/) - [JPEG Quality Settings Explained](https://minipx.com/blog/jpeg-quality-settings-guide/) - [JPEG vs PNG: When to Use Each Format](https://minipx.com/blog/jpeg-vs-png-when-to-use/) - [Is JPEG XL Dead? Chrome Dropped It, Now What](https://minipx.com/blog/jpeg-xl-dead-or-early/) - [How to Lazy Load Images the Right Way](https://minipx.com/blog/lazy-loading-images-guide/) - [Lossy vs Lossless Compression Explained](https://minipx.com/blog/lossy-vs-lossless-compression/) - [MiniPx vs TinyPNG: Honest Comparison in 2026](https://minipx.com/blog/minipx-vs-tinypng-comparison/) - [WebP, AVIF, JPEG XL: Which Format to Use in 2026](https://minipx.com/blog/next-gen-image-formats-2026/) - [Optimize Images for Core Web Vitals (and Pass)](https://minipx.com/blog/optimize-images-core-web-vitals/) - [PNG Compression: How to Reduce PNG File Size](https://minipx.com/blog/png-compression-guide/) - [PNG to JPG: Why Transparency Turns Black](https://minipx.com/blog/png-transparency-to-jpg-black-background/) - [Reduce Image Size Without Losing Quality](https://minipx.com/blog/reduce-image-size-without-losing-quality/) - [Resize Image for Government Forms: Complete Guide](https://minipx.com/blog/resize-image-for-government-forms/) - [Resize vs Compress](https://minipx.com/blog/resize-vs-compress-which-first/) - [srcset & sizes for Images](https://minipx.com/blog/responsive-images-srcset-guide/) - [Squoosh vs MiniPx: Privacy, Speed & Features](https://minipx.com/blog/squoosh-vs-minipx/) - [TinyPNG vs MiniPx: Which Compressor Wins?](https://minipx.com/blog/tinypng-vs-minipx/) - [WebP vs PNG vs JPEG](https://minipx.com/blog/webp-vs-png-vs-jpeg/) - [Serve WebP in WordPress Without a Plugin](https://minipx.com/blog/webp-wordpress-without-plugin/) - [What Is Image Compression? Simple Guide](https://minipx.com/blog/what-is-image-compression/) - [What Is Webp Format](https://minipx.com/blog/what-is-webp-format/) - [Where Do Your Photos Go When You Compress?](https://minipx.com/blog/where-photos-go-when-you-compress-online/) - [Why Your Compressed Image Got Bigger](https://minipx.com/blog/why-compressed-image-is-larger/) - [Why Instagram Ruins Your Photo Quality](https://minipx.com/blog/why-instagram-reduces-photo-quality/) - [Why iPhone Photos Are So Large](https://minipx.com/blog/why-iphone-photos-so-large/) - [Complete Image Optimization Guide](https://minipx.com/blog/complete-image-optimization-guide/) - [How to Compress GIF Files Online](https://minipx.com/blog/how-to-compress-gif-online/) - [How to Reduce PNG File Size Without Losing Transparency](https://minipx.com/blog/reduce-png-file-size/) - [HEIF vs JPEG: Which Format Should You Use in 2026?](https://minipx.com/blog/heif-vs-jpeg-comparison/) ## Hindi (हिंदी) Pages - [Hindi navigation hub](https://minipx.com/hi/): All 26 Hindi tool pages organised by category — compress, AI background tools, passport, edit, convert, Pro features, comparisons. - [Compress JPEG (Hindi)](https://minipx.com/hi/compress-jpeg/) - [Compress PNG (Hindi)](https://minipx.com/hi/compress-png/) - [Compress to 50KB (Hindi)](https://minipx.com/hi/compress-image-to-50kb/) - [Compress to 100KB (Hindi)](https://minipx.com/hi/compress-image-to-100kb/) - [Compress to 200KB (Hindi)](https://minipx.com/hi/compress-image-to-200kb/) - [HEIC to JPG (Hindi)](https://minipx.com/hi/convert-heic-to-jpg/) - [JPG to WebP (Hindi)](https://minipx.com/hi/convert-jpg-to-webp/) - [Passport Size Photo (Hindi)](https://minipx.com/hi/passport-size-photo/) - [Compress for UPSC (Hindi)](https://minipx.com/hi/compress-for-upsc/) - [Crop Image (Hindi)](https://minipx.com/hi/crop-image/): Interactive crop with custom aspect ratios — Hindi UI - [Rotate Image (Hindi)](https://minipx.com/hi/rotate-image/): Rotate 90°/180°/custom angles — Hindi UI ## Key Facts - Privacy: All processing happens client-side in your browser. Files never leave your device. - Formats: Input supports PNG, JPEG, WebP, AVIF, HEIC, HEIF, BMP, SVG, GIF, TIFF. Output supports JPEG, PNG, WebP. - Free (non-AI tools): Compression, conversion, resize, crop, rotate, PDF, OCR, meme generator, and favicon generator are free and unlimited. No registration, no daily quota, no monthly credits, no watermark on output. The free tier processes 5 files per batch; Pro removes that cap. Files up to 200 MB each, with browser memory the practical ceiling above that. - Free (AI tools): Background remover, AI upscaler, and passport photo maker share a pool of 2 free AI runs in total. After the pool is used, upgrade to Pro or wait 60 minutes. Each further exhaustion adds 30 minutes to the wait, capped at 24 hours, and the wait resets after 7 days without AI use. Free AI output is watermarked. The 1080px figure means different things per tool: it is an OUTPUT cap on the background remover (Pro 4096px), an intermediate CUTOUT cap on the passport photo maker (Pro 2400px — never the delivered dimensions, which follow the country’s official spec), and an INPUT cap on the upscaler — so free upscales legitimately reach 4320px output at 4x. Pro has unlimited AI runs. - Offline: Works without internet after initial page load. - URL: https://minipx.com ## /jpeg-xl-converter/ Explainer page for JPEG XL, not a converter. MiniPx cannot produce .jxl: encoding runs in the browser and no browser exposes a JPEG XL encoder to web pages, so any free in-browser JXL converter is either shipping a large WebAssembly encoder or uploading to a server. The page covers what JXL is (2022 ISO standard, 30-60% better than JPEG at matching quality, alpha, animation, HDR, progressive decoding, lossless JPEG recompression saving ~20% with bit-exact reconstruction), the unstable state of decode support (Safari 17+ decodes; Chromium removed its flag-gated support in 2023; Firefox keeps it behind a flag), and the recommendation to ship AVIF with a WebP or JPEG fallback instead. ## /compress-image-for-visa/ Compress and resize photos for visa applications. Covers US visa (600x600px, 240KB max), UK visa (35x45mm, 50KB-10MB), Schengen (35x45mm, under 500KB), Canada (420x540px, 60-240KB), Australia (35x45mm, 80KB-5MB). JPEG format with Smart preset. All processing in browser — visa photos never uploaded to any server. ## /blog/what-is-jpeg-xl/ Comprehensive guide to JPEG XL format. History (PIK + FUIF merger, ISO 18181 in 2022), features (30-60% compression, transparency, lossless, HDR, progressive, animation), lossless JPEG recompression, browser support timeline (Safari 2023, Chrome 2026, Firefox June 2026), and practical usage with HTML picture element. ## /blog/webp-vs-avif-vs-jxl/ Side-by-side comparison of WebP, AVIF, and JPEG XL. Covers compression efficiency, encoding/decoding speed (JXL 10x faster than AVIF to decode), browser support status, feature matrix (transparency, HDR, progressive, animation, bit depth), and use-case recommendations for e-commerce, blogs, thumbnails, portfolios, and screenshots. ## /social-media-image-sizes/ Complete 2026 reference for social media image dimensions. Instagram (1080x1080 square, 1080x1440 grid-native 3:4 portrait, 1080x1350 classic 4:5, 1080x1920 story), Facebook (851x315 cover, 1200x630 feed), X/Twitter (1500x500 banner, 1200x675 in-stream), LinkedIn (1584x396 banner, 1200x627 feed), YouTube (3840x2160 recommended thumbnail, 1280x720 baseline, 2560x1440 banner), TikTok (1080x1920 video), Pinterest (1000x1500 pin). Hub for the per-platform size-spec pages: /youtube-thumbnail-size/, /instagram-post-size/, /facebook-cover-photo-size/, /linkedin-banner-size/, /discord-emoji-size/, /twitch-emote-size/. Includes resize presets via MiniPx. ## /compress-screenshot/ Compress screenshots without losing text clarity. Covers PNG vs JPEG for screenshots, Retina/HiDPI considerations (2880px to 1920px resize), batch processing, privacy for sensitive screenshots. Smart preset reduces screenshot size 40-60% with zero visible text degradation. All processing in browser. ## /check-image-dpi/ DPI checker and print resolution reference. Explains DPI vs PPI, how to calculate required pixels for print sizes (300 DPI for professional print, 150 DPI for large format, 72-96 DPI for web). Reference table for common use cases. Explains that DPI metadata is just a tag — pixel count is what matters for quality. ## /avif-compressor/ AVIF-specific compression and conversion tool. AVIF produces files 30-50% smaller than JPEG and 20-30% smaller than WebP at same quality. Supports transparency, HDR, lossless. All major browsers support AVIF as of 2026. Can compress existing AVIF or convert from JPEG, PNG, WebP to AVIF. Browser-based processing. ## /blog/heic-vs-jpeg-vs-png/ Three-way format comparison. HEIC (40-50% smaller than JPEG, 10-bit colour, Apple-only compatibility), JPEG (universal support, 8-bit, no transparency), PNG (lossless, transparency, large files). Side-by-side table. Covers when to convert between formats and practical recommendations for storage, sharing, and web use. ## /blog/image-compression-for-developers/ Developer-focused guide covering format selection (AVIF > WebP > JPEG with picture element), quality settings (JPEG 80-85 sweet spot, AVIF quality 60 ≈ JPEG 85), responsive images with srcset, build-time compression with sharp/Node.js, client-side Canvas API compression, CI/CD integration, framework-specific approaches (Next.js, Astro, static sites), and performance checklist. ## /privacy-security/ How MiniPx protects your files. Explains client-side processing architecture — all image compression, conversion, and resizing happens in your browser using Canvas API and Web Workers. No files are uploaded to any server. No data leaves your device. Covers how GDPR and UK data protection apply: no image data is processed at all because nothing is uploaded, while the site itself does run Google Analytics, which sets cookies and processes IP and a pseudonymous ID, so MiniPx is a data controller for site analytics and does not claim a blanket exemption. Also covers the browser security model, offline capability, and sector-specific trust requirements for healthcare (NHS, HIPAA), legal, finance, education, and government use. Includes technical architecture diagram and FAQ. ## /low-quality-image-maker/ Intentionally reduce image quality for specific requirements. Government exam forms, university applications, and online portals often require photos under strict file size limits (10KB, 20KB, 50KB). This tool deliberately degrades quality to hit exact size targets. Three modes: Gentle (minimal visible loss), Smart (balanced), Tiny (aggressive). Supports JPEG, PNG, WebP output. All processing client-side — sensitive documents like ID photos never leave your device. ## /background-remover/ On-device AI background remover with two selectable models: MediaPipe selfie segmentation (250 KB, tuned for people and faces) and RMBG-1.4 from Bria (44 MB INT8 ONNX, handles objects, animals, and products) run through ONNX Runtime Web. A heavier BiRefNet tier was trialled and withdrawn in v4.1.10h because it required roughly 300 MB of working memory and ran out of memory on commodity hardware, so 44 MB RMBG-1.4 is the maximum quality tier available. The entire pipeline executes locally with WebGPU acceleration and a WebAssembly fallback — there is no server-side processing and image data never leaves the device. Free tier outputs PNG capped at 1080px on the long edge (aspect ratio preserved, not a 1080×1080 square) with a small watermark; Pro tier raises that cap to 4096px on the long edge, without watermark, and supports bulk processing. The model caches locally after first load for offline use. Common use cases: Shopify/Etsy product photos, LinkedIn headshots, slide deck cutouts, design composites. ## /passport-photo-maker/ AI-driven passport and visa photo maker meeting government specifications: 18 document specs spanning 14 countries and regions (India, US, UK, Schengen Area, Canada, Australia, China, UAE, Singapore, Pakistan, Bangladesh, Japan, South Korea, Germany). Uses MediaPipe Tasks Vision for face detection and RMBG-1.4 (44 MB) for background replacement. Per-country sub-pages enforce the exact dimensions, DPI, head height, background colour, and file size limits required by the issuing authority. Free tier outputs a watermarked preview at lower resolution; Pro removes the watermark, supports 4×6 print sheets (multiple photos per sheet for printing), and adds manual crop adjustment. All processing in-browser — sensitive identity photos never upload anywhere. ## /remove-background-from-image/ Free, on-device AI background removal — landing page targeting the highest-volume search query in the cluster. Drop an image, the AI separates subject from background, output is a transparent PNG. No upload, no signup. The free tier includes 2 AI runs shared across the background remover, AI upscaler, and passport photo maker; after that, Pro or a 60 minute wait. Links to /background-remover/ for the actual tool and to sister satellites (transparent-background-online, ai-background-removal, etc.) for related searches. ## /transparent-background-online/ Make any image transparent in your browser. RGBA PNG output with proper alpha channel. Targets users searching for "transparent online" / "make image transparent" intent. Covers what transparency means (alpha channel basics), when to use PNG vs WebP vs AVIF for transparency, and links into the bg-remover hub. ## /remove-background-from-photo/ Photo-specific landing for the bg-remover. Same engine as /remove-background-from-image/ but copy is photo-portrait oriented — headshots, family photos, product shots. Reassures users about privacy (nothing uploaded) and explains why on-device beats cloud (latency, privacy, no upload). The free tier includes 2 AI runs shared across the background remover, AI upscaler, and passport photo maker; after that, Pro or a 60 minute wait. ## /ai-background-removal/ Explains the on-device AI architecture: RMBG-1.4 and MediaPipe models, ONNX Runtime Web, WebGPU acceleration, fall-back to WASM SIMD, and why the larger BiRefNet tier was withdrawn for out-of-memory reasons. Targets technical users searching for "AI background removal" wanting to understand how it works before trusting it with their images. Compares the in-browser approach to remove.bg-style cloud services on three axes: latency, privacy, cost. ## /background-eraser/ One-click AI eraser landing. Targets users searching for "eraser" rather than "remover" — common iOS/Mac terminology after the Photos app introduced an erase feature in iOS 17. Same underlying engine, different framing. ## /png-transparent-background/ PNG-specific landing explaining how to produce a PNG with transparent background. Covers the alpha channel (256 levels of transparency per pixel), why PNG supports it but JPEG doesn't, use cases (Etsy/Shopify/Amazon listings, profile pictures, design composites, app icons), and links to PNG-to-WebP and PNG-to-AVIF converters for users who want a smaller transparent file. ## /responsive-image-generator/ Pro feature: one input becomes 4 sizes (150 / 640 / 1280 / 2560 px) for srcset workflows. Filenames follow the srcset convention (photo-640w.webp, photo-1280w.webp). Combined with multi-format export, one input can produce up to 16 outputs (4 sizes × 4 formats). Built for web developers shipping elements and frontend teams who need every responsive variant without uploading sources. All in-browser via Canvas API. ## /multi-format-image-export/ Pro feature: export AVIF + WebP + JPG + PNG simultaneously. Cartesian product with the responsive set feature means a single input can yield up to 16 outputs. Saves time vs running four separate conversion passes. Useful for sites that want a element with progressive fallback: AVIF first (smallest, modern), WebP second (broad support), JPG last (universal). ## /image-watermark-tool/ Pro feature: bulk text watermark overlay with 9 anchor positions (corners, edges, center), opacity, font scale, colour, and per-batch settings. Combined with batch processing and the 6 batch rename templates, this is the workflow for photographers and content creators who need to brand a folder of images consistently. ## /batch-image-processor/ Pro feature: unlimited batch processing. Free is capped at 5 files per batch; Pro queues hundreds, packages output as ZIP, and supports per-file progress tracking. Combined with platform presets, responsive sets, multi-format export, and watermarking, this is the "shipping" pipeline for teams who process images daily. ## /minipx-vs-remove-bg/ Direct comparison between MiniPx's on-device AI background remover and remove.bg's cloud service. Compares: privacy (in-browser vs cloud upload), pricing (free with watermark vs $0.99/credit), quota (unlimited Pro vs credit-based), quality (RMBG-1.4 handles hair/edges well; remove.bg has years of refinement on edge cases), speed (after model cache, in-browser is faster than the cloud round-trip), offline support (MiniPx works offline; remove.bg doesn't), and self-hosting (MiniPx is open-source on GitHub; remove.bg is proprietary). ## /pricing/ MiniPx pricing page covering Free, Pro Monthly ($4.99/mo), Pro Annual, and Pro Lifetime ($79 one-time). Pro Annual carries the "Best value" badge. Lists exactly what's in each tier and a side-by-side comparison table covering 17 features. Trust strip explains that Paddle is merchant of record (handles VAT, GST, sales tax globally), that Free and Pro share the same open-source code, and that monthly/annual cancel with one click from Paddle's customer portal. Includes a 14-day refund guarantee. Links to /terms/, /refund/, /privacy/ for legal compliance. Hindi twin at /hi/pricing/. ## /hi/pricing/ Hindi twin of the pricing page (मूल्य निर्धारण). Full translation of plan names (मुफ्त, Pro Monthly, Pro Annual, Pro Lifetime), descriptions, 11 Pro feature bullets, 16-row comparison table, 4-tile trust strip, 6 FAQ entries, and launch promo callout (35% पहले महीने, $10 पहले साल, $20 लाइफटाइम — 30 नवंबर 2026 तक). Wires the same PlanCTA component so Paddle checkout opens identically; checkout overlay localizes itself based on browser language. Hindi tool deep-dive links surface common Indian use cases (50KB/100KB/200KB compression, UPSC, passport size, Aadhaar background change). Bilateral hreflang: en ↔ hi pricing pages. ## /terms/ Terms of Service covering Free and Pro tiers. Explains that Free is capped at 2 AI runs shared across the three AI tools, with an escalating cooldown once that pool is used, that the non-AI tools have no usage limit beyond the 5 file per-batch cap, that Pro is sold via Paddle (the merchant of record handles all financial obligations), and that MiniPx makes no warranty about quality of AI output. Required for Paddle compliance. ## /privacy/ Privacy Policy distinct from /privacy-security/ (which is a product-page explainer of client-side architecture). This one is the legal document Paddle requires — covers what data is collected (GA4 analytics, no PII), data processors (Google Analytics, Paddle for payment, no others), retention, user rights under GDPR and UK data protection. No image data is ever collected because nothing is uploaded. ## /refund/ Refund Policy: 14-day no-questions refund for any Pro purchase, provided you have not yet downloaded output from a Pro feature. Technical faults are considered for 60 days regardless of use. Refunds processed via Paddle (the merchant of record) — typically returned to the original payment method within 5-10 business days. Lifetime purchases have the same 14-day window. Monthly and Annual users can also cancel anytime from the Paddle customer portal. ## /avif-compressor/ AVIF compression landing. Tightens AVIF files (which AV1 already encodes efficiently) further by re-encoding at user-chosen quality/effort levels. Targets users searching for "compress AVIF" specifically. Browser-side AVIF re-encoding via Canvas API + AVIF codec where supported (Chrome/Edge native, Safari 17+). ## /check-image-dpi/ DPI reference page. Corrected 2026-08: MiniPx does not read the DPI metadata tag, and the page no longer claims to. It explains that DPI is a header tag rather than a property of the pixels, gives the arithmetic that actually matters (pixels divided by DPI equals printed inches), and carries a reference table of DPI targets for print, newsprint, large format and web. The MiniPx tool reports pixel dimensions and file size, which is what the calculation needs. ## /compress-image-for-visa/ Visa-application photo compressor. Pre-configured to common visa portal limits (most embassies: 50-300 KB JPEG, 200x230 to 600x600 px). Covers US, UK, Schengen, India e-visa, China, UAE limits in copy. Links to /passport-photo-maker/ for the head-positioning side. ## /compress-screenshot/ Screenshot-specific compressor. Screenshots are mixed graphics + text — neither pure photo nor pure UI — and benefit from format-aware compression (PNG for text-heavy / WebP for mixed). Pre-selects best output format based on detected content characteristics. ## /jpeg-xl-converter/ JPEG XL explainer landing. Corrected 2026-08: the page previously advertised in-browser JXL conversion that does not and cannot exist here, since browsers expose no JXL encoder. It now states that plainly, explains JXL's lossless transcoding from existing JPEG as the format's unique feature, and routes readers to AVIF or WebP, which MiniPx does encode. ## /low-quality-image-maker/ Inverse-compression tool — deliberately lower image quality for legitimate use cases (placeholders, art/aesthetic effects, intentional pixelation, before/after demos). Quality slider goes down to 5%. Useful for designers needing distressed/lo-fi looks without re-encoding manually. ## /privacy-security/ Long-form explainer of MiniPx's browser-native architecture. Distinct from /privacy/ (legal policy) — this is a product page covering Canvas API, ONNX Runtime Web, model integrity checks (SHA-256 verification), CSP headers, the fact that no image data ever traverses the network. For users who want to verify the privacy claim, not just trust it. ## /social-media-image-sizes/ Reference page listing optimal image dimensions for every major platform — Instagram (square 1080x1080, grid-native 3:4 portrait 1080x1440, story 1080x1920, reel 1080x1920), Facebook (cover 851x315, post 1200x630), LinkedIn (post 1200x627), X/Twitter (post 1200x675, header 1500x500), Pinterest (1000x1500), YouTube (thumbnail 3840x2160 recommended, 1280x720 baseline). Each links to the corresponding resize tool and to the per-platform size-spec spoke pages. ## /blog/heic-vs-jpeg-vs-png/ Format comparison covering HEIC (Apple's HEIF wrapper — best compression, iOS-default), JPEG (universal compatibility, lossy), and PNG (lossless + transparency, larger). Decision tree for when to keep HEIC vs convert. Links to /convert-heic-to-jpg/ for users on non-Apple platforms. ## /blog/image-compression-for-developers/ Developer-focused guide: format trade-offs, quality settings, srcset best practices, the case for AVIF + WebP + JPG progressive fallback in elements, Cumulative Layout Shift implications, and where browser-side compression beats server-side for privacy + cost. Links to MiniPx's /multi-format-image-export/ Pro feature. ## /blog/webp-vs-avif-vs-jxl/ Three-way comparison of modern image formats. WebP (universal browser support today), AVIF (best compression, growing support), JXL (best quality + lossless JPEG transcode, gated by Safari). Includes file-size benchmarks and a recommendation: WebP for production now, AVIF as primary, JXL where ecosystem permits. ## /blog/what-is-jpeg-xl/ Explainer on JPEG XL — the underdog format. Covers what makes JXL different (royalty-free, near-lossless transcoding from existing JPEGs without quality loss, progressive decoding, alpha/HDR support), the Chrome controversy (removed in 2022), and the path to adoption (Safari 17+ shipped support in 2024). ## /change-background-of-photo/ Targets the "change background" intent — REPLACE rather than just REMOVE. Two-step workflow: AI cutout via RMBG-1.4 or MediaPipe, then compose onto a new colour, gradient, or transparent canvas. Pro tier adds a 9-colour compose palette + custom hex. Privacy-first: AI runs in browser, photo never uploaded. ## /white-background-remover/ Dedicated landing for "white background remover" search intent. Common use cases: product photos on studio white backdrops, line drawings on white paper, document scans. HD tier (RMBG-1.4) handles the tricky case of white subjects on white backgrounds where colour-key tools fail. Transparent PNG output. ## /product-photo-background-remover/ Ecommerce-focused landing covering Etsy, Shopify, Amazon, eBay product photo workflows. Discusses platform-specific background requirements (Amazon RGB 255,255,255), edge cases (jewellery, transparent packaging, fabric texture), and the privacy argument for unreleased product shots. Pairs with /crop-image/, /resize-image/, /compress-image-to-200kb/. ## /headshot-background-remover/ LinkedIn / corporate headshot focus. Emphasises hair detail quality (RMBG-1.4 handles fly-aways and curls cleanly) and the full workflow: cutout → crop → resize to 400x400 LinkedIn-spec → compress under 100KB. Trust signal: AI runs on-device, selfies don't leave the browser. ## /logo-background-remover/ Designer / brand work focus. Handles JPG logos with white background, slide-deck screenshots, PDF page exports. Explains transparent PNG as the universal source format. Acknowledges that SVG is preferable when available; provides /convert-svg-to-png/ link for the reverse case. Safe for under-NDA brand work. ## /image-bulk-rename/ Pro feature SEO landing. Custom filename templates with tokens — {name}, {width}, {height}, {format}, {ext}, {seq} (3-digit), {seq2}, {seq4}, {date8}. Worked examples for product photographers, web developers, content writers. Default privacy-friendly template strips original filenames to prevent leaks like "Aadhaar_Card_John.jpg" into form uploads. ## /saved-presets-image-compression/ Pro feature SEO landing. Bundle of size + format + quality + watermark + rename template into reusable one-click presets. localStorage-based — no account needed. Worked examples: photographer "Instagram-ready", developer "responsive set", content "blog hero". Maximum 20 saved presets, stored only in the browser that created them — there is no export, import or sync, so clearing site data or switching device loses them. ## /add-watermark-to-photos-bulk/ Bulk-intent variant of /image-watermark-tool/. Photographer + designer + creator use cases — portfolio previews before payment, brand stamps on client mockups, copyright assertions on public posts. 9 anchor positions, opacity 30-50% sweet spot, scale proportional to image size. Honest about limits: AI inpainting can remove visible watermarks, so this is deterrent + provenance, not cryptographic protection. ## /image-compression-for-seo/ Practical guide for Core Web Vitals optimisation. LCP under 2.5s mobile target, AVIF + WebP + JPEG fallback via , srcset breakpoints at 150/640/1280/2560 px, preload + fetchpriority for the hero image. Positioning: MiniPx delivers responsive sets client-side without paying for Cloudinary or similar CDN. Cross-links: /responsive-image-generator/, /multi-format-image-export/. ## /image-compression-for-ecommerce/ Persona landing for Shopify / Etsy / Amazon / WooCommerce sellers. Platform-specific specs (Amazon RGB 255 white, Shopify 2048px max, Etsy 2700x2025, WooCommerce 800x800 main + 1200x1200 zoom). Privacy argument for unreleased product shots. The full workflow: BG removal → crop → resize → compress. Pro saved-preset workflow. ## /image-compression-for-developers/ Persona landing for developers. AVIF + WebP + JPEG fan-out, srcset generation, and real encoder controls: JPEG chroma subsampling and a per-format quality override that applies to every output in that format, the primary included. No effort or method dials — the browser-path encoders take no such parameter. Positioned as the middle ground between build-time CLI pipelines (sharp + imagemin) and paid CDNs (Cloudinary). Best fit: static sites, marketing pages, blogs, personal projects. ## /minipx-vs-photoroom/ Comparison page. Both target AI background removal. Photoroom uploads photos to servers + offers full image studio with brand kits + templates. MiniPx runs on-device + bundles compression + format conversion + responsive sets. Pricing: $4.99/mo vs Photoroom $9.99/mo. Recommendation framework: privacy + bundled tools → MiniPx; ecommerce team needing studio → Photoroom. ## /minipx-vs-pixelcut/ Comparison page. Pixelcut: mobile-first multi-tool editor, photos upload, fast GPU inference. MiniPx: browser-based, on-device AI, broader tool coverage. Speed: Pixelcut wins first photo, MiniPx wins subsequent in same session. Quality tied. Pricing: $4.99/mo lifetime $79 vs Pixelcut $4.99/week or ~$60/yr. ## /minipx-vs-cloudinary/ Comparison page across different tool categories — browser tool vs paid image CDN. When Cloudinary is right (UGC, runtime transformations, video). When MiniPx is right (static sites, marketing pages, blogs, personal projects, privacy-critical workflows). Cost over 3 years: Cloudinary $89/mo tier $3,200 vs MiniPx Pro lifetime $79. ## /best-free-background-remover-2026/ Listicle-style comparison guide. Tests 5 free tools (MiniPx, remove.bg, Photoroom, Pixelcut, Adobe Express) on portraits, products, logos. Use-case recommendations: headshots, product photos, logos each get their preferred tool. Honest about ties — quality is comparable for typical inputs; differentiation comes from privacy + feature scope + pricing. ## Hindi parity (/hi/...) Every page above has a Hindi twin at /hi// with translated metadata, hero copy, SEO body, FAQs, and how-to steps. Reuses identical client components (canvas tools are language-agnostic). Bilateral hreflang declared on every English page with alternates.languages = { en, hi } and vice versa on every Hindi page. ## /hi/change-background-of-photo/ Hindi twin of /change-background-of-photo/. AI background changer in Hindi — फोटो का बैकग्राउंड बदलें। Same on-device AI engine, Hindi metadata, Hindi hero copy, Hindi FAQs. Bilateral hreflang back to the English original. ## /hi/white-background-remover/ Hindi twin of /white-background-remover/. सफेद बैकग्राउंड हटाएँ — product photos, scans, line drawings। Transparent PNG output, browser-only, Hindi UI strings. ## /hi/product-photo-background-remover/ Hindi twin of /product-photo-background-remover/. प्रोडक्ट फोटो से बैकग्राउंड हटाएँ — ecommerce listings के लिए। Same engine, Hindi copy. ## /hi/headshot-background-remover/ Hindi twin of /headshot-background-remover/. हेडशॉट बैकग्राउंड रिमूवर — LinkedIn, resume, profile photos के लिए। Hindi metadata + body. ## /hi/logo-background-remover/ Hindi twin of /logo-background-remover/. लोगो से बैकग्राउंड हटाएँ — transparent PNG output for brand assets. Hindi UI. ## /hi/image-bulk-rename/ Hindi twin of /image-bulk-rename/. बल्क रीनेम — Pro feature landing in Hindi explaining custom naming patterns for batch exports. ## /hi/saved-presets-image-compression/ Hindi twin of /saved-presets-image-compression/. सेव्ड प्रीसेट्स — settings save करें और एक click में reuse करें। Pro feature landing in Hindi. ## /hi/add-watermark-to-photos-bulk/ Hindi twin of /add-watermark-to-photos-bulk/. बल्क वॉटरमार्क — सैकड़ों फोटो में watermark एक click में। Position, opacity, scale, batch sizing in Hindi. ## /hi/image-compression-for-seo/ Hindi twin of /image-compression-for-seo/. SEO के लिए image compression — page speed बेहतर, image weight कम। Core Web Vitals impact, sample CDN configurations in Hindi. ## /hi/image-compression-for-ecommerce/ Hindi twin of /image-compression-for-ecommerce/. Ecommerce के लिए — Shopify, Amazon listings में bulk compress। Platform spec table, recipe per channel. ## /hi/image-compression-for-developers/ Hindi twin of /image-compression-for-developers/. Developers के लिए — API-grade compression in browser. Format selection (AVIF > WebP > JPEG), client-side Canvas API recipe. ## /hi/minipx-vs-photoroom/ Hindi twin of /minipx-vs-photoroom/. MiniPx vs Photoroom Hindi comparison — privacy, quality, pricing. Honest side-by-side with embedded ComparisonSchema. ## /hi/minipx-vs-pixelcut/ Hindi twin of /minipx-vs-pixelcut/. MiniPx vs Pixelcut Hindi comparison — feature matrix, pricing, free tier limits. ## /hi/minipx-vs-cloudinary/ Hindi twin of /minipx-vs-cloudinary/. MiniPx vs Cloudinary Hindi comparison — browser vs cloud, कब क्या use करें। ## /hi/best-free-background-remover-2026/ Hindi twin of /best-free-background-remover-2026/. सबसे अच्छे फ्री BG रिमूवर 2026 — 5 tools tested, honest ranking, Hindi narrative. ## Spanish pages (/es/) - [Spanish navigation hub](https://minipx.com/es/): All 33 Spanish tool pages organised by category — compress, AI background tools, passport, edit, convert, Pro features, comparisons. - [Bulk watermark (Spanish)](https://minipx.com/es/add-watermark-to-photos-bulk/) - [Best free background removers 2026 (Spanish)](https://minipx.com/es/best-free-background-remover-2026/) - [Change photo background (Spanish)](https://minipx.com/es/change-background-of-photo/) - [Compress for UPSC (Spanish)](https://minipx.com/es/compress-for-upsc/) - [Compress to 100KB (Spanish)](https://minipx.com/es/compress-image-to-100kb/) - [Compress to 200KB (Spanish)](https://minipx.com/es/compress-image-to-200kb/) - [Compress to 50KB (Spanish)](https://minipx.com/es/compress-image-to-50kb/) - [Compress JPEG (Spanish)](https://minipx.com/es/compress-jpeg/) - [Compress PNG (Spanish)](https://minipx.com/es/compress-png/) - [HEIC to JPG (Spanish)](https://minipx.com/es/convert-heic-to-jpg/) - [JPG to WebP (Spanish)](https://minipx.com/es/convert-jpg-to-webp/) - [Crop image (Spanish)](https://minipx.com/es/crop-image/) - [Headshot background remover (Spanish)](https://minipx.com/es/headshot-background-remover/) - [Bulk rename (Spanish)](https://minipx.com/es/image-bulk-rename/) - [Compression for developers (Spanish)](https://minipx.com/es/image-compression-for-developers/) - [Compression for ecommerce (Spanish)](https://minipx.com/es/image-compression-for-ecommerce/) - [Compression for SEO (Spanish)](https://minipx.com/es/image-compression-for-seo/) - [Image to PDF (Spanish)](https://minipx.com/es/image-to-pdf/) - [Image to text OCR (Spanish)](https://minipx.com/es/image-to-text/) - [AI image upscaler (Spanish)](https://minipx.com/es/image-upscaler/) - [Logo background remover (Spanish)](https://minipx.com/es/logo-background-remover/) - [Meme generator (Spanish)](https://minipx.com/es/meme-generator/) - [MiniPx vs Cloudinary (Spanish)](https://minipx.com/es/minipx-vs-cloudinary/) - [MiniPx vs Photoroom (Spanish)](https://minipx.com/es/minipx-vs-photoroom/) - [MiniPx vs Pixelcut (Spanish)](https://minipx.com/es/minipx-vs-pixelcut/) - [Passport size photo (Spanish)](https://minipx.com/es/passport-size-photo/) - [PDF to image (Spanish)](https://minipx.com/es/pdf-to-image/) - [Pricing (Spanish)](https://minipx.com/es/pricing/) - [Product photo background remover (Spanish)](https://minipx.com/es/product-photo-background-remover/) - [Resize image (Spanish)](https://minipx.com/es/resize-image/) - [Rotate image (Spanish)](https://minipx.com/es/rotate-image/) - [Saved presets (Spanish)](https://minipx.com/es/saved-presets-image-compression/) - [White background remover (Spanish)](https://minipx.com/es/white-background-remover/) ## Portuguese pages (/pt/) - [Portuguese navigation hub](https://minipx.com/pt/): All 27 Portuguese tool pages organised by category — compress, AI background tools, passport, edit, convert, Pro features, comparisons. - [Bulk watermark (Portuguese)](https://minipx.com/pt/add-watermark-to-photos-bulk/) - [Best free background removers 2026 (Portuguese)](https://minipx.com/pt/best-free-background-remover-2026/) - [Change photo background (Portuguese)](https://minipx.com/pt/change-background-of-photo/) - [Compress for UPSC (Portuguese)](https://minipx.com/pt/compress-for-upsc/) - [Compress to 100KB (Portuguese)](https://minipx.com/pt/compress-image-to-100kb/) - [Compress to 200KB (Portuguese)](https://minipx.com/pt/compress-image-to-200kb/) - [Compress to 50KB (Portuguese)](https://minipx.com/pt/compress-image-to-50kb/) - [Compress JPEG (Portuguese)](https://minipx.com/pt/compress-jpeg/) - [Compress PNG (Portuguese)](https://minipx.com/pt/compress-png/) - [HEIC to JPG (Portuguese)](https://minipx.com/pt/convert-heic-to-jpg/) - [JPG to WebP (Portuguese)](https://minipx.com/pt/convert-jpg-to-webp/) - [Crop image (Portuguese)](https://minipx.com/pt/crop-image/) - [Headshot background remover (Portuguese)](https://minipx.com/pt/headshot-background-remover/) - [Bulk rename (Portuguese)](https://minipx.com/pt/image-bulk-rename/) - [Compression for developers (Portuguese)](https://minipx.com/pt/image-compression-for-developers/) - [Compression for ecommerce (Portuguese)](https://minipx.com/pt/image-compression-for-ecommerce/) - [Compression for SEO (Portuguese)](https://minipx.com/pt/image-compression-for-seo/) - [Logo background remover (Portuguese)](https://minipx.com/pt/logo-background-remover/) - [MiniPx vs Cloudinary (Portuguese)](https://minipx.com/pt/minipx-vs-cloudinary/) - [MiniPx vs Photoroom (Portuguese)](https://minipx.com/pt/minipx-vs-photoroom/) - [MiniPx vs Pixelcut (Portuguese)](https://minipx.com/pt/minipx-vs-pixelcut/) - [Passport size photo (Portuguese)](https://minipx.com/pt/passport-size-photo/) - [Pricing (Portuguese)](https://minipx.com/pt/pricing/) - [Product photo background remover (Portuguese)](https://minipx.com/pt/product-photo-background-remover/) - [Rotate image (Portuguese)](https://minipx.com/pt/rotate-image/) - [Saved presets (Portuguese)](https://minipx.com/pt/saved-presets-image-compression/) - [White background remover (Portuguese)](https://minipx.com/pt/white-background-remover/) ## Indonesian pages (/id/) - [Indonesian navigation hub](https://minipx.com/id/): All 27 Indonesian tool pages organised by category — compress, AI background tools, passport, edit, convert, Pro features, comparisons. - [Bulk watermark (Indonesian)](https://minipx.com/id/add-watermark-to-photos-bulk/) - [Best free background removers 2026 (Indonesian)](https://minipx.com/id/best-free-background-remover-2026/) - [Change photo background (Indonesian)](https://minipx.com/id/change-background-of-photo/) - [Compress for UPSC (Indonesian)](https://minipx.com/id/compress-for-upsc/) - [Compress to 100KB (Indonesian)](https://minipx.com/id/compress-image-to-100kb/) - [Compress to 200KB (Indonesian)](https://minipx.com/id/compress-image-to-200kb/) - [Compress to 50KB (Indonesian)](https://minipx.com/id/compress-image-to-50kb/) - [Compress JPEG (Indonesian)](https://minipx.com/id/compress-jpeg/) - [Compress PNG (Indonesian)](https://minipx.com/id/compress-png/) - [HEIC to JPG (Indonesian)](https://minipx.com/id/convert-heic-to-jpg/) - [JPG to WebP (Indonesian)](https://minipx.com/id/convert-jpg-to-webp/) - [Crop image (Indonesian)](https://minipx.com/id/crop-image/) - [Headshot background remover (Indonesian)](https://minipx.com/id/headshot-background-remover/) - [Bulk rename (Indonesian)](https://minipx.com/id/image-bulk-rename/) - [Compression for developers (Indonesian)](https://minipx.com/id/image-compression-for-developers/) - [Compression for ecommerce (Indonesian)](https://minipx.com/id/image-compression-for-ecommerce/) - [Compression for SEO (Indonesian)](https://minipx.com/id/image-compression-for-seo/) - [Logo background remover (Indonesian)](https://minipx.com/id/logo-background-remover/) - [MiniPx vs Cloudinary (Indonesian)](https://minipx.com/id/minipx-vs-cloudinary/) - [MiniPx vs Photoroom (Indonesian)](https://minipx.com/id/minipx-vs-photoroom/) - [MiniPx vs Pixelcut (Indonesian)](https://minipx.com/id/minipx-vs-pixelcut/) - [Passport size photo (Indonesian)](https://minipx.com/id/passport-size-photo/) - [Pricing (Indonesian)](https://minipx.com/id/pricing/) - [Product photo background remover (Indonesian)](https://minipx.com/id/product-photo-background-remover/) - [Rotate image (Indonesian)](https://minipx.com/id/rotate-image/) - [Saved presets (Indonesian)](https://minipx.com/id/saved-presets-image-compression/) - [White background remover (Indonesian)](https://minipx.com/id/white-background-remover/) ## German pages (/de/) - [German navigation hub](https://minipx.com/de/): All 30 German tool pages organised by category — compress, AI background tools, passport, edit, convert, Pro features, comparisons. - [Bulk watermark (German)](https://minipx.com/de/add-watermark-to-photos-bulk/) - [Best free background removers 2026 (German)](https://minipx.com/de/best-free-background-remover-2026/) - [Job application photo (German)](https://minipx.com/de/bewerbungsfoto/) - [Change photo background (German)](https://minipx.com/de/change-background-of-photo/) - [Compress to 100KB (German)](https://minipx.com/de/compress-image-to-100kb/) - [Compress to 200KB (German)](https://minipx.com/de/compress-image-to-200kb/) - [Compress to 50KB (German)](https://minipx.com/de/compress-image-to-50kb/) - [Compress JPEG (German)](https://minipx.com/de/compress-jpeg/) - [Compress PNG (German)](https://minipx.com/de/compress-png/) - [HEIC to JPG (German)](https://minipx.com/de/convert-heic-to-jpg/) - [JPG to WebP (German)](https://minipx.com/de/convert-jpg-to-webp/) - [WebP to JPG (German)](https://minipx.com/de/convert-webp-to-jpg/) - [Crop image (German)](https://minipx.com/de/crop-image/) - [Headshot background remover (German)](https://minipx.com/de/headshot-background-remover/) - [Bulk rename (German)](https://minipx.com/de/image-bulk-rename/) - [Compression for developers (German)](https://minipx.com/de/image-compression-for-developers/) - [Compression for ecommerce (German)](https://minipx.com/de/image-compression-for-ecommerce/) - [Compression for SEO (German)](https://minipx.com/de/image-compression-for-seo/) - [Image to PDF (German)](https://minipx.com/de/image-to-pdf/) - [Logo background remover (German)](https://minipx.com/de/logo-background-remover/) - [MiniPx vs Cloudinary (German)](https://minipx.com/de/minipx-vs-cloudinary/) - [MiniPx vs Photoroom (German)](https://minipx.com/de/minipx-vs-photoroom/) - [MiniPx vs Pixelcut (German)](https://minipx.com/de/minipx-vs-pixelcut/) - [Passport size photo (German)](https://minipx.com/de/passport-size-photo/) - [Pricing (German)](https://minipx.com/de/pricing/) - [Product photo background remover (German)](https://minipx.com/de/product-photo-background-remover/) - [Resize image (German)](https://minipx.com/de/resize-image/) - [Rotate image (German)](https://minipx.com/de/rotate-image/) - [Saved presets (German)](https://minipx.com/de/saved-presets-image-compression/) - [White background remover (German)](https://minipx.com/de/white-background-remover/) ## French pages (/fr/) - [French navigation hub](https://minipx.com/fr/): All 29 French tool pages organised by category — compress, AI background tools, passport, edit, convert, PDF, Pro features, comparisons. - [Bulk watermark (French)](https://minipx.com/fr/add-watermark-to-photos-bulk/) - [Best free background removers 2026 (French)](https://minipx.com/fr/best-free-background-remover-2026/) - [Change photo background (French)](https://minipx.com/fr/change-background-of-photo/) - [Compress to 100KB (French)](https://minipx.com/fr/compress-image-to-100kb/) - [Compress to 200KB (French)](https://minipx.com/fr/compress-image-to-200kb/) - [Compress to 50KB (French)](https://minipx.com/fr/compress-image-to-50kb/) - [Compress JPEG (French)](https://minipx.com/fr/compress-jpeg/) - [Compress PNG (French)](https://minipx.com/fr/compress-png/) - [HEIC to JPG (French)](https://minipx.com/fr/convert-heic-to-jpg/) - [JPG to WebP (French)](https://minipx.com/fr/convert-jpg-to-webp/) - [Crop image (French)](https://minipx.com/fr/crop-image/) - [Headshot background remover (French)](https://minipx.com/fr/headshot-background-remover/) - [Bulk rename (French)](https://minipx.com/fr/image-bulk-rename/) - [Compression for developers (French)](https://minipx.com/fr/image-compression-for-developers/) - [Compression for ecommerce (French)](https://minipx.com/fr/image-compression-for-ecommerce/) - [Compression for SEO (French)](https://minipx.com/fr/image-compression-for-seo/) - [Image to PDF (French)](https://minipx.com/fr/image-to-pdf/) - [Logo background remover (French)](https://minipx.com/fr/logo-background-remover/) - [MiniPx vs Cloudinary (French)](https://minipx.com/fr/minipx-vs-cloudinary/) - [MiniPx vs Photoroom (French)](https://minipx.com/fr/minipx-vs-photoroom/) - [MiniPx vs Pixelcut (French)](https://minipx.com/fr/minipx-vs-pixelcut/) - [Passport size photo (French)](https://minipx.com/fr/passport-size-photo/) - [PDF to Image (French)](https://minipx.com/fr/pdf-to-image/) - [Pricing (French)](https://minipx.com/fr/pricing/) - [Product photo background remover (French)](https://minipx.com/fr/product-photo-background-remover/) - [Resize image (French)](https://minipx.com/fr/resize-image/) - [Rotate image (French)](https://minipx.com/fr/rotate-image/) - [Saved presets (French)](https://minipx.com/fr/saved-presets-image-compression/) - [White background remover (French)](https://minipx.com/fr/white-background-remover/) ## Page analyzer - [Website image analyzer](https://minipx.com/analyzer/): Paste a URL, see how heavy its images are and the estimated savings from compressing them with MiniPx. Only the URL is sent; images are never uploaded. ## /convert-jfif-to-jpg/ Converts .jfif files to standard .jpg. JFIF (JPEG File Interchange Format) is the standard JPEG container — a .jfif file is a normal JPEG whose extension advertises the container name. Windows creates .jfif files when its registry maps the image/jpeg MIME type to that extension; upload forms then reject them because extension whitelists rarely include .jfif. MiniPx detects format by magic bytes, decodes the JFIF like any JPEG, and re-saves at Gentle quality (82%) with no visible loss since both formats share one encoding. Covers the APP0/Exif container difference and the registry fix (HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg). All processing client-side. ## /convert-jfif-to-png/ Converts lossy JFIF images to lossless PNG. The PNG stores the decoded pixels exactly, halting JPEG generation loss for future edits and re-saves — but cannot recover detail the original encoding discarded, does not add transparency (JFIF has no alpha channel; output is fully opaque), and grows the file substantially for photographs (a 500 KB JFIF photo commonly becomes 2-5 MB). Right choice for editing workflows, archival masters, and text-heavy images; plain JPG suffices for sharing and uploads. All processing client-side in the browser. ## /convert-heic-to-pdf/ Combines iPhone HEIC photos into a single PDF document. Each photo becomes one page sized to the photo's own pixel dimensions — no margins, no forced A4 — with landscape/portrait orientation set per photo automatically, and pages following upload order. HEIC decoding and PDF assembly (jsPDF) both run in the browser on any OS, so no HEVC codecs, apps, or uploads are involved. Free tier combines 5 photos per batch, 200 MB per photo, no quota. Aimed at applications, document submissions, printing, and multi-photo records where portals reject the HEIC format. ## /image-upscaler/ AI image upscaler hub. Runs realesr-general-x4v3 from the Real-ESRGAN project — a compact SRVGGNet super-resolution network, 4.9 MB one-time download, SHA-256 integrity-checked — entirely in the browser via WebGPU with a WebAssembly fallback. Images are never uploaded; the model caches for offline use. 2x and 4x factors only (2x runs the same 4x network and downsamples the result). Tiled inference (512px tiles, 16px overlap) keeps memory bounded. Free tier: 1080px input long edge, up to 4320px output, small corner watermark. Pro: 2048px input at 4x or 4096px at 2x, both capped at 8192px output, no watermark. Honest framing throughout: the model synthesises plausible texture from learned priors — it does not recover detail that was never captured, cannot fix out-of-focus photos, and should not be trusted for evidentiary enhancement. ## /image-enlarger/ Print-and-physical-use angle on the AI upscaler engine. Targets "image enlarger" / "photo enlarger" / "enlarge image" intent: posters, framing, canvas prints, and old-photo rescue. Carries the worked DPI arithmetic — pixels / DPI = inches, so a 1080px source enlarged 4x to 4320px prints 14.4 inches wide at 300 DPI, 28.8 inches at poster-grade 150 DPI; an 8x10 at 300 DPI needs 2400x3000px. Explains why classical interpolation pixelates (nearest-neighbour blocks, bicubic haze) versus learned synthesis, covers scans and small keepsake photos (rescan the physical original at 600 DPI when it still exists), and names the honest failure cases: tiny thumbnails, heavily compressed JPEGs, and out-of-focus sources. Same free/Pro caps and watermark as the upscaler hub; embeds the same on-device engine. ## /upscale-image-to-4k/ Resolution-target angle on the AI upscaler engine, for "upscale image to 4k" / "convert image to 4k" intent. Defines the target precisely: consumer 4K is UHD 3840x2160 (16:9); cinema DCI 4K is 4096x2160. Source-width math stated honestly: 960px+ reaches 3840px at 4x, 1920px+ at 2x; the free tier's 1080px input cap yields 4320px — beyond the 4K width — so free output can genuinely be 4K-class, watermarked. Pro reaches 8192px (5K and near-8K). Use cases: 4K wallpapers (OS scaling smears 1080p sources), video thumbnails, signage, TV slideshows. Explains why pre-upscaling a file beats a display's real-time scaler (unlimited time per image, result persists as a file), and that upscaling multiplies dimensions without reshaping — crop to 16:9 first for an exact UHD frame. ## /favicon-generator/ Complete favicon set generator. One source image (PNG/JPG/WebP; square 512x512+ recommended) produces the seven files a modern site needs: favicon.ico containing 16/32/48px PNG entries, loose favicon-16x16.png / favicon-32x32.png / favicon-48x48.png, apple-touch-icon.png (180px, iOS home screen), and android-chrome-192x192.png / android-chrome-512x512.png for the web app manifest — plus the copy-paste link snippet. Non-square sources are contain-fitted and centered on a transparent square canvas, never cropped or stretched; downscaling runs in halving steps so fine strokes stay legible at 16px. Preview grid shows every size on a transparency checkerboard (the 16px cell is the legibility test). Rendering, PNG encoding, and ICO container assembly all happen in the browser; the logo never uploads. Legacy sizes (57/114px apple variants, Windows tile sizes) deliberately omitted — modern platforms fall back to the seven listed. ## /convert-png-to-ico/ Single-purpose PNG to ICO converter. One image in (PNG best; JPG/WebP accepted), one multi-resolution .ico out with selectable 16/32/48/256px entries (checkboxes, all on by default). Writes PNG-format ICO entries — valid on Windows Vista+ and every modern browser, far smaller than BMP-entry icons, full 8-bit alpha preserved (soft shadows and anti-aliased edges survive) — and says plainly that Windows XP-era software needing BMP entries is not served. 256px entries use the format's "0 means 256" byte convention. Each resolution renders independently from the source with stepped downscaling. Strictly one-way: ICO output only — browsers expose no ICO decoder, so the site never claims ico-to-png. Use /favicon-generator/ for the full deployment set (apple-touch-icon, manifest PNGs, HTML snippet); this page is for exact control over one .ico file. All processing client-side. ## /color-picker-from-image/ Colour picker that samples the file, not the screen. Click any pixel in an image and copy its exact HEX, RGB, or HSL value; sampling runs against a hidden canvas holding the original decoded pixels at native resolution, with click coordinates mapped from the display back to source space — so the value is the stored pixel, unaffected by preview scaling, monitor colour management, or browser zoom (which is why system eyedroppers give different numbers). An 11×11 source-pixel zoom loupe with smoothing disabled follows the cursor for single-pixel targets. Semi-transparent pixels are reported honestly: the raw stored colour as rgba() plus the alpha percentage, never silently composited over a background. A running palette keeps the last 8 committed picks (consecutive duplicates deduped), each re-copyable, semi-transparent swatches shown over a checkerboard. No download path — copy is the export. Accepts any browser-decodable format up to 100 MB. Decoding and sampling are entirely client-side; works offline once loaded. ## /flip-image/ Image flipper / mirrorer. Horizontal (left-right mirror), vertical (top-bottom), or both toggles at once — which is mathematically identical to a 180° rotation. The flip moves every pixel to its mirrored position at full native resolution: no resampling, interpolation, cropping, or scaling. Live preview before saving; export keeps the source dimensions with a choice of JPEG/PNG/WebP and a quality control for lossy formats (any quality change comes from the encoder, not the flip; PNG export is lossless). Covers the mirror-image intent family: mirror-selfie correction (front cameras preview mirrored but differ on what they save; text in frame reads backwards), pre-flipping artwork for iron-on transfers and decals (applied face-down, so print mirrored), and the flip-vs-rotate distinction (a flip reverses handedness — text and faces change — which no rotation reproduces). All processing client-side; works offline once loaded. ## /pixelate-image/ Pixelator / mosaic censor. True block-average mosaic: the target area is downscaled so each block of the chosen size becomes one pixel (averaging its contents), then drawn back with smoothing off so each average is a hard-edged square. Block size 4-64 px in source pixels; exported blocks are exactly the chosen size. Applies to the whole image (pixel-art / lo-fi aesthetic) or a dragged rectangle tracked in source-pixel coordinates (censoring addresses, licence plates, faces — manually selected, no automatic detection). States plainly what competitors omit: small-block pixelation of text is NOT secure redaction — block averages leak enough signal that rendered-candidate matching has recovered pixelated passwords and documents; for real secrets use very large blocks or an opaque black box, and strip EXIF/GPS metadata separately. PNG export recommended for censored screenshots (lossless block edges); JPEG/WebP with quality control also available. Entirely client-side — the sensitive un-censored original never leaves the device. ## /invert-image-colors/ Colour inverter / negative maker. Exact per-channel inversion: each RGB value v becomes 255 − v via a per-pixel loop at full native resolution; the alpha channel is untouched, so transparent backgrounds survive. Deliberately NOT the CSS invert(1) filter, which some engines apply in a colour-managed space producing different bytes per browser — the arithmetic loop is deterministic everywhere. Inversion is its own inverse: two passes restore the original exactly pre-encode (export PNG to keep the round trip lossless; JPEG re-encoding is the encoder's loss, not the inversion's). Use cases: black-and-white film negative scans invert to usable positives directly; colour C-41 negatives invert correctly but keep a blue-cyan cast from the film's orange mask (needs white-balance follow-up — stated honestly); dark-mode asset drafts (black-on-transparent line art becomes white-on-transparent in one step); X-ray-style effects. All processing client-side; works offline once loaded. ## /grayscale-image/ Grayscale / black & white converter, two modes on one page. Grayscale mode: every pixel replaced by its Rec. 709 luminance (0.2126 R + 0.7152 G + 0.0722 B) — the perceptual weighting HD video uses, deliberately NOT the naive (R+G+B)/3 average that darkens foliage and washes out skies (green carries ~72% of perceived brightness, blue ~7%). Pure black & white mode: the same luminance hard-thresholded to 0 or 255 with a user-adjustable 0-255 cutoff (default 128) — the right treatment for scanned documents, signatures, whiteboard photos, and line art, tuned live against the preview until strokes hold black and show-through drops to white. Alpha untouched in both modes. Honest limits stated: equal-luminance colour pairs land on the same gray (no channel-mixer simulation offered), and the conversion is one-way — colour is discarded, not hidden, so keep the original. Grayscale JPEGs compress smaller (chroma components collapse to flat fields); thresholded documents export best as PNG. Live preview, export at native resolution, JPEG/PNG/WebP with quality control. Entirely client-side. ## /circle-crop-image/ Circle crop / round avatar cutter. A draggable, resizable circle (four cardinal handles; starts centred at 80% of the shorter edge) tracked as centre-plus-radius in source-pixel space, so the preview framing is exactly the exported framing. Output: a square PNG the size of the circle's diameter at native resolution, circle inscribed, corners genuinely transparent — pixels inside copied 1:1, nothing resampled. PNG-only by design: JPEG has no alpha channel and would flatten the corners to a solid colour, un-doing the crop's purpose, so no format chips are offered that would silently break the output. Use cases: previewing what a platform's circular avatar mask keeps (X's 400×400 profile photo displays round; corners of an uploaded square silently vanish), team-page headshots, logo roundels, round stickers. Solves the white-corner problem — a true alpha channel means documents, dark UIs, and coloured slides all show through the corners. True circles only, no ovals. Entirely client-side — face photos never leave the device. ## /blur-image/ Region & face blur. Two modes: manual regions (drag a rectangle, resize, commit, add more — each tracked independently in source-pixel coordinates) and auto face blur via BlazeFace short-range running on-device through MediaPipe; each detected face box is expanded ~20% so ears, chins, and hairlines don't leak. Privacy shape stated precisely: the only network fetch is the ~0.2 MB detector model, downloaded once from Google's model CDN — the photo is never part of any request, and manual mode makes no request at all (works offline). Honest caveats competitors omit: the short-range model is tuned for selfie-distance faces and routinely misses small/distant faces in group shots — the UI shows the detected boxes and keeps manual regions one click away as the fallback; and light blur over text is NOT secure redaction (lightly blurred text in known fonts has been reconstructed) — max the strength or use an opaque box for real secrets. Edge quality: blurs a padded window (region + 2× strength margin) and copies back only the target, so patches have no dark halo; downscale-upscale fallback where canvas blur is unsupported. Strength 4-40 px; blur vs pixelate guidance (blur reads natural, pixelation discards more per block and reads as deliberate censorship — deep dive on /pixelate-image/). JPEG/PNG/WebP export. Entirely client-side. ## /resize-png/ Per-format child of /resize-image/ with PNG preselected. Honest control definition: a proportional maximum-width downscale (height follows aspect ratio), not a free W×H form and never an upscale — enlargement routes to /image-upscaler/, exact frames route through /crop-png/ first. PNG-specific substance: the encode is lossless by specification, so unlike JPEG only the resample itself changes pixels — no generation loss on repeated saves, and the tool's quality presets do nothing to PNG pixels; dimensions are the file-size dial (halving W and H drops ~3/4 of pixels, the biggest reduction available to a lossless format — relevant because HiDPI screenshots are 2-3× device pixels per point). Alpha is resampled with the colour channels, so transparent-background logos keep their anti-aliased edge fringe; 1-2px hairlines can fade at aggressive reductions (a redraw problem, not a setting). WebP guidance: keeps alpha, fewer bytes, right for web destinations; photographic PNGs belong in /resize-jpg/ instead. Entirely client-side. ## /resize-jpg/ Per-format child of /resize-image/ with JPEG preselected — the photo workflow as two decisions: max width and re-encode quality, made in the same pass. Camera-vs-destination arithmetic: 12 MP phones write 4032×3024 while a full-HD screen is 1920px across, so presets map to destinations (1920 full-screen/decks, 1280 email/social sweet spot, 800 portals/thumbnails); print and archiving are the stated exception where native resolution matters — resize a copy. Honesty: a JPEG resize is decode → resample → lossy re-encode, so "without losing quality" carries an asterisk; each save costs a generation, hence resize from the original and set quality in the same pass rather than recompressing later. Email framing: ~25 MB attachment caps, 1280px lands photos in hundreds of KB at Smart. EXIF: output written clean by default (GPS/timestamps/device removed); orientation needs no tag because displayed orientation is baked into the fresh pixels. Exact-KB targets route to /compress-jpeg/. Entirely client-side. ## /crop-png/ Per-format child of /crop-image/ reusing its CropClient. Framed for surgical graphics work: isolate a dialog from a capture, pull an icon off a sprite sheet, trim chart margins. A crop is a copy — pixels inside the rectangle are lifted without resampling, tracked in source-pixel coordinates — so with PNG output (the page tells users to switch the chip; the tool defaults to JPEG) the region is byte-faithful and screenshot text stays sharp where a JPEG export would ring. Alpha: kept fully with PNG/WebP output, partial transparency included; JPEG output flattens to white — predictable but wrong for layered assets; round avatars route to /circle-crop-image/. Sprite extraction loop: source stays loaded, draw-save-move-save. Ratio locks 1:1/4:5/3:2/4:3/16:9 plus freeform. States what crop cannot do: change resolution — scaling belongs to /resize-png/, crop first so resampling only touches kept pixels. Entirely client-side. ## /crop-jpg/ Per-format child of /crop-image/ reusing its CropClient, framed as photographic recomposition. Rule-of-thirds guidance: subject near intersections, lead room for gazes and motion, horizon on a third; heavy crops from small sources can need /image-upscaler/ afterwards. Ratio presets mapped to real destinations: 3:2 = 35mm frame and 4×6 print, 4:5 = 8×10 print and Instagram's tallest feed ratio, 1:1 avatars, 16:9 widescreen, 4:3 sensor-native — crop to the print ratio yourself or the lab kiosk decides which slice survives. Generation-loss honesty as a full section: JPEG compresses the file as a whole, so a crop cannot be snipped losslessly — it is decoded and re-encoded (quality slider, default 90%); crop from the original, never a crop of a crop; the tool warns when a high-quality re-encode of a smaller region exceeds the source's bytes. Order of operations: straighten (/rotate-jpg/) → crop → resize (/resize-jpg/) → compress (/compress-jpeg/). Entirely client-side. ## /rotate-png/ Per-format child of /rotate-image/ reusing its RotateClient. The two PNG-specific questions answered up front: existing alpha rides through untouched, and the corner wedges created by free-angle rotation are written genuinely transparent with PNG/WebP output (JPEG forces a solid fill via colour picker). Lossless honesty done precisely: this tool rewrites pixels (no orientation-flag trick); quarter turns relocate pixels with zero interpolation and the lossless PNG encode makes the result pixel-identical in its new orientation — rotate-back round trips return original values; any other angle must interpolate and slightly softens 1px lines. Scan-rescue pipeline: straighten by 2-3° on the slider → trim wedges with /crop-png/ → threshold with /grayscale-image/. Redirects: mirrored content (backwards text) needs /flip-image/, not an angle; sideways photographs are an EXIF-tag story that lives on /rotate-jpg/. Entirely client-side. ## /rotate-jpg/ Per-format child of /rotate-image/ reusing its RotateClient, built around the sideways-phone-photo complaint. Explains the root cause properly: sensors have fixed orientation, so cameras store the frame sideways plus an EXIF Orientation tag instructing viewers to rotate at display time — galleries obey, older viewers/upload pipelines/metadata strippers do not, which is why the photo "changes" between apps while its pixels never did. The fix is permanent because the export's pixel rows genuinely run in the displayed direction — no tag left to misread, correct in any software. Quarter turns via chips are exact remaps (only the re-encode touches content); horizon levelling via slider is usually 1-4°, canvas grows, and JPEG's missing alpha means the corner wedges take a picked fill colour — standard finish is cropping inside the frame with /crop-jpg/. Quality: default 90% re-encode is visually free once; keep to one generation from the original, and route size ceilings to /compress-jpeg/ + /resize-jpg/ rather than dropping quality here. Mirrored-photo redirect to /flip-image/; graphics with transparency to /rotate-png/. Entirely client-side. ## /meme-generator/ Classic image-macro meme maker: top text + bottom text drawn onto any image in bold outlined capitals. Typography honesty: the tradition's font is Impact (1965, shipped with Windows, hence the accidental standard), but Impact is commercially licensed and cannot legally be self-hosted — tools claiming to offer it gamble on the OS having it installed, so renders differ per device. This tool bundles Anton (OFL-1.1) instead, an open condensed sans in the same dialect, loaded only on this route and awaited via document.fonts.load() before any canvas draw, so every device renders identically with no fallback-font first paint. Text mechanics: white fill over black stroke (stroke first, width = fontSize/15, round joins), auto size = image width / 10 with a 50-150% user slider, measureText greedy word wrap to max 3 lines per slot with progressive size step-down then ellipsis, uppercase by default (toggleable), 4% edge padding. Preview at display scale; export re-runs the identical draw at native source resolution — no upscaled blurry text. No watermark at any size or format (plain canvas transform, not an AI/Pro surface), no signup, no template gallery or drag-placement yet (stated as future). PNG default (JPEG rings around hard text edges) with JPEG + quality slider for size-limited destinations. Entirely client-side — memes are usually screenshots of private conversations, and the unredacted original never leaves the device. ## /image-to-text/ On-device OCR built on a vendored, self-hosted tesseract.js 7.0.0 (WASM core + English model served from minipx.com's own origin, not a CDN). First run downloads ~2 MB and caches it; every later run — and the whole tool — works offline. Input: JPEG, PNG, WebP, AVIF, HEIC, BMP, GIF, TIFF; HEIC and TIFF are decoded in-tool (bitmap drawn to canvas before recognition), so iPhone HEIC screenshots and scanner TIFFs work in every browser. Output: plain selectable text plus an averaged confidence percentage — treat >90 as skimmable, 70-90 as proofread-the-soft-spots (0/O, 1/l/I, 5/S, rn/m), <70 as read-everything-and-distrust-every-digit. Honesty positions: English only in v1 (each language is its own multi-MB model; more planned, same self-hosted pattern); the LSTM engine reads printed/rendered type well and handwriting poorly — neat block capitals sometimes, cursive no; low confidence is the only signal because the engine always returns something. Privacy is the differentiator versus every upload-based OCR site: the documents people OCR (contracts, payslips, medical reports, IDs) are precisely the ones that should never sit on a third-party server, and here no network request ever carries image data — verifiable in DevTools. Accuracy inputs that matter: sharpness, shadow-free contrast (shadows flip the binarisation threshold mid-page), and horizontal alignment. ## /passport-photo-background-change/ Background-change-intent entry into the passport photo pipeline (embeds the same on-device PassportClient as /passport-photo-maker/). Core claim: a passport background is a compliance value, not a colour choice — the selected document's published spec drives the fill. From the built-in spec catalogue (each entry cites its issuing authority): white for India passport/Aadhaar/PAN/driving licence (MEA, UIDAI, NSDL, RTO), US visa+passport (State Dept, pure white), Schengen (ICAO 9303, white/off-white), China (white only), Canada (IRCC), UAE, Singapore, Pakistan (DGIP), Bangladesh, South Korea; light grey for UK (HMPO — light grey or cream; pure white can fail their contrast check) and Germany (Bundesdruckerei biometric spec); white-or-light for Japan (MOFA) and Australia. Pipeline: RMBG-1.4 cutout → uniform spec-colour fill (no shadows/cast/texture by construction, which is why replacement beats colour-correcting a wall photo) → BlazeFace-driven eye/head positioning into the spec's window → exact pixel dims → JPEG quality loop into the spec's file-size band. Free tier truthfully stated: entire pipeline at up to 1080px with a small watermark on output. Pro: watermark-free, 2400px, manual crop nudge, 4×6 print sheet. All processing on-device; the photo never uploads. ## /add-white-background-to-photo/ ADD-white intent page (deliberate inverse of /white-background-remover/, which strips existing white). Embeds BgRemoverClient with the free/Pro line drawn exactly where the code draws it: AI segmentation (subject → transparent PNG) is free at up to 1080px with a small watermark; composing that cutout onto a solid white canvas and exporting a flattened JPEG is Pro (as is 4096px + watermark removal). The page documents the genuinely free DIY route instead of hiding the gate: download the transparent cutout, paste onto a white canvas in any layered editor (Preview, Paint, Slides, Canva, Photopea), export JPEG. Teaches the transparent-vs-flattened distinction: alpha PNG = background absent (breaks on dark-mode surfaces, huge at photo resolutions), flattened white = pixels baked in (small JPEG, survives forms that strip transparency); keep the transparent master, produce flattened white per destination. A composed fill is uniform pure white — passes checks a photographed white wall fails. Routes marketplace-policy depth to /white-background-product-photo/ and legally-specified ID colours to /passport-photo-background-change/. On-device WebGPU segmentation; nothing uploads. ## /white-background-product-photo/ Listing-image intent: the deliverable is a marketplace-compliant pure-white product photo. Policy specifics: Amazon's published image policy requires the MAIN image on pure white RGB(255,255,255), product filling most of the frame, no props/text/watermarks — non-compliant listings can be suppressed, and a photographed off-white backdrop fails where a digital fill passes (page advises confirming current Seller Central guidelines); eBay recommends plain white/neutral; Etsy has no rule but white primaries win search-thumbnail legibility. Workflow doctrine: light the product, ignore the background (it gets discarded) — diffuse window light or cheap softbox; honest failure modes are reflective surfaces (chrome keeps the old scene in its reflections) and transparent products (glass confuses the mask) — reshoot or manual cleanup for those. Free/Pro drawn exactly: free = transparent cutout, 1080px, small watermark (fine for validation, not listable — a watermark itself breaches Amazon policy); Pro = one-click white compose to flattened JPEG, 4K, watermark-free, and batch across a catalogue. Dimension guidance: ≥1000px long side for Amazon zoom, 1600px+ for useful zoom detail; final compression handed to the per-marketplace compressor pages. On-device; unreleased catalogues never touch a server. ## /youtube-thumbnail-size/ Platform size-spec spoke of /social-media-image-sizes/ with an embedded CropClient (16:9 chip). Presents the two-truths story honestly: Google's Help Center now recommends 3840x2160 (4K, 16:9) with a 640px minimum width, JPG/GIF/PNG formats, and upload caps of 2 MB mobile / 50 MB desktop — while 1280x720 remains the accepted, widely used baseline that displays identically at typical render sizes (the 4K recommendation targets TV surfaces). Advises treating 2 MB as the working ceiling so one file uploads from any device. Honest workflow (no typed WxH field exists): crop 16:9 first, then max-width resize — a locked 16:9 crop at width 1280 yields exactly 1280x720, at 3840 exactly 3840x2160. Routes undersized sources to /upscale-image-to-4k/, file-size targets to /compress-image-to-1mb/, banner/profile slots to /resize-image-for-youtube/. Design-for-small-render guidance: faces and large text survive postage-stamp scale, clutter does not. Entirely client-side. ## /instagram-post-size/ Platform size-spec spoke of /social-media-image-sizes/ with embedded CropClient (3:4 and 4:5 chips). Core 2026 update: Instagram's profile grid moved to portrait 3:4 tiles, making 1080x1440 the grid-native shape; 1080x1350 (4:5) still displays fully in feed with only a sliver trimmed in grid previews; 1080x1080 squares remain supported; feed accepts 1.91:1 through 3:4, everything outside forces an upload-time crop. Decision guidance: grid-as-storefront accounts compose at 3:4, 4:5 template pipelines need not rebuild. Exact-dimensions honesty: ratio-lock crop then max-width 1080 resize produces exactly 1080x1440 / 1080x1350 / 1080x1080 depending on chip — order matters, no one-step WxH entry. Explains the 1080px serving width and double-compression avoidance (deliver 1080-wide moderately compressed JPG); carousel slides share the first slide's ratio. Routes to /compress-image-for-instagram/, /resize-image-for-instagram/, and the hub. Entirely client-side. ## /facebook-cover-photo-size/ Platform size-spec spoke of /social-media-image-sizes/ with embedded CropClient in Free mode — the page states plainly there is no 2.7:1 preset chip and walks the honest approximate route. Verified spec: official upload 851x315; Facebook's own guidance that an sRGB JPG under 100 KB loads fastest; displays ~820x312 on desktop and ~640x360 on mobile, making the ~640x315 centre band the only universally visible safe zone. Explains why near-2.7:1 is genuinely sufficient (Facebook rescales to fit) while placement inside the safe zone is what actually fails covers. Under-100-KB rationale: pre-compressed files receive gentler platform re-encoding. Mistake diagnosis section: blur = upscaled source, phone-clipped text = outside centre band, washed colours = non-sRGB profile. Routes to /compress-image-to-100kb/, /resize-image-for-facebook/, /compress-image-for-facebook/. Entirely client-side. ## /linkedin-banner-size/ Platform size-spec spoke of /social-media-image-sizes/ with embedded CropClient — the 4:1 chip (added v4.20.0) matches this exact shape. Verified spec: personal profile banner 1584x396 (4:1), JPG/PNG under 8 MB; company page banner is a different 1128x191 (~5.9:1) spec, and the page warns the two are not interchangeable. Exactness via ratio lock: 4:1 crop resized to max width 1584 lands at precisely 1584x396; company strip uses Free mode. Practical layout doctrine the spec sheet omits: the circular headshot overlaps the banner's lower-left (position shifts on mobile), so compose in the right two-thirds. Sharpness: never upscale into 1584 wide; PNG for flat text designs, JPG for photos, both far under the 8 MB cap. Routes to /resize-image-for-linkedin/, /compress-image-for-linkedin/, /circle-crop-image/. Entirely client-side. ## /discord-emoji-size/ Platform size-spec spoke of /social-media-image-sizes/ with embedded CropClient (1:1 chip). Leads with the spec-vs-convention distinction: Discord's official emoji rules are file under 256 KB in JPEG/PNG/GIF/WebP — the famous 128x128 canvas is community convention, explicitly labelled as such, useful because emoji render tiny and 128px squares cannot realistically breach the cap. Workflow: 1:1 crop filled edge-to-edge (margin is wasted pixels at emoji scale), resize to ~128, export PNG with genuine transparency so the emoji floats on dark and light themes rather than shipping a white box. Format guidance: PNG default, JPEG for photographic, GIF only for animated (the one case the 256 KB cap bites — routes to /compress-gif/), WebP legal but pointless at this size. Rejected-upload triage: always file size or format, never exact pixels. Routes to /compress-image-to-250kb/, /compress-image-for-discord/, /png-transparent-background/, /twitch-emote-size/. Entirely client-side. ## /twitch-emote-size/ Platform size-spec spoke of /social-media-image-sizes/ with embedded CropClient (1:1 chip). Verified spec: one emote ships at three sizes — 28x28, 56x56, 112x112 — as square transparent PNGs; static files under 25 KB per size (nearly impossible to breach at these dimensions), animated emotes up to 1 MB. The single-upload auto-resize path (one square PNG, 112-4096px, under 1 MB, Twitch generates the three sizes) is cited as documented by community guides, with the page stating why: Twitch's official help page is script-gated and could not be independently verified, so the uploader is named final judge. Manual three-file export defended for detailed art (auto-downscale blurs thin lines). Transparency as the quiet hard requirement — cutouts via /background-remover/ or /png-transparent-background/, halo-pixel check on both themes. Workflow: 1:1 crop once, step down at 112/56/28, each exact because ratio was locked first — the page explicitly does not claim a one-click three-size export. Design-for-28px doctrine and comparison to /discord-emoji-size/'s looser rulebook. Entirely client-side. ## /resize-gif/ Animated GIF resizer with embedded ResizeGifClient — the tool that exists because generic resizers flatten a GIF to frame 1 (createImageBitmap decodes only the first frame). Goes through a dedicated frame-at-a-time engine: parse block structure, composite each frame honouring disposal modes 0-3 (partial-update GIFs come out right), resize the composite, re-quantize, stream into gifenc. Preserves every frame, exact frame delays, loop count (forever/N/none) and palette transparency (rgba4444 one-bit alpha only when the source declares it — no invented fringes). Downscale only with presets 1920/1280/800/480/320; upscaling refused on the record (256-colour palette edges blur then band). Honest costs: 500+ frame GIFs take seconds to a minute with a real per-frame progress bar; 100 MB input cap; preview is deliberately the still first frame. File-size doctrine: pixels fall with the square of width and GIF has no quality dial, so dimensions are the honest size lever. Routes to /crop-gif/, /compress-gif/, /convert-gif-to-webp/, /resize-image/. Entirely client-side, nothing uploads. ## /crop-gif/ Animated GIF cropper with embedded CropGifClient — CropClient's drag-rect interaction (mask panels, thirds grid, 8 handles) on the FIRST FRAME drawn as a canvas still, because dragging a rectangle over moving pixels is unusable. The chosen rect is applied to every frame by the same animated-GIF engine as /resize-gif/: frames composited with disposal modes honoured, cropped from the composite, re-quantized per frame with a palette fitted to what remains. Animation, timing, looping and declared transparency all survive. Use cases led by screen recordings (trim tab bars, docks, sidebars, watermarks) and reframing memes to the subject. Honest notes: elements appearing only in later frames are not visible while dragging (place, apply, check, retry — no upload round-trip makes retries cheap); single-frame .gif files are detected and called out with a pointer to /crop-image/; 500+ frame patience warning; 100 MB cap. Crop-then-resize composition documented as the two-step. Routes to /resize-gif/, /compress-gif/, /crop-image/, /convert-gif-to-png/. Entirely client-side. ## /image-to-svg/ Raster-to-vector tracer with embedded VectorizeClient (@image-tracer-ts/browser 1.0.3, MIT, pure TypeScript, no WASM, no network, dynamically imported). Deliberately blunt about what tracing IS: quantise to a small palette, fit filled paths around each colour region — a real editable SVG of paths, never a bitmap embedded in an SVG wrapper. Excellent for logos, icons, stickers, flat art (small, sharp, genuinely scalable — laser cutters, vinyl plotters, print vendors). Honest about photos: they posterize into thousands of path blobs, often LARGER than the source raster, and the size readout says so plainly — never claims clean redraws. Three presets set palette size: Logo/icon (6 colours, no blur), Flat art (16, light denoise), Detailed (32, slower, larger SVG). Sources over 2000px long-edge are downscaled before tracing (disclosed; vector output has no resolution so shape fidelity survives). Accepts JPEG/PNG/WebP/AVIF/HEIC/BMP/GIF/TIFF with HEIC decoded in-tool. Routes to /convert-svg-to-png/, /convert-svg-to-jpg/, /image-converter/, /favicon-generator/, /background-remover/. Entirely client-side. ## /convert-cr2-to-jpg/ Canon CR2 RAW to JPG with embedded RawClient (shared by all four RAW pages). Full demosaic via libraw-wasm/LibRaw — unpack + process with camera-recorded white balance — explicitly NOT the embedded rear-screen JPEG preview that shortcut converters extract and rename. Canon story: CR2 spans the mid-2000s through 2018 (Rebel/xxxD, xxD, 6D, 5D, 1D of that era), i.e. the archive format of some of the most-owned DSLRs ever; CR3 (EOS M50 onward, all R-series) is NOT supported and the page states it up front rather than letting intake bounce the file. Disclosed costs: first decode downloads ~1.4 MB LibRaw WASM from our origin (then cached); 24 MP+ files exceeding the browser canvas cap export scaled with both sizes stated. Quality slider default 90%. Exported JPG carries zero EXIF — body serial, lens, timestamps, GPS all dropped by the pixel re-encode; original CR2 untouched. 150 MB cap. LGPL attribution rendered on page. Routes to /convert-nef-to-jpg/, /convert-arw-to-jpg/, /convert-dng-to-jpg/, /convert-heic-to-jpg/, /compress-jpeg/. Entirely client-side. ## /convert-nef-to-jpg/ Nikon NEF RAW to JPG with the shared RawClient. Nikon story: one extension across the entire digital era — D-series through Z-series all write .nef — so a NEF folder can span 20 years and multiple internal revisions (12/14-bit, uncompressed/lossless/lossy). LibRaw handles the spread; honest caveat that the newest High Efficiency compressed NEFs from recent Z bodies use a newer scheme that can outpace third-party decoders — failure mode is a clear error, never a silently exported preview. Full demosaic with camera white balance, not preview extraction. On-device economics called out: NEFs run 20-60 MB, so shipping the 1.4 MB decoder to the browser beats uploading the files in both privacy and time. Canvas-cap scaling disclosed for 24 MP+ with both sizes stated; quality slider default 90%; exported JPG metadata-free (GPS, serials, timestamps dropped); Nikon picture styles honestly noted as manufacturer-software rendering that neutral pipelines skip. 150 MB cap, LGPL attribution on page. Routes to /convert-cr2-to-jpg/, /convert-arw-to-jpg/, /convert-dng-to-jpg/, /remove-exif-data/, /compress-jpeg/. Entirely client-side. ## /convert-arw-to-jpg/ Sony ARW RAW to JPG with the shared RawClient. Sony story: ARW rode the mirrorless boom (a6000-series, a7 line, RX compacts), making it the first raw format many photographers ever meet — the page speaks to "my first folder of .arw files" and the culling-and-sharing gap (proofs, BTS frames, phone handoffs) where full catalogue software is overkill. Covers Sony's public compression evolution: lossy-compressed early bodies, uncompressed added 2015, lossless-compressed on newer ones — same extension, decoder handles the spread without the user knowing which they have. Full demosaic with recorded white balance ("the slow honest kind" per the UI), never the embedded preview. Disclosed: ~1.4 MB decoder first run then cached; canvas-cap scaling for 24 MP+ (61 MP exists in Alpha) with both sizes stated; quality slider default 90%; exported JPG carries no metadata (phone-paired GPS, serials, settings all dropped); Creative Looks honestly noted as Sony-software rendering. 150 MB cap, LGPL attribution on page. Routes to /convert-nef-to-jpg/, /convert-cr2-to-jpg/, /convert-dng-to-jpg/, /convert-heic-to-jpg/, /photo-compressor/. Entirely client-side. ## /convert-dng-to-jpg/ DNG RAW to JPG with the shared RawClient. DNG story: the one raw format not owned by a camera maker — Adobe's openly documented 2004 standard, produced by Google Pixels and Android Pro modes, Apple ProRAW (DNG under the hood), DJI drones, native Leica/Pentax/Ricoh, and Adobe DNG Converter archives. Phone raw framed as the largest raw population today, with DNGs oddly homeless once copied off the phone. Full decode of the real image data — mosaic DNGs get a complete demosaic with recorded white balance, linear (pre-demosaiced) DNGs handled correctly. Sharpest privacy angle of the four: phone and drone DNGs almost always embed precise GPS, and the exported JPG carries no metadata at all — coordinates, device IDs, timestamps dropped by the pixel re-encode; positioned as the feature, not a footnote. Disclosed: ~1.4 MB decoder once then cached; canvas-cap scaling with both sizes stated; quality slider default 90%; 150 MB cap. LGPL attribution on page. Routes to /convert-cr2-to-jpg/, /convert-nef-to-jpg/, /convert-arw-to-jpg/, /remove-exif-data/, /image-converter/. Entirely client-side. ## /jpg-to-text/ JPEG-oriented entry into the on-device OCR pipeline (same OcrClient as /image-to-text/). Exists because the dominant real-world OCR input is a photograph of a document, sign or book page rather than a screenshot, and that input has failure modes a generic OCR page never addresses: JPEG ringing around glyph edges, uneven lighting that flips the binarisation threshold mid-page, and perspective from shooting a page at an angle. The page is written around fixing those before the run rather than blaming the engine after it. Engine truths carried through unchanged: English (eng.traineddata) only, LSTM printed-text model, handwriting not supported, ~2 MB model downloads once from our own origin and then works offline, image never leaves the browser. ## /png-to-text/ PNG-oriented entry into the on-device OCR pipeline. The distinction from the JPEG page is real rather than cosmetic: PNG is lossless, so screen-rendered type reaches the engine with the edges it was drawn with, which is the single biggest accuracy input the user actually controls. Content is built around screen captures — error dialogs, receipts, chat logs, spreadsheet regions — and what to do when a screenshot is scaled down before saving. v4.26.0 also fixed a genuine defect surfaced while writing this page: a transparent PNG was drawn onto a fresh (transparent-black) canvas, so dark text exported on a transparent background reached the engine as black-on-black and read as nothing; the canvas is now flattened onto white first. English only, printed text, nothing uploads. ## /screenshot-to-text/ The extension-intent page. Search demand for "screenshot to text" skews heavily toward browser extensions, and the honest pitch against an extension is a privacy one: an OCR extension asks for read access to every page you open, permanently, to do a job you need occasionally. This page positions the in-browser tool against that trade and walks the OS capture shortcuts (macOS Cmd-Shift-4, Windows Win-Shift-S) through to a dropped file. Documented limitation stated on the page rather than hidden: there is no clipboard-paste input today, so a snip must be saved to a file first. Same engine as /image-to-text/ — English only, printed text, self-hosted model, nothing uploads. ## /extract-text-from-image/ Task-phrased entry into the OCR pipeline, deliberately not format-phrased. The searcher here describes the job ("extract text from an image") rather than the input, and arrives without a format in mind, so the page is organised around the workflow — get the text out, check it, move it into a document — instead of around file types. It also covers the cases where OCR is the wrong answer entirely (a PDF that already has a text layer elsewhere, a photo too low-resolution to carry glyph detail, handwriting). Same on-device engine, English only, printed text, no upload. ## /photo-to-text/ Consumer-phrased entry into the OCR pipeline, aimed at phone-camera input. Content is built around the physical failure modes of photographing text rather than the software: glare and specular highlights on glossy stock, shooting at an angle, the curvature of an open book near the spine, and motion blur at low light. It is explicit that handwriting is not supported by the bundled printed-text model, because this phrasing attracts that expectation more than any other in the cluster. Same engine and privacy posture as the rest: English only, self-hosted model, image never uploads. ## /image-to-ico/ Generic image-to-ICO entry backed by the same in-browser ICO container writer as /convert-png-to-ico/ (ico-encode.js, PNG payloads, magic-byte verified). The page exists to answer a structural question the format-pair page does not: an .ico is a multi-resolution bundle rather than a single image, which is why one file can look right in a browser tab, a taskbar and a desktop shortcut at once, and why picking the sizes inside it matters. Input PNG, JPEG or WebP. One-way by design — we write .ico, we do not read it back out. Everything runs client-side. ## /ico-converter/ Positioned against the desktop-installer half of this query, which is unusually large for a file-conversion search: the autocomplete tail is full of "download for pc". The argument the page makes is that an icon conversion needs neither an installer nor an upload, and that both carry costs a browser tool does not (bundled extras, and handing your unreleased logo to a third-party server). Same ico-encode.js container writer as the other ICO pages, PNG/JPEG/WebP in, multi-resolution .ico out, one direction only, stated plainly. Works offline once loaded. ## /apple-touch-icon-generator/ Apple-touch-icon entry into the favicon generator (same FaviconClient, whose FAVICON_SET already emits apple-touch-icon.png at 180x180 labelled for the iOS home screen). Built tool-plus-reference rather than tool-only because the search intent here is predominantly spec lookup: what size, what markup, what changed. Carries a size/device/status table and the literal link rel="apple-touch-icon" element, explains why 180x180 is the current single answer where there used to be a matrix, notes that "precomposed" is obsolete, and warns that a transparent PNG composites badly on iOS because the home screen has no transparency to composite against. Input PNG/JPEG/WebP, everything rendered client-side. ## /logo-to-svg/ Logo-specific entry into the vectorizer (@image-tracer-ts, same VectorizeClient as /image-to-svg/, logo preset). Separated from the general page because the logo case has a distinct decision attached to it: tracing is genuinely good enough for a favicon, a small web mark or a mockup, and genuinely risky as the official brand asset or for large-format print, and the page says which is which instead of selling the trace as a recovery of the original vector. Also covers the "logo to svg code" sub-intent directly — an SVG is text, so it can be pasted inline into HTML, styled with CSS and animated — and how to prepare a raster before tracing. States plainly that photographs and gradients trace into large approximate files often bigger than the source. ## /pdf-to-jpg/ JPEG output for the PDF-to-image direction, which until v4.26.0 could physically only emit PNG: the format was hardcoded in handlePdfToImg and the filename builder hardcoded a matching extension, so a JPG page could not have existed without lying about the bytes handed back. Both are now driven by the format actually chosen. The page argues the real trade rather than declaring a winner — JPEG is dramatically smaller on scanned or photographic pages, PNG stays sharper on text, diagrams and line art, and the toggle is right there. Rendering is pdf.js in-browser at up to 2048px per page; password-protected PDFs are refused with a clear message; pages come back individually or as a ZIP. Rasterises pages, does not extract embedded images. ## /pdf-to-text/ PDF input for the OCR pipeline, added in v4.26.0 via a shared pdf.js rasteriser (app/lib/engine/pdf-pages.js) that reuses PDFTool's exact scaling and its mandatory isEvalSupported:false hardening (GHSA-wgrm-67xf-hhpq). Each page is rendered to a canvas and read with Tesseract; there is no embedded-text-layer extraction and the page says so in as many words, because conflating the two is the standard dishonesty in this category and it changes what a user should expect from a text-based PDF. Hard cap of 20 pages per run, disclosed before the run and restated after it with the number skipped — silent truncation is not acceptable here. Pages are separated in the output by --- Page N --- markers; one canvas is live at a time so a long document does not hold twenty full-size rasters. Password-protected and corrupt PDFs fail at selection, before the model download. English only, printed text, nothing uploads — which is the whole point for the contracts, invoices and medical letters people actually OCR. ## /emoji-favicons/ Emoji-favicon family (25-emoji pilot, hub plus one page per emoji). Glyphs are drawn with ctx.fillText at each favicon size and packed by the existing ico-encode.js container writer, so the .ico contains exactly the sizes previewed. The rendering font is the VISITOR'S OWN system emoji font (Apple Color Emoji, Segoe UI Emoji, Noto) — every page states this plainly, along with the consequence: the icon matches their platform and is not a consistent cross-platform design, and MiniPx ships no emoji artwork of its own. Colour glyphs mean colour RGBA PNG payloads inside the container. Each page carries per-emoji material that cannot be templated: where vendors visibly disagree on the design, what the glyph signals to a returning visitor scanning a tab strip, which emoji it is confusable with at 16px, the sites it actively misleads, and a substitute pick. Legibility is graded honestly per glyph rather than asserted. Deliberately a pilot: measure before expanding. ## /favicon-for/ Per-framework favicon pages (9: Next.js, React, Vue, Svelte, Angular, Astro, Nuxt, Rails, Laravel) embedding the same FaviconClient as /favicon-generator/. The differentiation is structural rather than editorial — every framework puts static assets in a different directory and wires the head differently, so each page carries the real file placement and the real markup or config for that stack, referencing the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Covers Next.js App Router icon conventions and the content-hash query string, CRA %PUBLIC_URL% versus Vite root index.html, SvelteKit static/ resolution order, Astro's public/ versus src/assets split, Nuxt 4 public/ placement, Rails favicon_link_tag and the Sprockets link_tree requirement, and Laravel's placeholder favicon. Angular is documented for both the older src/assets layout and the newer public/ glob because the CLI default changed. ## /jpg-to-pdf-under-200kb/ Image-to-PDF with a hard file-size target, for the upload portals that reject anything over a stated limit. Each image is compressed through the EXISTING encodeToTarget search (ceiling probe, floor probe, quality bisection, then the 0.8/0.64/0.5 downscale ladder) rather than a second implementation. PDF container overhead is estimated once and then MEASURED from the assembled document and corrected, so the target is checked against the finished blob rather than predicted; capped at 3 assembly passes and 40 image searches. Surplus from an image that comes in under budget is donated to the images after it. Honesty is the point of the feature: when the target cannot be met, a role=alert panel names the size actually achieved and says an upload form enforcing the limit will refuse it — never a silent over-limit file, never a rounded number. Transparency is flattened to white in target mode because JPEG is the only format with a continuous quality dial for a byte target to steer. ## /emoji-favicons/rocket/ Rocket (🚀) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/fire/ Fire (🔥) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/star/ Star (⭐) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/heart/ Red Heart (❤️) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/lightning/ Lightning Bolt (⚡) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/check-mark/ Check Mark (✅) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/target/ Bullseye (🎯) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/gear/ Gear (⚙️) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/lock/ Padlock (🔒) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/camera/ Camera (📷) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/chart/ Rising Chart (📈) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/lightbulb/ Light Bulb (💡) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/trophy/ Trophy (🏆) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/crown/ Crown (👑) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/pin/ Map Pin (📍) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/envelope/ Envelope (✉️) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/bell/ Bell (🔔) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/shopping-cart/ Shopping Cart (🛒) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/magnifying-glass/ Magnifying Glass (🔍) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/robot/ Robot Face (🤖) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/globe/ Globe (🌍) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/coffee/ Coffee Cup (☕) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/ghost/ Ghost (👻) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/brain/ Brain (🧠) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /emoji-favicons/thumbs-up/ Thumbs Up (👍) as a favicon. The glyph is drawn with the visitor's own system emoji font at each favicon size and packed into a real multi-size .ico by the same container writer the rest of the site uses, so the file matches their platform rather than any artwork MiniPx ships. Page covers where vendors visibly disagree on this design, what it signals in a tab strip, which glyphs it is confusable with at 16px, and an honest legibility grade. ## /favicon-for/nextjs/ Favicon setup for Next.js: the generator plus the placement and wiring this stack actually requires. Static files belong in app/ (file conventions) or public/; the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Next.js is told about it. ## /favicon-for/react/ Favicon setup for React: the generator plus the placement and wiring this stack actually requires. Static files belong in public/; the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how React is told about it. ## /favicon-for/vue/ Favicon setup for Vue: the generator plus the placement and wiring this stack actually requires. Static files belong in public/; the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Vue is told about it. ## /favicon-for/svelte/ Favicon setup for Svelte: the generator plus the placement and wiring this stack actually requires. Static files belong in static/; the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Svelte is told about it. ## /favicon-for/angular/ Favicon setup for Angular: the generator plus the placement and wiring this stack actually requires. Static files belong in public/ (Angular 18+) or src/assets (earlier); the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Angular is told about it. ## /favicon-for/astro/ Favicon setup for Astro: the generator plus the placement and wiring this stack actually requires. Static files belong in public/; the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Astro is told about it. ## /favicon-for/nuxt/ Favicon setup for Nuxt: the generator plus the placement and wiring this stack actually requires. Static files belong in public/ (project root, even in Nuxt 4); the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Nuxt is told about it. ## /favicon-for/rails/ Favicon setup for Ruby on Rails: the generator plus the placement and wiring this stack actually requires. Static files belong in app/assets/images/ or public/; the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Ruby on Rails is told about it. ## /favicon-for/laravel/ Favicon setup for Laravel: the generator plus the placement and wiring this stack actually requires. Static files belong in public/; the page gives the real head markup or config snippet and references the exact filenames the generator emits (favicon.ico, favicon-16x16/32x32/48x48.png, apple-touch-icon.png, android-chrome-192x192/512x512.png). Same tool as /favicon-generator/ — the difference is where the output goes and how Laravel is told about it.