Under the hood
How it works
From drag-and-drop to a perfect transparent PNG — here’s everything that happens, and why it matters.
The pipeline
- 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. On supported hardware, WebGPU executes the model on your GPU (2–5 s typical). Otherwise, multi-threaded or single-threaded WebAssembly is used as fallback. Two models are available: RMBG-1.4 for speed, RMBG-2.0 for maximum detail on hair, fur, and complex edges.
- 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
RMBG-1.4 — Fast mode
by BRIA AI · ~80 MB download
A lightweight salient object detection model. Excellent for product images, portraits, and subjects with clean edges. Inference: 2–5 s on WebGPU, 8–15 s on WebAssembly.
RMBG-2.0 — Best Quality mode
by BRIA AI · ~180 MB download
A bilateral reference network for fine-grained edge detail — hair, fur, transparent objects, and complex boundaries. Recommended when quality matters most.
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
22 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.
20+ 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
Frame extraction
Your video plays to an offscreen canvas while every frame is captured at full resolution. No data is sent to any server.
- 2
Per-frame AI inference
Each frame is passed to the RMBG-1.4 (Fast) or BiRefNet (Best Quality) segmentation model running in a WebAssembly/WebGPU worker. The model produces a Float32 alpha mask per frame.
- 3
Temporal smoothing and encode
Each mask is blended with the previous frame's mask (EMA smoothing) to reduce flicker. Frames are composited and encoded as WebM with alpha or MP4 with a solid/image background.
Use cases
Talking heads for video calls, product demonstration videos, social media content with custom backgrounds, news-style presentations.
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.
Portrait blur▾
- 1
Depth estimation
The MiDaS depth estimation model runs on your image, producing a per-pixel depth map. Areas farther from the camera receive more blur.
- 2
Depth-guided blur
A Gaussian blur is applied with intensity proportional to each pixel's estimated depth. The in-focus subject stays sharp while the background softens progressively.
- 3
Export
The blurred composite is exported as PNG or JPEG. The blur radius, focal point, and blend amount are adjustable before export.
Use cases
Portrait photos with busy backgrounds, product shots with distracting backgrounds, simulating shallow depth-of-field in phone photos.
GIF background remover▾
- 1
GIF decode
The animated GIF is decoded into individual frames in the browser, preserving frame timing and metadata.
- 2
Per-frame AI removal
Each frame runs through the same AI pipeline as still images. For single-color backgrounds, a color-key threshold path is used. The transparent mode always uses the full AI mask path.
- 3
Re-encode and export
Processed frames are re-encoded into a GIF with full transparency preserved. Frame timing from the original is maintained.
Use cases
Discord stickers, Slack emoji, animated social media assets, transparent animated overlays.
Live camera background removal▾
- 1
Camera stream capture
Your webcam stream is captured at up to 720p. No video is recorded or stored — frames are processed and discarded in real time.
- 2
Real-time inference
The AI model processes frames at up to 10 fps. Each frame runs through the RMBG model in a Web Worker with the mask applied to a composited canvas.
- 3
Virtual camera output
The processed canvas is available as a virtual video source that can be selected in video call software. No driver installation is required.
Use cases
Video calls with custom backgrounds, streaming without a green screen, real-time background replacement for demos.
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
22 presets including Portrait Glow, Drama, Golden Hour, Moonlight, Film Grain, Kodachrome, 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
Motion estimation and smoothing
Block-matching between adjacent frames produces per-frame translation offsets. A sliding-window average smooths the trajectory. Scene cuts are detected and handled independently.
- 3
Compensated encode
Each frame is re-rendered with the inverse of its smoothed offset applied, then encoded as a stabilized WebM.
Use cases
Handheld footage correction, walking-while-filming stabilization, vehicle or bike mount vibration reduction.
Lifestyle product composer▾
- 1
Background removal
Your product photo is processed by the same AI model as the background remover. The subject is extracted with a Float32 alpha mask.
- 2
Scene compositing
The extracted product is placed onto the selected lifestyle scene with six blending passes: shadow, ambient occlusion, color match, edge feathering, vignette, and final composite.
- 3
Export
The full-resolution composite is exported as PNG with straight alpha. Blending parameters (shadow type, color match %, edge feather) are adjustable.
Use cases
Amazon A+ Content lifestyle images, Instagram product posts, Shopify landing page visuals, brand kit assets.