Under the hood
How it works
Follow a result from local input to preview, editor handoff, and export—then explore the detailed processor notes for each tool.
Choose a starting path
The shared pattern is local input, focused processing, a real preview, and an optional editor handoff. The operation itself stays specific to the tool.
Background Remover
Image Editor
Image Upscaler
Video Editor
Background removal, in detail
The flagship remover adds model inference, mask refinement, edge cleanup, and straight-alpha validation to the shared local workflow.
- 1
Upload and decode
Your image is read locally — never transmitted. Magic-byte validation confirms the file type before processing. HEIC images (iPhone) are converted using a local WebAssembly decoder. For images over 4096 × 4096 px, a downscale copy is made for inference while the full-resolution original is retained for export.
- 2
On-device AI inference
The neural network runs entirely in your browser via Transformers.js. Fast uses a compact ORMBG q8 graph on WebAssembly. Best Quality uses BiRefNet Lite 512 on WebGPU when available and retries its fp32 WebAssembly variant before Fast is used as a final fallback.
- 3
High-precision Float32 mask
The AI outputs a Float32 alpha mask — not a binary cutout. Every pixel keeps a precise opacity value between 0.0 and 1.0, preserving soft edges, semi-transparent areas, and fine strands. The mask is then upscaled back to your original resolution using bilinear and bicubic interpolation.
- 4
Edge decontamination
A common artifact is color spill — where the background color bleeds into edge pixels. An automatic Lab colorspace decontamination pass pushes semi-transparent edge pixels toward the foreground color, without touching solid foreground areas.
- 5
Export with straight alpha
The final RGBA composition uses straight (non-premultiplied) alpha. The RGB of transparent pixels is preserved — never set to black or zeroed out. After encoding, we decode the export and sample edge pixels to confirm alpha integrity automatically.
Why your PNG might show black in Photoshop — and how we fix it
Every transparent image stores a color component (RGB) and an opacity component (alpha) for each pixel. Straight alpha stores these independently. Premultiplied alpha bakes the background color into the RGB values — at 0% opacity the RGB becomes fully black (0, 0, 0).
Most free tools export premultiplied alpha because it’s simpler. The file appears correct in a web browser (which handles it automatically), but in Photoshop, Figma, After Effects, or any professional tool you see black halos around the subject.
NSS never premultiplies. The final alpha write is always Math.round(maskValue × 255) applied to the original RGB — not a reconstruction. Pixels at 0% opacity keep their original RGB intact. This is validated automatically after every export.
Complete privacy by design
NSS Background Remover has no backend image processing server. There is no API call that sends your image anywhere. The AI models download once and cache in your browser — subsequent uses work offline.
The app is built as a Progressive Web App with a service worker that caches the application shell and model weights locally. Once loaded, background removal requires no internet connection.
The AI models
ORMBG — Fast mode
by schirrmacher / onnx-community · ~45 MB download
A lightweight salient object detection model. Excellent for product images, portraits, and subjects with clean edges. Its compact q8 graph runs consistently on WebAssembly.
BiRefNet — Best Quality mode
browser export by Studio Ludens · ~99–192 MB download
A 512px browser-ready bilateral reference network for fine-grained edge detail — hair, fur, transparent objects, and complex boundaries. It runs fp16 on WebGPU when available and retries fp32 on WASM before using the Fast compatibility model.
Models load from Hugging Face via Transformers.js and are cached locally after the first download.
The full tool suite
Every tool runs on the same privacy-first, on-device architecture — your files stay in your browser.
Video editor
Colour grade, apply LUT filters, add text overlays, trim clips, and export — no background removal step required.
AI image upscaler
2× and 4× super-resolution upscaling runs in your browser — no cloud API, no upload.
Video upscaler
WebGL Lanczos upscaling for video — 2× and 4×, frame by frame. Queue multiple files and retry any that fail.
Image filters
32 cinematic LUT presets — Portrait, Drama, Golden Hour, Moonlight, Film Grain, and more — with intensity control.
Video format converter
Convert between MP4 (AVC), WebM VP9, and WebM VP8 — entirely in-browser. No upload required.
Video compressor
Reduce video file size with High, Medium, Low, and Very Low quality presets using browser-native VP9 encoding.
Video resizer
Scale video to 4K, 1080p, 720p, 480p, or a custom resolution. Maintains aspect ratio by default.
Video canvas extender
Add letterbox or pillarbox padding to change aspect ratio — 1:1 for Instagram, 9:16 for Stories, 16:9 for YouTube.
Video rotate
Fix sideways or upside-down video — rotate 90° clockwise, counter-clockwise, or 180°.
Video format comparison
Upload once, encode to WebM VP9, WebM VP8, and MP4 — compare file sizes side by side and download the best.
14 image utility tools
Format converter, compressor, resizer, canvas extender, metadata remover, color picker, PNG optimizer, ICO creator, and more.
How each tool works
Click any tool to see its 3-step process, technical detail, and best-use guidance.
Video background remover▾
- 1
Pick a model tier
People clips run Robust Video Matting — a recurrent network that carries memory between frames, so edges stay stable instead of flickering. Any-subject clips use per-frame ORMBG (Fast) or BiRefNet (Best) with temporal smoothing.
- 2
On-device frame processing
Frames are decoded in order and processed at up to 1280px in a worker — WebGPU where available, WebAssembly otherwise. Clips are capped at 60 seconds so processing finishes reliably; nothing is uploaded.
- 3
Real-alpha encode
ffmpeg.wasm assembles a genuinely transparent WebM (real alpha plane) or a composited H.264 MP4 with your chosen background — original audio kept either way.
Use cases
Talking heads for video calls, product demonstration videos, social media content with custom backgrounds, layering clips over scenes in the video editor.
Video editor▾
- 1
Import and decode
Your video is decoded in the browser. You can continue from a background-removed WebM or start with any raw footage.
- 2
Edit: filters, text, trim
Apply LUT colour presets at adjustable intensity, add text overlays with font and position control, and trim start/end points on the timeline. All edits are non-destructive while the editor is open.
- 3
Export
The edited video is re-encoded and downloaded. Output is MP4 or WebM depending on input and browser capabilities.
Use cases
Colour grading social media clips, adding title cards or captions, trimming start/end before posting, applying cinematic looks to vlogs.
AI image upscaler▾
- 1
Model selection
Choose AI mode (Swin2SR — true detail synthesis) or Instant mode (Lanczos + unsharp mask — fast geometric upscale). AI mode produces better detail on photos and faces.
- 2
Tile-based processing
For AI mode, the image is divided into overlapping tiles. Each tile runs through the neural network independently and the results are assembled with seamless blending at boundaries.
- 3
Export
The upscaled image is exported at 2× or 4× the input resolution (capped at 4096 px per side). PNG output preserves all detail without lossy compression.
Use cases
Enlarging product photos for print, improving low-res images for web use, recovering detail from compressed or small photos.
Batch background removal▾
- 1
Queue upload
Upload up to 100 images. They are queued and processed one at a time using the same AI model as single-image removal.
- 2
Sequential processing
Each image runs through the full pipeline: inference → Float32 mask → edge decontamination → straight alpha export. Failed items can be retried individually.
- 3
ZIP download
When all images are processed, download a ZIP containing all results in your chosen format (PNG, WebP, or AVIF).
Use cases
E-commerce product catalogue processing, batch portfolio shots, social media asset libraries.
GIF background remover▾
- 1
GIF decode and routing
The animated GIF is decoded into frames locally, keeping frame timing. Solid-colour backgrounds use an instant colour-key path; everything else runs the same Fast/Best AI models as still images, with temporal smoothing between frames.
- 2
Honest 1-bit alpha
GIF pixels are either fully transparent or fully opaque, so soft edges are dithered and pre-composited against a matte colour to avoid halos, with an adjustable edge cutoff.
- 3
Export as GIF or APNG
Re-encode as GIF (maximum compatibility) or APNG (full 8-bit soft-edge alpha, plays in all modern browsers). Frame timing from the original is maintained.
Use cases
Discord stickers, Slack emoji, animated social media assets, transparent animated overlays.
Image filters▾
- 1
LUT application
A Look-Up Table (LUT) maps every input RGB triplet to an output RGB triplet in a single pass over all pixels. The table is applied using WebGL or Canvas 2D depending on browser support.
- 2
Intensity blend
The filtered result is blended with the original using linear interpolation at the chosen intensity (0–100%). At 50%, you get a 50/50 mix of filtered and original.
- 3
Export
The final image is exported at full input resolution as PNG or JPEG.
Use cases
32 presets including Portrait, Drama, Golden Hour, Moonlight, Film Grain, Bleach Bypass, Teal Orange. Adjustable intensity.
Video format converter▾
- 1
Format detection
The browser checks which output formats its MediaRecorder supports. Unsupported options are greyed out automatically.
- 2
Real-time transcode
Your video plays to a canvas. A MediaRecorder captures the canvas stream and encodes it in the target format using the browser's native codec.
- 3
Export
The encoded file is assembled from chunks and offered as a download in the target container format.
Use cases
Converting WebM to MP4 for platform upload, converting MOV to WebM for web delivery, testing codec compatibility.
Video compressor▾
- 1
Quality preset selection
Choose from High (4 Mbps), Medium (1.5 Mbps), Low (600 Kbps), or Very Low (200 Kbps) target bitrate.
- 2
VP9 re-encode
Your video plays to a canvas captured by a MediaRecorder set to the VP9 codec at the target bitrate. The video plays in real time as it encodes.
- 3
Export
The compressed WebM file is offered for download. File size depends on content complexity — talking head footage compresses more than fast-moving action.
Use cases
Reducing file size for platform upload limits, email attachments, and storage savings.
Video resizer▾
- 1
Target resolution
Select a preset (4K, 1080p, 720p, 480p, 360p, 240p) or enter custom width and height. Aspect ratio can be maintained or overridden.
- 2
Scaled canvas encode
The video plays to a canvas sized at the target resolution. The browser scales each frame using bilinear interpolation as it encodes.
- 3
Export
The resized WebM file is offered for download at the specified dimensions.
Use cases
Downscaling 4K clips for faster upload, resizing for platform resolution limits, preparing video for email sharing.
Video canvas extender▾
- 1
Aspect ratio calculation
Given your source video dimensions and the target ratio, the tool calculates the minimum canvas size that fits the video and achieves the target ratio.
- 2
Padded canvas encode
The video plays centered on a larger canvas filled with the chosen padding color. A MediaRecorder captures the full canvas including the padding.
- 3
Export
The padded WebM is offered for download. The video content is preserved at its original resolution — only the canvas is larger.
Use cases
Reformatting landscape footage for Instagram Stories (9:16), adding letterbox to prepare for cinema (21:9), making square clips from landscape originals.
Video rotate▾
- 1
Rotation transform
The target canvas dimensions are computed by swapping width and height for 90°/270° rotations, or keeping them for 180°.
- 2
Per-frame transform
Each frame is drawn to the rotated canvas using a CSS transform (rotate). The canvas captures the correctly oriented frame.
- 3
Export
The rotated video is encoded and downloaded as WebM. Convert to MP4 using the Format Converter if needed.
Use cases
Fixing sideways phone recordings, correcting landscape footage shot in portrait mode, flipping upside-down recordings.
Video format comparison▾
- 1
Three sequential encodes
Your video plays through once per format — VP9, VP8, and AVC — for a total of three full passes. Each produces a separate output blob.
- 2
Size measurement
Each output blob is measured and displayed with its file size, a size bar relative to source, and percentage difference from the original.
- 3
Download any or all
Each format has its own download button. Choose the smallest or the most compatible for your use case.
Use cases
Deciding between VP9 and H.264 for a specific clip, verifying which codec gives the best size/quality trade-off for a particular type of content.
Video stabilizer▾
- 1
Frame collection
All frames are captured to offscreen canvases in a first pass — no encoding happens yet.
- 2
Robust motion analysis
Multi-scale tiled tracking estimates translation and small rotation, rejects moving subjects, and resets at scene cuts.
- 3
Validated MP4 encode
Frames follow the smoothed path behind an adaptive crop capped at 10%, then blank-frame checks and audio muxing finalize a seekable H.264/AAC MP4.
Use cases
Handheld footage correction, walking-while-filming stabilization, vehicle or bike mount vibration reduction.
Lifestyle product scenes▾
- 1
Background removal
Your product photo (or clip) goes through the background remover first — the real alpha in the result is what lets a scene show through behind it.
- 2
Scene behind the cutout
In the image or video editor, pick a curated lifestyle scene or upload your own background. It fills the frame behind the subject; layers, opacity, and grading controls help it sit naturally.
- 3
Export
Export the composite at full resolution — PNG from the image editor, MP4 or transparent WebM from the video editor. Everything renders on your device.
Use cases
Amazon A+ Content lifestyle images, Instagram product posts, Shopify landing page visuals, brand kit assets.