# UtilByte > 55 free browser-based tools for images, PDFs, text, developer tasks, video, and everyday utilities. Most tool processing runs locally; network tools have separate data-handling conditions. Tools are interactive web pages. Input/output labels describe data types, not an exhaustive list of accepted file extensions. File limits, supported formats, browser compatibility, and result quality vary by tool. Read the linked tool page before choosing settings or handling sensitive input. Local processing does not mean an offline website: some tools download runtimes or language models, and site analytics and advertising are separate from processing. API Client, Request Catcher, Local Proxy, and WebSocket Client send data over the network. Their individual processing notes apply. This directory describes the shipped tools; it is not an endorsement by an AI provider or a guarantee of search ranking. MCP access requires a compatible client and is separate from running a tool in the browser. Directory: https://utilbyte.app/llms.txt Privacy policy: https://utilbyte.app/privacy MCP setup: https://utilbyte.app/ai MCP protocol endpoint: https://utilbyte.app/mcp ## Tool reference ### Background Remover Canonical page: https://utilbyte.app/image-tools/remove-background Catalog ID: image-remove-background Category: Image Purpose: Plain backgrounds Inputs: image Outputs: image Capabilities: Plain backgrounds Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Blur Image Canonical page: https://utilbyte.app/image-tools/blur-image Catalog ID: image-blur-image Category: Image Purpose: Blur & pixelate Inputs: image Outputs: image Capabilities: Blur & pixelate Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Format Converter Canonical page: https://utilbyte.app/image-tools/format-converter Catalog ID: image-format-converter Category: Image Purpose: PNG, JPG, WebP Inputs: image Outputs: image Capabilities: PNG, JPG, WebP Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Image Compressor Canonical page: https://utilbyte.app/image-tools/compress-image Catalog ID: image-compress-image Category: Image Purpose: Reduce file size Inputs: image Outputs: image Capabilities: Reduce file size Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. Related tools: [Image Resizer](https://utilbyte.app/image-tools/resize-image), [Image to PDF](https://utilbyte.app/pdf-tools/image-to-pdf) ### Compress to Size Canonical page: https://utilbyte.app/image-tools/compress-to-size Catalog ID: image-compress-to-size Category: Image Purpose: Target a KB limit Inputs: image Outputs: image Capabilities: Target a KB limit Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Document Photo Canonical page: https://utilbyte.app/image-tools/document-photo Catalog ID: image-document-photo Category: Image Purpose: Passport & visa sizes Inputs: image Outputs: image Capabilities: Passport & visa sizes Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Image Cropper Canonical page: https://utilbyte.app/image-tools/crop-image Catalog ID: image-crop-image Category: Image Purpose: Crop with precision Inputs: image Outputs: image Capabilities: Crop with precision Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Image Resizer Canonical page: https://utilbyte.app/image-tools/resize-image Catalog ID: image-resize-image Category: Image Purpose: Any dimension Inputs: image Outputs: image Capabilities: Any dimension Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Image to Text (OCR) Canonical page: https://utilbyte.app/image-tools/ocr Catalog ID: image-ocr Category: Image Purpose: Extract text Inputs: image Outputs: text Capabilities: Extract text Processing: Browser processing (local) Data handling: Recognition runs in this browser. The OCR worker and language models may be downloaded from external hosts; image processing remains local. ### HEIC to JPG Canonical page: https://utilbyte.app/image-tools/heic-to-jpg Catalog ID: image-heic-to-jpg Category: Image Purpose: iPhone photos Inputs: image Outputs: image Capabilities: iPhone photos Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### WebP to PNG Canonical page: https://utilbyte.app/image-tools/webp-to-png Catalog ID: image-webp-to-png Category: Image Purpose: Lossless, keeps alpha Inputs: image Outputs: image Capabilities: Lossless, keeps alpha Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### AVIF to JPG Canonical page: https://utilbyte.app/image-tools/avif-to-jpg Catalog ID: image-avif-to-jpg Category: Image Purpose: Wide compatibility Inputs: image Outputs: image Capabilities: Wide compatibility Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Compress PDF Canonical page: https://utilbyte.app/pdf-tools/compress-pdf Catalog ID: pdf-compress-pdf Category: PDF Purpose: Reduce size Inputs: pdf Outputs: pdf Capabilities: Reduce size Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### PDF to Size Canonical page: https://utilbyte.app/pdf-tools/compress-to-size Catalog ID: pdf-compress-to-size Category: PDF Purpose: Target a file size Inputs: pdf Outputs: pdf Capabilities: Target a file size Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Image to PDF Canonical page: https://utilbyte.app/pdf-tools/image-to-pdf Catalog ID: pdf-image-to-pdf Category: PDF Purpose: Create PDF Inputs: image Outputs: pdf Capabilities: Create PDF Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Merge PDF Canonical page: https://utilbyte.app/pdf-tools/merge-pdf Catalog ID: pdf-merge-pdf Category: PDF Purpose: Combine files Inputs: pdf Outputs: pdf Capabilities: Combine files Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### PDF Editor Canonical page: https://utilbyte.app/pdf-tools/edit-pdf Catalog ID: pdf-edit-pdf Category: PDF Purpose: Edit any PDF Inputs: pdf Outputs: pdf Capabilities: Edit any PDF Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### PDF to Image Canonical page: https://utilbyte.app/pdf-tools/pdf-to-image Catalog ID: pdf-pdf-to-image Category: PDF Purpose: Convert pages Inputs: pdf Outputs: image Capabilities: Convert pages Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Rotate PDF Canonical page: https://utilbyte.app/pdf-tools/rotate-pdf Catalog ID: pdf-rotate-pdf Category: PDF Purpose: Rotate pages Inputs: pdf Outputs: pdf Capabilities: Rotate pages Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Split PDF Canonical page: https://utilbyte.app/pdf-tools/split-pdf Catalog ID: pdf-split-pdf Category: PDF Purpose: Separate pages Inputs: pdf Outputs: pdf Capabilities: Separate pages Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Case Converter Canonical page: https://utilbyte.app/text-tools/case-converter Catalog ID: text-case-converter Category: Text Purpose: Change case Inputs: text Outputs: text Capabilities: Change case Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Lorem Ipsum Canonical page: https://utilbyte.app/text-tools/lorem-ipsum Catalog ID: text-lorem-ipsum Category: Text Purpose: Generate text Inputs: text Outputs: text Capabilities: Generate text Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Remove Duplicates Canonical page: https://utilbyte.app/text-tools/remove-duplicates Catalog ID: text-remove-duplicates Category: Text Purpose: Clean text Inputs: text Outputs: text Capabilities: Clean text Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Text Formatter Canonical page: https://utilbyte.app/text-tools/text-formatter Catalog ID: text-text-formatter Category: Text Purpose: Format text Inputs: text Outputs: text Capabilities: Format text Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Word Counter Canonical page: https://utilbyte.app/text-tools/word-counter Catalog ID: text-word-counter Category: Text Purpose: Count words Inputs: text Outputs: text Capabilities: Count words Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### JSON ↔ CSV Canonical page: https://utilbyte.app/dev-tools/json-csv Catalog ID: dev-json-csv Category: Developer Purpose: Convert flat records and tables Inputs: json, csv Outputs: json, csv Capabilities: Convert flat records and tables Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. Related tools: [JSON Formatter](https://utilbyte.app/dev-tools/json-formatter), [JSON Schema Validator](https://utilbyte.app/dev-tools/json-schema) ### JSON Schema Validator Canonical page: https://utilbyte.app/dev-tools/json-schema Catalog ID: dev-json-schema Category: Developer Purpose: Validate JSON against a draft-07 schema Inputs: json, json-schema Outputs: validation-report Capabilities: Validate JSON against a draft-07 schema Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. Related tools: [JSON Formatter](https://utilbyte.app/dev-tools/json-formatter) ### JSON to TypeScript Canonical page: https://utilbyte.app/dev-tools/json-to-typescript Catalog ID: dev-json-to-typescript Category: Developer Purpose: Infer types from a JSON example Inputs: json Outputs: typescript Capabilities: Infer types from a JSON example Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. Related tools: [JSON Schema Validator](https://utilbyte.app/dev-tools/json-schema), [JSON Formatter](https://utilbyte.app/dev-tools/json-formatter) ### API Client Canonical page: https://utilbyte.app/dev-tools/api-client Catalog ID: dev-api-client Category: Developer Purpose: Send HTTP requests Inputs: http-request Outputs: http-response Capabilities: Send HTTP requests Processing: Requests pass through the UtilByte proxy (proxied-network) Data handling: Your URL, headers, and body go through UtilByte's /api/proxy server to the destination. Responses return through that server. Do not send secrets you cannot share with the destination and proxy. ### Base64 Canonical page: https://utilbyte.app/dev-tools/base64 Catalog ID: dev-base64 Category: Developer Purpose: Encode/decode Inputs: text, base64 Outputs: base64, text Capabilities: Encode/decode Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Code Beautifier Canonical page: https://utilbyte.app/dev-tools/code-beautifier Catalog ID: dev-code-beautifier Category: Developer Purpose: Format HTML/CSS/JS Inputs: text Outputs: text Capabilities: Format HTML/CSS/JS Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Cron Parser Canonical page: https://utilbyte.app/dev-tools/cron-parser Catalog ID: dev-cron-parser Category: Developer Purpose: Parse cron Inputs: text Outputs: text Capabilities: Parse cron Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Diff Checker Canonical page: https://utilbyte.app/dev-tools/diff-checker Catalog ID: dev-diff-checker Category: Developer Purpose: Compare text Inputs: text Outputs: text-diff Capabilities: Compare text Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Hash Generator Canonical page: https://utilbyte.app/dev-tools/hash-generator Catalog ID: dev-hash-generator Category: Developer Purpose: MD5, SHA Inputs: text Outputs: hash Capabilities: MD5, SHA Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### JSON Formatter Canonical page: https://utilbyte.app/dev-tools/json-formatter Catalog ID: dev-json-formatter Category: Developer Purpose: Format & validate JSON Inputs: json Outputs: json Capabilities: Format & validate JSON Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. Related tools: [JSON ↔ CSV](https://utilbyte.app/dev-tools/json-csv), [JSON Schema Validator](https://utilbyte.app/dev-tools/json-schema), [JSON to TypeScript](https://utilbyte.app/dev-tools/json-to-typescript) ### JWT Decoder Canonical page: https://utilbyte.app/dev-tools/jwt-decoder Catalog ID: dev-jwt-decoder Category: Developer Purpose: Decode tokens Inputs: jwt Outputs: json Capabilities: Decode tokens Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Markdown Renderer Canonical page: https://utilbyte.app/dev-tools/markdown-renderer Catalog ID: dev-markdown-renderer Category: Developer Purpose: Render markdown Inputs: markdown Outputs: html Capabilities: Render markdown Processing: Browser processing (local) Data handling: Markdown renders in your browser. Remote images embedded in the document can contact their source servers. ### Online Compiler Canonical page: https://utilbyte.app/dev-tools/online-compiler Catalog ID: dev-online-compiler Category: Developer Purpose: Run JavaScript and Python examples Inputs: code Outputs: execution-output Capabilities: Run JavaScript and Python examples Processing: Browser processing (local) Data handling: JavaScript and Python execute in this browser; TypeScript is not transpiled. Python downloads Pyodide from jsDelivr on first use. Code can access browser capabilities and make network requests. There is no isolated security sandbox or execution timeout; run only code you trust. ### Regex Tester Canonical page: https://utilbyte.app/dev-tools/regex-tester Catalog ID: dev-regex-tester Category: Developer Purpose: Test patterns Inputs: text Outputs: text Capabilities: Test patterns Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Request Catcher Canonical page: https://utilbyte.app/dev-tools/request-catcher Catalog ID: dev-request-catcher Category: Developer Purpose: Capture requests Inputs: http-request Outputs: request-log Capabilities: Capture requests Processing: Hosted service (hosted) Data handling: Incoming requests are stored in a hosted Supabase database, including body, query, headers (except Authorization), and IP address. Anyone with the bin ID can read or clear it. The supplied database policies also permit broad anonymous access. No automatic retention cleanup is implemented in the supplied source. Clear deletes the bin's request rows; infrastructure logs/backups are outside this control. Use synthetic test data only. ### Local Proxy Canonical page: https://utilbyte.app/dev-tools/local-proxy Catalog ID: dev-local-proxy Category: Developer Purpose: Forward to localhost Inputs: http-request Outputs: http-response Capabilities: Forward to localhost Processing: Hosted service (hosted) Data handling: Requests are stored by the hosted Request Catcher, then forwarded to the configured URL when enabled. Bin IDs are shared with Request Catcher and saved in this browser. Anyone with an ID can change forwarding settings; no owner authentication is implemented. No automatic retention cleanup is implemented. Use synthetic test data only. ### SQL Formatter Canonical page: https://utilbyte.app/dev-tools/sql-formatter Catalog ID: dev-sql-formatter Category: Developer Purpose: Beautify SQL queries Inputs: sql Outputs: sql Capabilities: Beautify SQL queries Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. Related tools: [Diff Checker](https://utilbyte.app/dev-tools/diff-checker) ### URL Encoder Canonical page: https://utilbyte.app/dev-tools/url-encoder Catalog ID: dev-url-encoder Category: Developer Purpose: Encode URLs Inputs: text Outputs: text Capabilities: Encode URLs Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### UUID Generator Canonical page: https://utilbyte.app/dev-tools/uuid-generator Catalog ID: dev-uuid-generator Category: Developer Purpose: Generate IDs Inputs: settings Outputs: uuid Capabilities: Generate IDs Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### WebSocket Client Canonical page: https://utilbyte.app/dev-tools/websocket-client Catalog ID: dev-websocket-client Category: Developer Purpose: WS connections Inputs: text Outputs: messages Capabilities: WS connections Processing: Direct connection to a user-selected server (direct-network) Data handling: Connects directly from this browser to the WebSocket URL you enter. Messages are sent to that server; its retention policy applies. ### Video to Audio Canonical page: https://utilbyte.app/video-tools/video-to-audio Catalog ID: video-video-to-audio Category: Video Purpose: Extract audio Inputs: video Outputs: media Capabilities: Extract audio Processing: Browser processing (local) Data handling: Media processing runs in this browser. FFmpeg downloads its runtime from an external CDN when needed. Your selected video is not uploaded by the tool. ### Video Compressor Canonical page: https://utilbyte.app/video-tools/compress-video Catalog ID: video-compress-video Category: Video Purpose: Reduce size Inputs: video Outputs: media Capabilities: Reduce size Processing: Browser processing (local) Data handling: Media processing runs in this browser. FFmpeg downloads its runtime from an external CDN when needed. Your selected video is not uploaded by the tool. ### Video to GIF Canonical page: https://utilbyte.app/video-tools/video-to-gif Catalog ID: video-video-to-gif Category: Video Purpose: Create GIFs Inputs: video Outputs: media Capabilities: Create GIFs Processing: Browser processing (local) Data handling: Media processing runs in this browser. FFmpeg downloads its runtime from an external CDN when needed. Your selected video is not uploaded by the tool. ### Barcode Generator Canonical page: https://utilbyte.app/utility-tools/barcode Catalog ID: utility-barcode Category: Utility Purpose: Generate barcodes Inputs: text Outputs: image Capabilities: Generate barcodes Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Color Converter Canonical page: https://utilbyte.app/utility-tools/color-converter Catalog ID: utility-color-converter Category: Utility Purpose: HEX, RGB, HSL Inputs: text Outputs: text Capabilities: HEX, RGB, HSL Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Countdown Timer Canonical page: https://utilbyte.app/utility-tools/countdown Catalog ID: utility-countdown Category: Utility Purpose: Create timers Inputs: date Outputs: timer Capabilities: Create timers Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Password Generator Canonical page: https://utilbyte.app/utility-tools/password-generator Catalog ID: utility-password-generator Category: Utility Purpose: Secure passwords Inputs: settings Outputs: password Capabilities: Secure passwords Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### QR Code Canonical page: https://utilbyte.app/utility-tools/qr-code Catalog ID: utility-qr-code Category: Utility Purpose: Create codes Inputs: text Outputs: image Capabilities: Create codes Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Timestamp Converter Canonical page: https://utilbyte.app/utility-tools/timestamp Catalog ID: utility-timestamp Category: Utility Purpose: Unix timestamps Inputs: timestamp, date Outputs: timestamp, date Capabilities: Unix timestamps Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ### Unit Converter Canonical page: https://utilbyte.app/utility-tools/unit-converter Catalog ID: utility-unit-converter Category: Utility Purpose: Convert units Inputs: text Outputs: text Capabilities: Convert units Processing: Browser processing (local) Data handling: This tool processes input in your browser. Site analytics and advertising are separate from tool processing; see the privacy policy. ## Limits and choosing a tool Browser tools operate within device memory and browser codec support. Compression to a target size can require quality or dimension changes; the requested size is not a promise that every file can reach it. Review the actual output before submitting a document or replacing an original. Formatting does not execute SQL or establish that a query is correct. JSON Formatter rejects duplicate keys and numbers it cannot represent safely; its path lookup supports property names and array indices, not full JSONPath. JSON conversion and schema validation have different purposes; review spreadsheet-formula handling on their tool pages. Online Compiler runs JavaScript and Python without an isolated security sandbox; its TypeScript mode does not transpile types. An image conversion does not add detail to the original. Background removal works on plain backgrounds; it is not general subject segmentation. ## Guide summaries ### Inspect JSON, validate it, then convert it safely Canonical page: https://utilbyte.app/guides/json-validation-and-conversion Readable JSON, valid JSON, and usable exported data are different things. Follow one small example from inspection through schema validation to a spreadsheet export or an inferred TypeScript type. An export can look correct while changing the meaning of your data. An identifier such as 001 is text; true is a boolean; a missing field is different from a field set to null. Decide which distinctions the receiving application needs before converting anything. This workflow uses UtilByte’s JSON Formatter, JSON Schema Validator, JSON ↔ CSV, and JSON to TypeScript tools. These tools process the input in your browser. Site analytics and advertising are separate; browser processing is not a claim that every request made by the website stays offline. Related tools: [JSON Formatter](https://utilbyte.app/dev-tools/json-formatter), [JSON Schema Validator](https://utilbyte.app/dev-tools/json-schema), [JSON ↔ CSV](https://utilbyte.app/dev-tools/json-csv), [JSON to TypeScript](https://utilbyte.app/dev-tools/json-to-typescript) ### SQL formatting edge cases you can reproduce Canonical page: https://utilbyte.app/guides/sql-formatting-regressions A SQL formatter should preserve quoted values and comment boundaries. This guide explains the checked fixtures and how to reproduce them in the open-source repository. Replacing spaces across an entire query can change a value such as 'a b' into 'a b'. Replacing keyword text inside strings is equally unsafe. UtilByte now uses a dialect-aware formatter instead of these global replacements. The test corpus checks specific cases. It does not validate a query, prove semantic equivalence, or guarantee every vendor extension is supported. Related tools: [SQL Formatter](https://utilbyte.app/dev-tools/sql-formatter), [Diff Checker](https://utilbyte.app/dev-tools/diff-checker) ### Document photo sizes, and how to read a specification Canonical page: https://utilbyte.app/guides/document-photo-sizes A reference for document photo specifications and, more usefully, a method for reading one you have never seen before. Two specifications here are quoted from the issuing authority and linked. Everything else is either arithmetic, which is safe anywhere, or a convention that you have to confirm before you rely on it. Search for your country's passport photo size and you get a dozen tables, all confident, most uncited, several out of date. Some are copies of each other. At least one is copying a rule that changed years ago. The genre exists because the query is popular and the honest answer is dull: the size is whatever the authority issuing your document currently says it is. That does not make the numbers useless, but it changes what a page like this can honestly offer. The table below carries a status column, and only two rows in it were checked against the issuing authority's own published page. The rest are conventions worth knowing as a starting point, not as an answer. The more durable thing is understanding what each number in a specification is doing - which ones a machine checks the second you press upload, which ones a person checks a week later, and which ones describe paper rather than pixels. That transfers to any form, including the one you meet next year when this page is stale. Related tools: [Document Photo Maker](https://utilbyte.app/image-tools/document-photo), [Resize Image](https://utilbyte.app/image-tools/resize-image), [Crop Image](https://utilbyte.app/image-tools/crop-image), [Compress to Size](https://utilbyte.app/image-tools/compress-to-size), [Image Compressor](https://utilbyte.app/image-tools/compress-image) ### US visa and Diversity Visa photos: check the right specification Canonical page: https://utilbyte.app/guides/dv-lottery-photo-requirements The Diversity Visa entry instructions specify a 600 by 600 pixel image. The general US visa digital-image page gives a wider range. Use the requirements for your actual application, then check composition as well as the file. A photo can have the right number of pixels and still be unsuitable for an application. File dimensions, format and size are only part of the task; how the photograph was taken and whether it reflects your appearance also matter. This guide is a photo-preparation reference, not an eligibility assessment or a submission service. UtilByte can help with image dimensions and file size. It cannot certify that an authority will accept a photograph. Related tools: [Document Photo](https://utilbyte.app/image-tools/document-photo), [Resize Image](https://utilbyte.app/image-tools/resize-image), [Compress Image](https://utilbyte.app/image-tools/compress-image) ### How to get a photo under 20 KB without wrecking it Canonical page: https://utilbyte.app/guides/compress-photo-to-20kb Twenty kilobytes is roughly a two-hundredth of what a phone camera produces, and the forms that ask for it do not negotiate. This guide covers the order of operations that works at 20 KB, 50 KB and 100 KB, what each of those sizes looks like on a face, and the published specifications where compressing too hard is itself a rejection. Twenty kilobytes is not a size anyone chose on purpose. It is a number left in a database schema from a time when a scanned photograph was 640 pixels across, and it survives because nobody has a reason to change it. The forms carrying it - exam registrations, government job portals, older visa systems - do not negotiate, and the file coming off your phone is somewhere between one and eight megabytes. The instinct is to open a compressor and drag the quality slider to the floor. On a full-resolution camera file that gives you something smeared and blocky which is still over the limit, so people drag it further, and now the photo is unusable and the form still says no. The slider is the last step, not the first. What follows is the order that works, at 20 KB and at the friendlier 50 KB and 100 KB caps, plus two published specifications where compressing too hard fails on its own terms. Related tools: [Compress to Size](https://utilbyte.app/image-tools/compress-to-size), [Crop Image](https://utilbyte.app/image-tools/crop-image), [Resize Image](https://utilbyte.app/image-tools/resize-image), [Document Photo Maker](https://utilbyte.app/image-tools/document-photo), [Image Compressor](https://utilbyte.app/image-tools/compress-image) ### Preparing documents for government and university online portals Canonical page: https://utilbyte.app/guides/documents-for-online-forms Portals accept files on rules they mostly do not publish, then reject them with a red box that says nothing useful. This is the working order for getting a document from paper to accepted upload, the traps between each step, and how to diagnose a silent rejection instead of guessing. The document is fine. You have it in your hand, or on your desktop, and any human looking at it would accept it in a second. The portal will not. It shows a red box saying the file could not be uploaded, or worse, it says nothing at all and quietly leaves the field empty when you scroll back up. Nearly all of these failures come from a small number of causes, and nearly all are avoidable if you work in the right sequence. The sequence matters more than the tools: people usually own the right software already, they just apply it in an order that destroys quality or breaks a second rule while satisfying the first. What follows is the end-to-end order, the reasoning behind it, and a diagnostic list for the moment when a technically valid file gets refused anyway. Related tools: [Document Photo Maker](https://utilbyte.app/image-tools/document-photo), [Compress Image to Size](https://utilbyte.app/image-tools/compress-to-size), [Image to PDF](https://utilbyte.app/pdf-tools/image-to-pdf), [Merge PDF](https://utilbyte.app/pdf-tools/merge-pdf), [Split PDF](https://utilbyte.app/pdf-tools/split-pdf), [Compress PDF](https://utilbyte.app/pdf-tools/compress-pdf), [OCR](https://utilbyte.app/image-tools/ocr) ### What actually happens inside a PDF when you compress it Canonical page: https://utilbyte.app/guides/pdf-compression-explained Run two PDFs through the same compressor and one collapses while the other barely moves. The difference is structural, and it is obvious once you know what a PDF is made of. This is the mechanical account: the objects, the stream filters, what a rebuild can remove, and why some files will not shrink at all. Two documents, both thirty pages, both A4. One goes from 38 MB to 2 MB. The other gives back four kilobytes. Most people conclude the tool is broken, try four more, get the same answer, and give up. The tool is usually fine. The two files differ in a way no PDF reader shows you on screen. The word compression is doing at least four jobs here, and they operate on different parts of the file. Some are available to code running in a browser tab and some are not. Once you can tell which job a tool is doing, the surprising results stop being surprising. So this is the mechanical version. What the file is made of, what a save rewrites, why a text document has nothing left to give, and why a compressor sometimes hands back something larger. Related tools: [Compress PDF](https://utilbyte.app/pdf-tools/compress-pdf), [Split PDF](https://utilbyte.app/pdf-tools/split-pdf), [Merge PDF](https://utilbyte.app/pdf-tools/merge-pdf), [Image to PDF](https://utilbyte.app/pdf-tools/image-to-pdf), [Compress Image to Size](https://utilbyte.app/image-tools/compress-to-size), [OCR](https://utilbyte.app/image-tools/ocr) ### Image formats compared: JPEG, PNG, WebP, AVIF, GIF, SVG and HEIC Canonical page: https://utilbyte.app/guides/image-formats-compared Seven formats cover nearly every image you will ever save or be sent, and each was designed against a different problem. This guide sets them side by side on the properties that actually decide things, then works through what each one is for, where it fails, and how to choose based on who opens the file next. Seven formats cover almost every image most people deal with. They are not really competitors and there is no winner at the top of the list. Each was designed against a different problem, and format choice feels like guesswork mainly because the export dialog offers all of them at once with no clue which problem you have. Two questions settle it nearly every time. Is the image a photograph, or flat colour with hard edges. And who opens the file next - a browser on a site you control, or an upload form written a decade ago. The short version: JPEG for photographs going to strangers, PNG for screenshots and flat graphics, WebP or AVIF for a site you control, SVG for logos and icons, GIF only when something old insists. The rest is why, and where those defaults break. Related tools: [Format Converter](https://utilbyte.app/image-tools/format-converter), [Image Compressor](https://utilbyte.app/image-tools/compress-image), [Compress to Size](https://utilbyte.app/image-tools/compress-to-size), [Resize Image](https://utilbyte.app/image-tools/resize-image) ### HEIC explained: why iPhone photos will not open, and how to get a JPG Canonical page: https://utilbyte.app/guides/heic-explained HEIC is the format iPhones have used for photos since 2017. It stores a picture in roughly half the space of a JPEG, and it fails to open on a large share of the computers you might send it to. Here is what the format is, exactly where it breaks, the setting that stops your phone producing it, and what conversion can and cannot do. You attach a photo to a form and it tells you the file type is not supported, without saying which types are. Or you email a picture to somebody and they see a blank icon. The photo looked completely normal on the phone that took it, which is what makes this so hard to diagnose from the sending end. The file is a .HEIC, and it has been the iPhone camera default since iOS 11 in 2017. On its technical merits it beats JPEG comfortably. That is no help at all when the file will not open, and nothing goes wrong until the photo leaves Apple's world, so the person who took it usually has no idea anything is wrong. There are three separate things worth understanding, and they solve different problems: what the format is, how to stop your phone making them, and how to rescue the ones you already have. Related tools: [Format Converter](https://utilbyte.app/image-tools/format-converter), [Compress Image](https://utilbyte.app/image-tools/compress-image), [Compress to Size](https://utilbyte.app/image-tools/compress-to-size) ### Uploads versus your browser: what really happens to a file, and how to check Canonical page: https://utilbyte.app/guides/browser-vs-upload-privacy Two websites that look identical can do completely different things with the file you hand them. One sends it to a server, the other never lets it leave the tab. This guide explains both paths honestly, including what browser processing costs you, then shows two ways to find out for yourself which one a site is using. Every online converter looks the same from the outside. You drop a file into a dashed box, a progress bar moves, a download appears. Underneath, two completely different things might have happened, and the difference decides whether a copy of your file now exists on somebody else's disk. This is not an argument that one approach is evil and the other virtuous. Server-side processing is how a lot of good software works. The problem is narrower: most people cannot tell which kind of site they are on, and a homepage claim is not evidence, because it costs nothing to make. So the useful part of this guide is not the explanation. It is the two tests in the middle, which take about a minute between them and require you to trust nobody. Related tools: [Format Converter](https://utilbyte.app/image-tools/format-converter), [Image Compressor](https://utilbyte.app/image-tools/compress-image), [Document Photo](https://utilbyte.app/image-tools/document-photo), [Merge PDF](https://utilbyte.app/pdf-tools/merge-pdf), [Resize Image](https://utilbyte.app/image-tools/resize-image)