Client-side image processing moves work that might traditionally run on an application server into the visitor’s browser. That can remove a major data-transfer step: the selected image does not need to be posted to a remote conversion endpoint. It is a meaningful privacy and latency advantage—but only when the implementation actually follows that architecture, and it does not mean the page has no network activity, that tracking cannot occur, or that regulatory compliance is automatic.
Download the blank network-audit worksheet (CSV) and record the browser version, consent state, request evidence and checksums. A blank worksheet is a protocol aid, not a claimed test result.
The short version
- A browser can read a file the visitor deliberately selects and manipulate it as a
FileorBlob. - Local conversion can keep the image bytes out of a conversion-server request.
- The webpage may still request HTML, CSS, JavaScript, fonts, ads and analytics. Local file processing is not the same as an offline site.
- Any claim that tracking cannot occur must be tested against the live network log and the site’s policies.
- Local processing reduces one exposure path, but it does not by itself certify HIPAA, GDPR or any other compliance regime.
- Large decoded images, animation frames and concurrent jobs can consume far more memory than the compressed file size suggests.
What “client-side” means in an image converter
The W3C File API gives web applications representations for files a visitor selects, immutable binary Blob objects, asynchronous readers and temporary blob URLs. Web APIs can then decode a selected image, draw decoded pixels to a canvas and create a new PNG Blob. The browser can expose that generated blob as a download without first saving it on an application server.
That describes a capability, not proof of a particular site’s behavior. The proof must come from the implementation and a reproducible network inspection. A script can just as easily place a selected file in FormData and send it with fetch(). A privacy claim therefore needs two parts: a clear data-flow statement and evidence from the deployed page.
The privacy win—and its exact boundary
What local conversion can protect
- Image content: the selected WebP bytes do not have to be transmitted to a conversion server.
- File names: they do not have to appear in a conversion request, assuming the implementation does not send them separately.
- Output content: the generated PNG can be downloaded from a local blob URL.
- Server retention risk: a server cannot retain an image it never receives through the conversion flow.
This can be especially useful for screenshots, internal design assets and documents that should not be unnecessarily copied to a third-party conversion service. It also removes image-upload and result-download time from the conversion path after the application has loaded.
What local conversion does not prove
- No network requests: the site still needs network requests to load unless it has a separately verified offline mode.
- No analytics or advertising: measurement and ad scripts may process ordinary usage data even when they never receive the selected image.
- No browser or device exposure: the image exists in browser-managed memory and on the visitor’s device.
- No extension risk: browser extensions, injected software or a compromised browser environment are outside the converter’s control.
- Legal compliance: compliance depends on the complete system, policies, contracts, access controls, risk analysis and the facts of the use case.
For example, the U.S. Department of Health and Human Services treats HIPAA risk analysis as an organization-specific process that considers where protected information is stored, received, maintained or transmitted. Running one transformation locally can reduce a transmission, but it is not a certification for handling medical images. Similar caution applies to claims under other privacy regimes.
The WEBP to PNG Tools data-flow statement
On WEBP to PNG Tools, image conversion is designed to run locally in the browser. Visitors can select up to 20 files per batch, with a maximum of 50 MB for each file. The selected images and generated PNGs are not sent to a conversion server as part of that conversion flow.
The distinction matters: ordinary website delivery, security, consent, analytics or advertising requests can still occur. Those services should be described in the site’s Privacy Policy and Cookie Policy. “Your selected images are processed locally” is supportable when verified; “nothing ever leaves your browser” is not an accurate description of a live webpage.
For animated WebP, the default conversion exports the first frame. Where the browser supports the required frame-extraction path, the tool can export all frames as individual PNG files in a ZIP archive. All-frame extraction can create substantially more temporary data than a single-frame export, so it deserves its own memory and network-audit test case.
A reproducible network audit
The following test is intended to verify the deployed page rather than rely on a marketing claim. Use a synthetic fixture—never a confidential image—for the audit. The downloadable files from our 2026 synthetic benchmark are suitable because their generator, source data and SHA-256 checksums are published.
Test setup
- Record the UTC date, operating system, browser name and exact browser version.
- Use a fresh browser profile with no extensions. Record the consent choice used for the test.
- Open Chrome DevTools, select Network, enable Preserve log, disable the browser cache and clear the request list.
- Load
https://webp-to-png.tools/and wait for network activity to settle. Save a sanitized baseline HAR. - Record the synthetic fixture’s file name, byte size, pixel dimensions and SHA-256 checksum.
- Select one static WebP fixture, run the conversion and download the PNG.
- Repeat with one animated WebP: first-frame export, then all-frame ZIP export if the control is available in that browser.
- Save a second sanitized HAR. Chrome warns that HAR files can contain sensitive data; do not publish an unsanitized HAR.
What to inspect
- New
fetch, XHR, document, beacon or other HTTP(S) requests triggered after file selection or conversion. - Request methods, destinations, content types and payloads. Look for
multipart/form-data,application/octet-stream, image MIME types, the fixture’s file name or a payload close to the fixture’s byte size. - Whether preview and download URLs use the local
blob:scheme. - Whether any analytics events contain file content, file names or dimensions. Ordinary event requests must not be mislabelled as image uploads, but they should still be disclosed accurately.
- Differences between consent denied and consent granted.
| Blank audit field | What the reader should enter after running the protocol |
|---|---|
| Test environment | UTC date, operating system, browser name and exact version, consent state and deployed page URL. |
| Static fixture identity | File name, byte size, dimensions and SHA-256 checksum. |
| Image-data request check | Whether any HTTP(S) request contained the fixture bytes, file name or an image payload; cite the request evidence. |
| Preview and download path | The observed URL scheme, such as blob:, and the action that created it. |
| Animated behavior | First-frame result; all-frames ZIP result or “not available” with the browser capability result. |
| Other network services | Observed analytics, advertising, consent and site-delivery domains, separated by consent state. |
| Evidence package | Sanitized HAR filename and checksum, screenshots, fixture checksum and any redaction notes. |
A passing run supports a narrow statement: under the recorded browser, build and test actions, the auditor did not observe the fixture’s image data being sent over HTTP(S). It does not prove that every browser, future build, consent state or third-party script will behave identically. Repeat the audit after material code, analytics, advertising or consent changes.
Performance traps in local image processing
Compressed bytes are not decoded memory
A 10 MB WebP does not become a 10 MB working surface. Decoders expand the compressed data into pixels. A common RGBA8 representation needs four bytes per pixel before accounting for copies, canvas backing stores, GPU resources, encoded outputs or runtime overhead. Dimensions and frame count are therefore better first-order risk indicators than the compressed file size alone.
Concurrency can multiply the peak
Starting every file at once may retain several input blobs, decoded bitmaps, canvases and encoded outputs simultaneously. Queueing jobs and limiting active decodes generally produces a lower peak than unconstrained parallel work. The right concurrency is device- and implementation-dependent; a fixed native-speed percentage is not meaningful without a native comparator, corpus, device matrix and timing protocol.
The main thread controls perceived responsiveness
Decode, canvas work, PNG encoding, ZIP creation and frequent DOM updates can delay input and rendering when they occupy the main thread. createImageBitmap() provides an asynchronous bitmap-creation path, and some image work may be moved to workers where supported. That does not guarantee a speedup: transfers, copies and browser implementation details still need measurement. The user-facing goal is to keep controls responsive, provide progress and allow the browser to paint between units of work.
Temporary objects need a lifecycle
The File API notes that a blob cannot be garbage-collected while a live blob-URL mapping retains it. Revoke object URLs when the preview or download no longer needs them, and call ImageBitmap.close() for bitmap resources that are finished. Do not revoke a download URL before the visitor can use it; lifecycle management must match the interface.
Build a threat model before writing the headline
“Private” is meaningful only in relation to a threat. For a conversion service, at least four boundaries deserve separate answers:
- Conversion operator: can the application server receive the selected file, its name or the generated output?
- Third-party services: which analytics, advertising, consent, font or security domains receive requests, and under which consent state?
- Local environment: who controls the device, browser profile, extensions, downloads folder and backups?
- Application integrity: how are deployed scripts protected, reviewed and monitored for unauthorized changes?
A local-processing architecture directly improves the first boundary when the network audit passes. It does not automatically solve the other three. That is why the site should make a narrow, testable statement about selected image bytes and link to complete policies for the remaining data flows.
Questions for a high-sensitivity workflow
- Is the device managed and encrypted?
- Are unneeded browser extensions disabled?
- Does the source image contain embedded personal or organizational metadata?
- Where will the generated PNG and ZIP archive be stored or synchronized?
- Has the organization approved the site, browser and handling procedure?
- Does the workflow require contractual, retention or audit controls beyond local conversion?
These questions are not evidence that the tool uploads files. They explain why a truthful “local conversion” property must not be expanded into an organization-wide compliance guarantee.
Safer product and editorial claims
| Avoid | Use instead |
|---|---|
| “Tracking-free” | “Selected image files are processed locally; see our policies for analytics, ads and other site data.” |
| “No network activity at all” | “The selected image is not sent to a conversion server; the webpage still makes ordinary network requests.” |
| “Guaranteed regulatory compliance” | “Local conversion can reduce an unnecessary transfer, but organizations must conduct their own legal, security and risk assessment.” |
| “Unlimited files and sizes” | “Up to 20 files per batch, maximum 50 MB each.” |
| “Native-equivalent performance” | Publish the exact device, browser, corpus, comparator, repetitions and results—or make no percentage claim. |
Methodology and limitations
This article was rebuilt on 13 August 2026 from the live product facts and official web-platform, browser-tooling, consent and U.S. health-security sources listed below. Its network section is a reproducible reader protocol and blank evidence-recording template, not a claim that an editorial test passed. Network inspection cannot rule out device compromise, extension behavior or future code changes. The memory discussion describes mechanisms and first-order arithmetic; it is not a measured device benchmark.
Sources and verification ledger
- W3C File API — selected files, Blob objects, asynchronous reads, blob URLs, revocation and privacy considerations.
- MDN: HTMLCanvasElement.toBlob() — creating an encoded PNG Blob and browser-managed storage.
- MDN: createImageBitmap() — asynchronous bitmap creation and accepted sources.
- MDN: ImageBitmap — worker availability and
close(). - Chrome DevTools Network reference — saving sanitized HAR files and inspecting requests.
- Google consent mode overview — analytics and advertising behavior depends on consent settings; denied states can still involve limited pings.
- U.S. HHS: HIPAA Security Risk Analysis — compliance requires an organization-specific assessment of electronic protected health information.

