Your images, on your device
Hexlode edits images in your browser. In this version, images, file names and metadata stay on your device.Updated 10 November 2026- Processed on your deviceImages are decoded, edited and encoded in your browser.
- No cookiesNothing is set to recognise you between visits.
- Anonymous analyticsCounts, timings and settings. Never your files.
What stays in your browser
Hexlode keeps a few things in your browser's storage so it works between visits. Clearing this site's data in your browser deletes all of them.
- Run filesWhile a run is active, items and step results are kept in your browser's private file storage. Run files are deleted after delivery, when a new run starts and on your next visit. Step results are kept up to the size you set, then the oldest are deleted.
- Saved pipelines and settingsOnly when you click Save or change a setting.
- The pipeline open in the StudioIts nodes, settings and name, so a reload does not lose your work, kept for that tab only. Unsaved changes are also kept for a day, so a new tab can offer them back. Never your images.
- The background removal modelOnly after you agree to download it for Remove background. It comes from Hexlode's own server and stays in your browser's cache, so later runs need no download.
- Your colour modeDark, light or system, once you pick one in the top bar.
- A copy of the appHexlode's own pages, scripts, styles, fonts and image codecs, saved after your first visit so the app opens and runs without a connection. Never your images. Each new version of Hexlode replaces it.
- Photos shared to the appOn Android, photos you share to the installed app wait here until Strip metadata opens them, then they are deleted.
Working offline
After your first visit, your browser keeps a copy of Hexlode so it opens and runs without a connection. The copy holds Hexlode's own files, never your images or anything you type, and a new version of Hexlode replaces it. With the copy, Hexlode can process images on your device without a connection.
To remove the copy, clear this site's data in your browser's settings. The app keeps working online and saves a fresh copy on your next visit.
Removing backgrounds
Remove background finds the subject with a model that runs on your device, on the graphics card or the processor, so your images can be processed without uploading them. The first time you use it, Hexlode asks before downloading the model (93.9 MB) and the engine that runs it. Both come from Hexlode's own server, which checks the model before sending it, and your browser checks it again before keeping it.
What Hexlode measures
Analytics run without cookies and without identifying you. Your IP address becomes an anonymous ID that changes every day, and is then discarded. Hexlode records the pages you open, where you click and how fast pages load, with the text on screen left out. There is no screen recording.
Hexlode's own events hold only counts, timings, node types, settings and error codes. They never hold file names, paths, pixels, image metadata or text you type.
- page_viewedA page was opened.
- quick_tool_openedA quick tool page was opened.
- files_addedFiles were added: how many were accepted and refused, and why.
- files_openedFiles were opened in the installed app, from the file manager or a share: how many images and pipeline files.
- run_startedA run started: the pipeline shape and settings, the item count, the estimate and, for a saved pipeline, how many times it has run.
- run_finishedA run finished: its status, counts of processed, skipped, cached and failed items, failure and warning codes, bytes and duration.
- model_downloadedAn on-device model was downloaded once the person agreed, or the download was declined, cancelled or failed: its size, how long it took and an error code.
- model_ranA run used an on-device model: whether WebGPU or WebAssembly ran it, how many times, how long it took to start and to run, and failure codes.
- delivery_downloadedA delivery was downloaded or saved to a folder: file count and bytes.
- template_chosenA template was chosen in the Studio.
- node_addedA node was added to the canvas, and how.
- node_removedA node was removed from the canvas, and how.
- connection_checkedA connection was made or refused: the two node types and the decision.
- pipeline_savedA pipeline was saved in the browser: its shape and settings.
- pipeline_fileA .hexlode file was exported or imported, with an error code when import failed.
- pipeline_linkA pipeline link was copied or opened, with an error code when it could not be made or read.
- sample_chosenA sample image was chosen for live previews.
- step_cache_changedThe step cache budget was changed or the cache was cleared.
- engine_unavailableA page could not run the engine: it was opened over plain HTTP, or the browser lacks Web Workers or the Origin Private File System.
- colour_mode_changedThe colour mode was changed.
Error reports
When something breaks, Hexlode sends an error report with the technical cause, the warnings the app logged and how long pages and requests took. File names are removed, and reports hold no personal data and no screen recording.
Open source
Hexlode is open source under the Apache License 2.0, so you can read exactly what it does. Images are encoded and decoded with the jSquash codecs, HEIC photos are decoded with libheif, and backgrounds are removed with the BiRefNet_lite model run by ONNX Runtime Web. Their licences ship with the app.
Questions
Open an issue on GitHub. Accounts and cloud processing are planned; this page will be updated before either arrives.
Ask on GitHub(opens in new tab)