File tools that show you what they changed

55 small tools for PDFs, images, SVG, audio and documents, each one narrow on purpose.

Most file tools are a button and a download. You get a file back and no way to tell whether the bookmarks survived, how much noise was actually removed, or what the conversion quietly lost. When something goes wrong you find out later, in the document, in front of someone else.

These tools are built the other way round. Each one measures the thing it is about to change, shows you the number, and lets you compare the result against the original before anything is downloaded. The merge reports which bookmarks carried and which were dropped. The noise reducer samples a passage that is only noise and tells you the level it found. The converter reports the size of every file next to the size it started at, and says plainly what it cannot recover.

Every tool here runs inside this browser tab. Files are read from your machine and never sent anywhere, which also means the tools work with no network once the page has loaded.

Each one is narrow on purpose. Where a large creative suite ships one generic feature, these pick the single task that feature does badly and do only that.

Browse by what the file is

Contact sheetLay a set of images out as a print artifact: paper size at a chosen resolution, captioned frames, pages numbered and spilled automatically, every page on screen before it is written.Dupe finderFingerprint images locally, group every near-copy beside the keeper the stated rule chose, decide which copies to discard, and leave with a written receipt. Nothing is uploaded and nothing is deleted.Gallery exportTurn a folder of images into a small static site you own, shown running in the page before it is downloaded: thumbnails, captions and a working lightbox in plain HTML, CSS and JavaScript.Palette extractorExtract an image's dominant colours as paste-ready code, each carrying the share of the picture it actually covers rather than the population of the box a quantizer cut. Selecting a colour paints the pixels the share counted, from the same assignment, so the number can be checked against the image. Colour is read in sRGB so the hex matches what a stylesheet paints.Extract images from CanvaGet every image out of a Canva design at full resolution, with where each one sat.Image converterA mixed pile of formats in and one format out, with every file's real type read from its own bytes.HEIC to JPGiPhone photographs opened by a decoder that ships with the page, in browsers that cannot open them at all.PNG to JPGTransparency has to go somewhere, so the colour it becomes is a control rather than a surprise.JPG to PNGA rewrap into a lossless container that will not restore anything the JPG already lost.WebP to PNGThe escape route for a file saved off a web page that local software refuses to open.Image to WebPA size decision rather than a format decision, with the saving against the original shown per file.
SVG CleanClean, sanitize, and normalize exported SVG files for safe reuse in production pages, React components, icon systems, and asset pipelines.SVG CSS BackgroundEmit CSS background-image rules that inline each SVG as a percent-encoded data URL with sensible default background sizing.SVG Extract ImagesExtract embedded base64 PNG/JPEG/GIF/WebP payloads from SVG files, optionally rewriting the SVG to reference the externalized assets.SVG ID PrefixPrefix every SVG id and rewrite matching url(#id), href="#id", and ARIA idref references in one pass.SVG InspectReport SVG element counts, ID uniqueness, embedded raster payloads, and structural risk warnings.SVG MinifyConservatively minify SVG files without changing geometry: strip comments, optionally strip metadata, convert legacy xlink:href, remove whitespace-only text nodes, and write compact XML.SVG RecolorRecolor SVG artwork from an explicit old-to-new color map applied to fills, strokes, gradient stops, inline styles, and <style> rules.SVG Remove MetadataStrip <metadata> elements and Canva/C2PA/XMP/Adobe provenance comments from SVG files while leaving all rendered content intact.SVG ResponsiveAdd a missing viewBox from numeric width/height and set root sizing (width=100%, height=auto, preserveAspectRatio, block display) for responsive layouts.SVG SanitizeRemove active SVG content, event handlers, remote links, javascript: URLs, CSS imports, and unsafe CSS url(...) references while preserving internal fragment refs and data-image references.SVG to ReactConvert SVG files into React JSX component source with hyphenated attributes rewritten to camelCase, class to className, inline style parsed to a JSX object, and {...props} spread on the root.
Extract album artPull the embedded cover art out of any audio file at full resolution.Analyze audioMeasure integrated loudness, loudness range and true peak against a platform target, and draw the spectrogram and waveform the measurement came from.Compress audioShrink audio for podcasts and uploads with visible voice/music/maximum tradeoffs.Remove clicks and popsClean clicks and pops off vinyl transfers and damaged recordings.Remove electrical humNotch out 50/60 Hz electrical hum and its harmonics without dulling the rest.Reduce noiseReduce steady background noise using a sampled noise profile.Voice over musicNarration over music with auto-ducking, the podcast mix without the DAW.Dynamic range compressorEven out loud and quiet parts with presets or full manual control.Parametric EQShape the tone with EQ presets or your own multi-band curve.Basic vocal removerRemove center-panned vocals via phase cancellation (basic, honest about its limits).Loop audioLoop a file N times or out to a target duration, seamless if you want.Merge audioJoin multiple audio files into one, with an optional crossfade.Edit metadataSet title, artist, album, year, genre and track tags.Normalize loudnessNormalize loudness to a target LUFS (or peak/RMS) via a measured two-pass pass.Overlay two tracksMix one track over another with volume, delay and fade control.Enhance voiceClean up spoken-word audio with a podcast/broadcast/phone filter chain.Change volumeRaise or lower volume by an exact dB or a linear factor.