wide.video

About wide.video

wide.video is a free, privacy-first online video editor. Edit HD or 4K video locally with AI Captions, Background Removal, and Smooth Motion. No server uploads, no signups.

1.7.12

Features

  • No Installs Or Uploads - wide.video is a browser-based application and runs locally on your computer. You can access all of the media from your file system, without any need of cloud server communication or uploads.
  • Cross-Platform - Start video editing on your Mac, PC or Chromebook with ease while using your preferred web browser.
  • Unlimited Setup & Compositions - Full HD, 4K, portrait, landscape or square? 60 or 120 FPS. Use as many layers as you need for graphics, background videos, audio tracks.
  • No Signup, Fees Or Watermarks - Enjoy 100% free service, without paywalls or ads. No logins, no passwords required.
  • Free Stock Media - Search and use royalty free stock videos, images and motion graphics.

Resources

Social Media & Platforms

Engage with us on X, Bluesky, Discord, Facebook, Instagram, LinkedIn, Mastodon, Reddit, Threads, TikTok, WSocial or YouTube.

Get it on Google Play, Microsoft Store, Chrome Web Store or Puter.

Open Source Software Notices

The wide.video software may contain one or more of the following items of open source software supplied by third-party licensors: BEN2, BRIA Background Removal, DeepFilterNet, ECCV2022-RIFE, Emscripten, FFmpeg, AOM, Kvazaar, LAME, libsndfile, libsamplerate, Ogg, OpenH264, Opus, SVT-AV1, Theora, Vorbis, WebM, WebP, Kokoro, lottie-web, Marked, Mediabunny, open-image-models, Piper, Real-ESRGAN, rive-wasm, rnnoise-models, Stable Audio 3, UltraFace, Wespeaker, Whisper, YOLO

About FFmpeg

This software uses code of FFmpeg licensed under the LGPLv3 and its source can be downloaded here (demo).

Buy Me a Coffee

Thank you for your support! Your contribution helps improve wide.video and bring even more awesome features.

Core Concepts

This section explains the concepts used throughout the app and how they relate to each other. It defines the meaning of the terms used in the documentation and describes the conceptual structure of a project.

Project

A Project is the complete editing environment for a video. A project can contain:

  • media used by the project
  • scene and layers
  • clips placed in layers
  • filters and effects
  • project settings
  • fonts, shaders, and other project resources

A project describes the complete editable state of a video rather than only the final exported file.

The app supports standard projects and Temporary (virtual) project.

A standard project is associated with a directory on the local filesystem. Its media can therefore be stored and referenced as regular local files.

A Temporary (virtual) project exists without requiring a local filesystem directory. Your project files are stored in the browser's internal storage and cannot be directly accessed or managed through your file system. A Temporary project can be cloned into a standard project when a persistent project is required. Browser may clear the data if the system runs low on disk space. For long-term projects, it is best to use a standard project linked to a folder on your device.

Media

A source asset that can be used in a project. Examples include:

  • video files
  • audio files
  • images
  • captions

Media represents the source material. It is different from a Clip, which represents the use of that media in a timeline. The same media can be used by multiple clips, potentially in different scenes, at different times, with different trimming, transformations, filters, or other editing properties. For example, a single video file can be used twice:

  • once as the background of a scene
  • once as a smaller picture-in-picture clip

Presentation

A self-contained part of a project that defines what is presented to the viewer. It consists of a Scene and its Layers.

Scene

Defines the global settings for the presentation, including:

  • frame rate
  • resolution
  • background
  • duration
  • master volume

Layer

Layers determine how content is arranged relative to other content in the scene. A layer can contain one or more clips. Clips placed on higher layers are rendered above clips on lower layers when their content overlaps.

Layers are useful for organizing different types of content, for example:

  • video and image content
  • graphics and overlays
  • text and captions
  • audio
  • effects or other timeline content

Clip

A Clip is an appearance of a media asset in a timeline. Clips reside in layers and define how the referenced media is used at a particular point in the timeline.

A clip can define, for example:

  • which part of the media is used
  • when it appears on the timeline
  • its duration
  • its position and size
  • transformations
  • applied filters
  • animation and keyframes
  • audio behavior

A clip does not represent a separate copy of the source media. Multiple clips can reference the same media asset.

Filter

A filter modifies the visual or audio output of a clip. Filters are applied directly to individual clips and affect the content produced by that clip. A clip can have multiple filters. Filters are evaluated as part of the clip's processing and can be combined to create more complex effects. The order of filters can affect the resulting output.

Filter parameters can be animated using keyframes, allowing the effect to change over the duration of the clip.

Filters operate within the clip's own timeline range. If the clip is trimmed, moved, or otherwise changes its temporal position, the filter remains associated with that clip.

Supported Formats

Audio

AAC (aac), AC3 (ac3), EAC3 (eac3), FLAC (flac), MP3 (libmp3lame), Opus (libopus), Vorbis (libvorbis)

Audio Encoders

aac, ac3, ac3_fixed, adpcm_adx, adpcm_argo, adpcm_g722, adpcm_g726, adpcm_g726le, adpcm_ima_alp, adpcm_ima_amv, adpcm_ima_apm, adpcm_ima_qt, adpcm_ima_ssi, adpcm_ima_wav, adpcm_ima_ws, adpcm_ms, adpcm_swf, adpcm_yamaha, alac, anull, aptx, aptx_hd, comfortnoise, dca, dfpwm, dts, eac3, flac, g722, g723_1, g726, g726le, libmp3lame, libopus, libvorbis, mlp, mp2, mp2fixed, mp3, nellymoser, opus, pcm_alaw, pcm_bluray, pcm_dvd, pcm_f32be, pcm_f32le, pcm_f64be, pcm_f64le, pcm_mulaw, pcm_s16be, pcm_s16be_planar, pcm_s16le, pcm_s16le_planar, pcm_s24be, pcm_s24daud, pcm_s24le, pcm_s24le_planar, pcm_s32be, pcm_s32le, pcm_s32le_planar, pcm_s64be, pcm_s64le, pcm_s8, pcm_s8_planar, pcm_u16be, pcm_u16le, pcm_u24be, pcm_u24le, pcm_u32be, pcm_u32le, pcm_u8, pcm_vidc, ra_144, real_144, roq_dpcm, s302m, sbc, truehd, tta, vorbis, wavpack, wmav1, wmav2

Audio Decoders

8svx_exp, 8svx_fib, aac, aac_fixed, aac_latm, ac3, ac3_fixed, acelp.kelvin, adpcm_4xm, adpcm_adx, adpcm_afc, adpcm_agm, adpcm_aica, adpcm_ima_xbox, adpcm_argo, adpcm_ct, adpcm_dtk, adpcm_ea, adpcm_ea_maxis_xa, adpcm_ea_r1, adpcm_ea_r2, adpcm_ea_r3, adpcm_ea_xas, adpcm_g722, adpcm_g726, adpcm_g726le, adpcm_ima_acorn, adpcm_ima_alp, adpcm_ima_amv, adpcm_ima_apc, adpcm_ima_apm, adpcm_ima_cunning, adpcm_ima_dat4, adpcm_ima_dk3, adpcm_ima_dk4, adpcm_ima_ea_eacs, adpcm_ima_ea_sead, adpcm_ima_iss, adpcm_ima_moflex, adpcm_ima_mtf, adpcm_ima_oki, adpcm_ima_qt, adpcm_ima_rad, adpcm_ima_smjpeg, adpcm_ima_ssi, adpcm_ima_wav, adpcm_ima_ws, adpcm_ms, adpcm_mtaf, adpcm_psx, adpcm_sanyo, adpcm_sbpro_2, adpcm_sbpro_3, adpcm_sbpro_4, adpcm_swf, adpcm_thp, adpcm_thp_le, adpcm_vima, adpcm_xa, adpcm_xmd, adpcm_yamaha, adpcm_zork, alac, als, amr_nb, amr_wb, amrnb, amrwb, anull, apac, ape, aptx, aptx_hd, atrac1, atrac3, atrac3al, atrac3p, atrac3pal, atrac3plus, atrac3plusal, atrac9, avc, binkaudio_dct, binkaudio_rdft, bmv_audio, bonk, cbd2_dpcm, comfortnoise, cook, dca, derf_dpcm, dfpwm, dolby_e, dsd_lsbf, dsd_lsbf_planar, dsd_msbf, dsd_msbf_planar, dsicinaudio, dss_sp, dst, dts, dvaudio, eac3, evrc, fastaudio, flac, ftr, g722, g723_1, g726, g726le, g728, g729, gremlin_dpcm, gsm, gsm_ms, hca, hcom, iac, ilbc, imc, interplay_dpcm, interplayacm, libopus, libvorbis, mace3, mace6, metasound, misc4, mlp, mp1, mp1float, mp2, mp2float, mp3, mp3adu, mp3adufloat, mp3float, mp3on4, mp3on4float, mp4als, mpc7, mpc8, msnsiren, musepack7, musepack8, nellymoser, on2avc, opus, osq, paf_audio, pcm_alaw, pcm_bluray, pcm_dvd, pcm_f16le, pcm_f24le, pcm_f32be, pcm_f32le, pcm_f64be, pcm_f64le, pcm_lxf, pcm_mulaw, pcm_s16be, pcm_s16be_planar, pcm_s16le, pcm_s16le_planar, pcm_s24be, pcm_s24daud, pcm_s24le, pcm_s24le_planar, pcm_s32be, pcm_s32le, pcm_s32le_planar, pcm_s64be, pcm_s64le, pcm_s8, pcm_s8_planar, pcm_sga, pcm_u16be, pcm_u16le, pcm_u24be, pcm_u24le, pcm_u32be, pcm_u32le, pcm_u8, pcm_vidc, qcelp, qdm2, qdmc, qoa, ra_144, ra_288, ralf, real_144, real_288, rka, roq_dpcm, s302m, sbc, sdx2_dpcm, shorten, sipr, siren, smackaud, smackaudio, sol_dpcm, speex, tak, truehd, truespeech, tta, twinvq, vmdaudio, vorbis, wady_dpcm, wavarc, wavesynth, wavpack, westwood_snd1, wmalossless, wmapro, wmav1, wmav2, wmavoice, ws_snd1, xan_dpcm, xma1, xma2

Video

APNG (apng), AV1 (av1), GIF (gif), H.264 (h264), HEVC (H.265) (hevc), JPEG (mjpeg), Theora (theora), VP8 (vp8), VP9 (vp9), WebP (webp)

Video Encoders

a64_multi, a64_multi5, a64multi, a64multi5, alias_pix, amv, apng, asv1, asv2, av1, avrp, avui, bitpacked, bmp, cfhd, cinepak, cljr, dirac, dnxhd, dpx, dvvideo, dxv, exr, ffv1, ffvhuff, fits, flashsv, flashsv2, flv, flv1, gif, h261, h263, h263p, h264, hdr, hevc, huffyuv, jpeg2000, jpegls, jpegxl, jpegxl_anim, libjxl, libjxl_anim, libkvazaar, libopenh264, libsvtav1, libtheora, libvpx, libvpx-vp9, libwebp, libwebp_anim, ljpeg, magicyuv, mjpeg, mpeg1video, mpeg2video, mpeg4, msmpeg4, msmpeg4v2, msmpeg4v3, msrle, msvideo1, pam, pbm, pcx, pdv, pfm, pgm, pgmyuv, phm, png, ppm, prores, prores_aw, prores_ks, qoi, qtrle, r10k, r210, rawvideo, roq, roqvideo, rpza, rv10, rv20, sgi, smc, snow, speedhq, sunrast, svq1, targa, theora, tiff, utvideo, v210, vbn, vc2, vnull, vp8, vp9, wbmp, webp, wmv1, wmv2, wrapped_avframe, xbm, xface, xwd, y41p, yuv4, zlib, zmbv

Video Decoders

012v, 4xm, 8bps, aasc, agm, aic, alias_pix, amv, anm, ansi, apng, apv, arbc, argo, asv1, asv2, aura, aura2, av1, avrn, avrp, avs, avui, bethsoftvid, bfi, binkvideo, bintext, bitpacked, bmp, bmv_video, brender_pix, c93, camstudio, camtasia, cavs, cdgraphics, cdtoons, cdxl, cfhd, cinepak, clearvideo, cljr, cllc, cmv, cpia, cri, cscd, cyuv, dds, dfa, dirac, dnxhd, dpx, dsicinvideo, dvvideo, dxa, dxtory, dxv, eacmv, eamad, eatgq, eatgv, eatqi, escape124, escape130, exr, ffv1, ffvhuff, fic, fits, flashsv, flashsv2, flic, flv, flv1, fmvc, fraps, frwu, g2m, gdv, gem, gif, h261, h263, h263i, h263p, h264, hap, hdr, hevc, hnm4video, hq_hqa, hqx, huffyuv, hymt, idcin, idcinvideo, idf, iff, iff_ilbm, imm4, imm5, indeo2, indeo3, indeo4, indeo5, interplayvideo, ipu, jpeg2000, jpegls, jpegxl, jpegxl_anim, jv, kgv1, kmvc, lagarith, lead, libaom-av1, libjxl, libjxl_anim, libopenh264, libvpx, libvpx-vp9, loco, lscr, m101, mad, magicyuv, mdec, media100, mimic, mjpeg, mjpegb, mmvideo, mobiclip, motionpixels, mpeg1video, mpeg2video, mpeg4, mpegvideo, msa1, mscc, msmpeg4, msmpeg4v1, msmpeg4v2, msmpeg4v3, msp2, msrle, mss1, mss2, msvideo1, mszh, mts2, mv30, mvc1, mvc2, mvdv, mvha, mwsc, mxpeg, notchlc, nuv, paf_video, pam, pbm, pcx, pdv, pfm, pgm, pgmyuv, pgx, phm, photocd, pictor, pixlet, png, ppm, prores, prores_raw, prosumer, psd, ptx, qdraw, qoi, qpeg, qtrle, r10k, r210, rasc, rawvideo, rl2, roq, roqvideo, rpza, rscc, rtv1, rv10, rv20, rv30, rv40, rv60, sanm, scpr, screenpresso, sga, sgi, sgirle, sheervideo, simbiosis_imx, smackvid, smackvideo, smc, smvjpeg, snow, sp5x, speedhq, srgc, sunrast, svq1, svq3, targa, targa_y216, tdsc, tgq, tgv, theora, thp, tiertexseqvideo, tiff, tmv, tqi, truemotion1, truemotion2, truemotion2rt, tscc, tscc2, txd, ulti, ultimotion, utvideo, v210, v210x, vb, vble, vbn, vc1, vc1image, vcr1, vixl, vmdvideo, vmix, vmnc, vnull, vp3, vp4, vp5, vp6, vp6a, vp6f, vp7, vp8, vp9, vqavideo, vqc, vvc, wbmp, wcmv, webp, webp_anim, wmv1, wmv2, wmv3, wmv3image, wnv1, wrapped_avframe, ws_vqa, xan_wc3, xan_wc4, xbin, xbm, xface, xl, xpm, xwd, y41p, ylc, yop, yuv4, zerocodec, zlib, zmbv

Formats

APNG (.apng), AVIF (.avif), GIF (.gif), Matroska (.mkv), MP3 (.mp3), MP4 (.mp4), Ogg (.ogg), WebM (.webm), WebP (.webp)

Muxers

3g2, 3gp, a64, ac3, ac4, adts, adx, aea, aiff, alaw, alp, amr, amv, apm, apng, aptx, aptx_hd, apv, argo_asf, argo_cvg, asf, asf_stream, ass, ast, au, avi, avif, avm2, avs2, avs3, bit, caf, cavsvideo, codec2, codec2raw, crc, dash, data, daud, dfpwm, dirac, dnxhd, dts, dv, dvd, eac3, evc, f32be, f32le, f4v, f64be, f64le, ffmetadata, fifo, film_cpk, filmstrip, fits, flac, flv, framecrc, framehash, framemd5, g722, g723_1, g726, g726le, gif, gsm, gxf, h261, h263, h264, hash, hds, hevc, hls, iamf, ico, ilbc, image2, image2pipe, ipod, ircam, ismv, iterm2, ivf, jacosub, kvag, latm, lc3, lrc, m4v, matroska, mcc, md5, microdvd, mjpeg, mkvtimestamp_v2, mlp, mmf, mov, mp2, mp3, mp4, mpeg, mpeg1video, mpeg2video, mpegts, mpjpeg, mulaw, mxf, mxf_d10, mxf_opatom, null, nut, obu, oga, ogg, ogv, oma, opus, pdv, psp, rawvideo, rcwt, rm, roq, rso, rtp, rtp_mpegts, rtsp, s16be, s16le, s24be, s24le, s32be, s32le, s8, sap, sbc, scc, segment, smjpeg, smoothstreaming, sox, spdif, spx, ssegment, srt, stream_segment, streamhash, sup, svcd, swf, tee, truehd, tta, ttml, u16be, u16le, u24be, u24le, u32be, u32le, u8, uncodedframecrc, vc1, vc1test, vcd, vidc, vob, voc, vvc, w64, wav, webm, webm_chunk, webm_dash_manifest, webp, webvtt, wsaud, wtv, wv, yuv4mpegpipe

Demuxers

3dostr, 3g2, 3gp, 4xm, aa, aac, aax, ac3, ac4, ace, acm, act, adf, adp, ads, adx, aea, afc, aiff, aix, alaw, alias_pix, alp, amr, amrnb, amrwb, anm, apac, apc, ape, apm, apng, aptx, aptx_hd, apv, aqtitle, argo_asf, argo_brp, argo_cvg, asf, asf_o, ass, ast, au, av1, avi, avr, avs, avs2, avs3, bethsoftvid, bfi, bfstm, bin, bink, binka, bit, bitpacked, bmp_pipe, bmv, boa, bonk, brender_pix, brstm, c93, caf, cavsvideo, cdg, cdxl, cine, codec2, codec2raw, concat, cri_pipe, data, daud, dcstr, dds_pipe, derf, dfa, dfpwm, dhav, dirac, dnxhd, dpx_pipe, dsf, dsicin, dss, dts, dtshd, dv, dvbsub, dvbtxt, dxa, ea, ea_cdata, eac3, epaf, evc, exr_pipe, f32be, f32le, f64be, f64le, ffmetadata, film_cpk, filmstrip, fits, flac, flic, flv, frm, fsb, fwse, g722, g723_1, g726, g726le, g728, g729, gdv, gem_pipe, genh, gif, gif_pipe, gsm, gxf, h261, h263, h264, hca, hcom, hdr_pipe, hevc, hls, hnm, hxvs, iamf, ico, idcin, idf, iff, ifv, ilbc, image2, image2pipe, ingenient, ipmovie, ipu, ircam, iss, iv8, ivf, ivr, j2k_pipe, jacosub, jpeg_pipe, jpegls_pipe, jpegxl_anim, jpegxl_pipe, jpegxs_pipe, jv, kux, kvag, laf, lavfi, lc3, live_flv, lmlm4, loas, lrc, luodat, lvf, lxf, m4a, m4v, matroska, mca, mcc, mgsts, microdvd, mj2, mjpeg, mjpeg_2000, mlp, mlv, mm, mmf, mods, moflex, mov, mp3, mp4, mpc, mpc8, mpeg, mpegts, mpegtsraw, mpegvideo, mpjpeg, mpl2, mpsub, msf, msnwctcp, msp, mtaf, mtv, mulaw, musx, mv, mvi, mxf, mxg, nc, nistsphere, nsp, nsv, nut, nuv, obu, ogg, oma, osq, paf, pam_pipe, pbm_pipe, pcx_pipe, pdv, pfm_pipe, pgm_pipe, pgmyuv_pipe, pgx_pipe, phm_pipe, photocd_pipe, pictor_pipe, pjs, pmp, png_pipe, pp_bnk, ppm_pipe, psd_pipe, psxstr, pva, pvf, qcp, qdraw_pipe, qoa, qoi_pipe, r3d, rawvideo, rcwt, realtext, redspark, rka, rl2, rm, roq, rpl, rsd, rso, rtp, rtsp, s16be, s16le, s24be, s24le, s32be, s32le, s337m, s8, sami, sap, sbc, sbg, scc, scd, sdns, sdp, sdr2, sds, sdx, ser, sga, sgi_pipe, shn, siff, simbiosis_imx, sln, smjpeg, smk, smush, sol, sox, spdif, srt, stl, subviewer, subviewer1, sunrast_pipe, sup, svag, svg_pipe, svs, swf, tak, tedcaptions, thp, tiertexseq, tiff_pipe, tmv, truehd, tta, tty, txd, ty, u16be, u16le, u24be, u24le, u32be, u32le, u8, usm, v210, v210x, vag, vbn_pipe, vc1, vc1test, vidc, vividas, vivo, vmd, vobsub, voc, vpk, vplayer, vqf, vvc, w64, wady, wav, wavarc, wc3movie, webm, webm_dash_manifest, webp_anim, webp_pipe, webvtt, wsaud, wsd, wsvqa, wtv, wv, wve, xa, xbin, xbm_pipe, xmd, xmv, xpm_pipe, xvag, xwd_pipe, xwma, yop, yuv4mpegpipe

Filters

Basic Transition

Applies configurable motion presets for dynamic element transitions.

Type: Effect

Keywords: video, visual, animation, dynamic, motion, transition

Blur

Applies a blur algorithm to the video.

Type: Effect

Keywords: video, visual, tween, size

Captions Optimizer

Optimizes fragmented, karaoke captions into cohesive sentences to improve readability.

When enabled, the text cannot be edited in preview.

Type: Effect

Keywords: captions, karaoke

Captions Speaker

Distinguishes speakers with unique styles and toggle their individual caption visibility.

To manage multiple speakers, another instance of this filter must be added and assigned to a different speaker.

Type: Effect

Keywords: captions, speaker, style, color

Censor

Obscures sensitive elements like faces or license plates.

Type: Effect

Keywords: video, visual, censor, obscure, blur, color, mask

Color Correction

Adjusts the visual aesthetics of a video using comprehensive color grading options.

Type: Effect

Keywords: video, visual, tween, exposure, contrast, brightness, saturation, temperature, tint, highlights, shadows

Tutorial: Color Correction

A brief showcase of color grading in action.

Colorkey

Colorkeys (removes) green or other desired background color.

Type: Effect

Keywords: video, visual, tween, colorkey, chromakey, green, background

Curves

Adjusts points throughout an image’s tonal range.

Type: Effect

Keywords: video, visual, curves, red, green, blue

Drop Shadow

Applies a drop shadow effect to the video.

Type: Effect

Keywords: video, visual, tween, offset

Fill Borders & Vignette

Fills borders of the input video with a solid color or a gradient.

Type: Effect

Keywords: video, visual, tween, left, right, top, bottom, color, vignette

Flip

Flips video horizontally and/or vertically.

Type: Effect

Keywords: video, visual, flip, horizontal, vertical

Glitch 1

A glitch filter that offsets RGB channels, creating a nostalgic, distorted visual effect reminiscent of old, malfunctioning video tapes.

Type: Effect

Keywords: video, visual, glitch, vhs, offset, noise, distortion

Glitch 2

Simulates video glitches incorporating random simplex noise displacement, RGB channel shifting, and horizontal line pattern distortions.

Type: Effect

Keywords: video, visual, glitch, vhs, offset, noise, distortion

Gradient Fill

Fills video with a defined gradient.

Type: Effect

Keywords: video, visual, gradient, horizontal, vertical, freeform

Grain

Adds a grainy texture reminiscent of traditional photographic film.

Type: Effect

Keywords: video, visual, grain, film, noise

Invert

Inverts (negates) the color samples in the video.

Type: Effect

Keywords: video, visual, negate, invert

Load

Initializes media input.

Type: Load

Keywords: video, audio, media, stream, source, trim

LUT

Applies a predefined Look-Up Table (LUT) to efficiently adjust, grade, or transform colors.

Only 3D .cube LUT files are supported.

Type: Effect

Keywords: video, visual, lut, cube

Magnify

Magnifies or shrinks a specified area of the video with optional lens distortions.

Type: Effect

Keywords: video, visual, magnify, magnifying glass, shrink, fisheye, bulge

Mask

Defines areas of an video to be transparent, opaque, or partially transparent.

The order of Mask filter is important. If the rendered output is misaligned, try rearranging the filters and place the Mask filter last.

Type: Effect

Keywords: video, visual, mask, opacity, alpha, transparency

Tutorial: Mask

Learn how to create and apply masks.

Motion Blur

Blends successive frames, creating a sense of motion and smooth transitions.

During video editing, the effect is optimized for performance and may not appear as it will in the final export. The effect will be fully rendered in Export or Live Render.

Type: Effect

Keywords: video, visual, motion, blur, blend, intensity

Noise Reduction

Reduces background noise from audio.

The Noise Reduction filter is not active during the simulation phase, preserving real-time performance.

Type: Effect

Keywords: audio, reduce, suppress, noise

Opacity

Adjusts the video opacity.

Type: Effect

Keywords: video, visual, tween, opacity, alpha, transparency

Outline

Draws a border around the non-transparent areas of the video, highlighting the defined shapes.

Type: Effect

Keywords: video, visual, tween, outline, stroke

Pixelate

Pixelates video and obscures or censors objects with a mosaic effect.

Type: Effect

Keywords: video, visual, tween, size

Position

Adjusts video position.

Type: Geometry

Keywords: video, visual, tween, x, y

Progress Bar

Displays an animated preview of how long the video will be.

Type: Effect

Keywords: video, visual, progress, bar, color

Radial Zoom Blur

Creates a dynamic zoom effect, producing a motion blur that radiates outward.

Type: Effect

Keywords: video, visual, tween, radial, blur, zoom

Repeat

Loops media or last frame.

Type: Time

Keywords: video, loop, repeat, extend, duration

Rounded Corners

Rounds the corners of a video outer edge.

Type: Effect

Keywords: video, visual, tween, rounded, corner, border, radius

Shader

Renders custom GLSL fragment shaders fully compatible with the Shadertoy.com or FragCoord.xyz environment.

Type: Effect

Keywords: glsl, shader, webgl, procedural, fx

Shader Compatibility FragCoord.xyz

Allows running single-pass shaders directly from FragCoord.xyz by providing full environment compatibility.

It exposes standard and custom inputs:

Input Type Input Name Description
uniform sampler2D u_audio audio clip
uniform vec3 u_camera_dir 0, 0, 0
uniform vec3 u_camera_pos 0, 0, 0
uniform int u_color_gamut 0
uniform vec4 u_date year, month, day, time in seconds
uniform vec2 u_drag 0, 0
uniform int u_frame clip frame
uniform int u_max_recursion 0
uniform vec4 u_mouse 0, 0, 0, 0
uniform int u_recursion 0
uniform float u_refresh_rate presentation frame rate
uniform vec2 u_resolution clip texture resolution (in pixels)
uniform float u_scroll 0
uniform sampler2D u_tex0 clip texture
uniform sampler2D u_tex1 referenced clip texture
uniform sampler2D u_tex2 referenced clip texture
uniform sampler2D u_tex3 referenced clip texture
uniform float u_time clip time (in seconds)
uniform float u_time_delta presentation frame duration (in seconds)
uniform float u_param0 custom parameter
uniform float u_param1 custom parameter
uniform float u_param2 custom parameter
uniform float u_param3 custom parameter
uniform vec2 u_texResolutionScene[4] clip texture resolution on scene

Shader code must include the main() function:

void main() {
vec2 uv = gl_FragCoord.xy / u_resolution;
vec4 texColor = texture(u_tex0, uv);
vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
fragColor = mix(texColor, blueColor, uv.x);
}

AI and large language models (LLMs) are remarkably good at generating GLSL shaders from natural-language descriptions. Describe the visual effect you want, then use the master prompt below to have an AI generate the shader code for you. Add your description at the end of the master prompt and paste it into your preferred AI assistant.

Write production-ready fragment shader based on the user prompt

# Output Structure
- response MUST consist of EXACTLY ONE markdown code block. No images. No text outside code block
- Line 1: MUST be comment containing exact user prompt: `// Prompt: ...`
- Line 2: MUST be comment: `// Compatibility: FragCoord.xyz`
- Lines 3+: Used dynamic params, describing its purpose and value range: `// u_param0: Strength [0.0 - 1.0]`
- Next line: MUST be comment, brief 2-sentence description of what effect does and how to tune params
- Follow immediately with valid code

# Runtime Env

## Code Compatibility
- MUST be valid `GLSL 3.0 ES` for WebGL2
- MUST match FragCoord.xyz format

## Pre-defined Uniforms
- `sampler2D u_audio` audio clip
- `vec3 u_camera_dir` 0, 0, 0
- `vec3 u_camera_pos` 0, 0, 0
- `int u_color_gamut` 0
- `vec4 u_date` year, month, day, time in seconds
- `vec2 u_drag` 0, 0
- `int u_frame` clip frame
- `int u_max_recursion` 0
- `vec4 u_mouse` 0, 0, 0, 0
- `int u_recursion` 0
- `float u_refresh_rate` presentation frame rate
- `vec2 u_resolution` clip texture resolution (in pixels)
- `float u_scroll` 0
- `sampler2D u_tex0` clip texture
- `sampler2D u_tex1` referenced clip texture
- `sampler2D u_tex2` referenced clip texture
- `sampler2D u_tex3` referenced clip texture
- `float u_time` clip time (in seconds)
- `float u_time_delta` presentation frame duration (in seconds)
- `float u_param0` custom parameter
- `float u_param1` custom parameter
- `float u_param2` custom parameter
- `float u_param3` custom parameter
- `vec2 u_texResolutionScene[4]` clip texture resolution on scene
- Assume all pre-defined uniforms are already declared in host environment and DO NOT re-declare new ones

## Dynamic Params: u_param0, u_param1, u_param2, u_param3
- Prefer using dynamic params for any adjustable settings (e.g., speed, strength)
- These params are exposed to user in UI and can be animated over time using keyframes
- Params are unrestricted float values (can be negative)
- Shader MUST display clear, noticeable, and pleasing effect when all params are at `0.0`

## Entry Point
- Use `main()` as the sole entry point
- DO NOT include version headers

## Textures
- Input textures are uploaded with `UNPACK_FLIP_Y_WEBGL`

# Audio Input
The audio input is passed into the shader as a 512×512 pixel 2D texture, separating frequency and waveform into distinct color channels and tracks a historical buffer of an audio: Red and blue channels contains the FFT (Fast Fourier Transform) frequency magnitude data. Green channel contains the raw PCM waveform audio data. The vertical rows of the texture map directly to time, creating a visual waterfall buffer where top row represents the most recent, live audio frame matching the current playback position and bottom row represents the historical state of the audio from approx. 8.5 seconds ago (60fps across the 512 rows). Many FragCoord.xyz scripts natively use the default name u_audio just like this environment, but FragCoord.xyz allows for custom, dynamic naming of input textures. If your shader configuration uses another variable name (e.g., u_myCustomAudio), rename the variable inside the code to u_audio, or use a global definition at the very top of your script #define u_myCustomAudio u_audio. Example implementation: 

# Video Processing Example
```
void main() {
	vec2 uv = gl_FragCoord.xy / u_resolution;
	vec4 texColor = texture(u_tex0, uv);
	vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
	fragColor = mix(texColor, blueColor, uv.x);
}
```

# Audio Processing Example
```
void main() {
	vec2 uv = gl_FragCoord.xy / u_resolution;
	int tx = int(uv.x * 512.0);
	int ty = int((1. - uv.y) * 512.0);
	vec4 audio = texelFetch(u_audio, ivec2(tx, ty), 0);
	float fft = audio.r;
	float pcm = audio.g;
	fragColor = vec4(fft, pcm, 0., 1.);
}
```

# User Prompt
$USER_PROMPT

Shader Compatibility Paper

Allows running single-pass shaders directly from Paper by providing full environment compatibility.

It exposes standard and custom inputs:

Input Type Input Name Description
uniform float u_fit how to fit the rendered shader into the canvas dimensions (0 = none, 1 = contain, 2 = cover)
uniform sampler2D u_image clip texture
uniform float u_imageAspectRatio aspect ratio of the source image
uniform sampler2D u_noiseTexture referenced clip texture
uniform float u_offsetX horizontal offset of the graphics center (-1 to 1)
uniform float u_offsetY vertical offset of the graphics center (-1 to 1)
uniform float u_originX reference point for positioning world width in the canvas (0 to 1)
uniform float u_originY reference point for positioning world height in the canvas (0 to 1)
uniform float u_pixelRatio device pixel ratio
uniform vec2 u_resolution clip texture resolution (in pixels)
uniform float u_rotation overall rotation angle of the graphics in degrees (0 to 360)
uniform float u_scale overall zoom level of the graphics (0.01 to 4)
uniform sampler2D u_tex2 referenced clip texture
uniform sampler2D u_tex3 referenced clip texture
uniform float u_time clip time (in seconds)
uniform float u_worldHeight virtual height of the graphic before it's scaled to fit the canvas
uniform float u_worldWidth virtual width of the graphic before it's scaled to fit the canvas
uniform float u_param0 custom parameter
uniform float u_param1 custom parameter
uniform float u_param2 custom parameter
uniform float u_param3 custom parameter
uniform vec2 u_texResolutionScene[4] clip texture resolution on scene

Shader code must include the main() function:

void main() {
vec2 uv = v_imageUV;
vec4 texColor = texture(u_image, uv);
vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
fragColor = mix(texColor, blueColor, uv.x);
}

AI and large language models (LLMs) are remarkably good at generating GLSL shaders from natural-language descriptions. Describe the visual effect you want, then use the master prompt below to have an AI generate the shader code for you. Add your description at the end of the master prompt and paste it into your preferred AI assistant.

Write production-ready fragment shader based on the user prompt

# Output Structure
- response MUST consist of EXACTLY ONE markdown code block. No images. No text outside code block
- Line 1: MUST be comment containing exact user prompt: `// Prompt: ...`
- Line 2: MUST be comment: `// Compatibility: Paper.design`
- Lines 3+: Used dynamic params, describing its purpose and value range: `// u_param0: Strength [0.0 - 1.0]`
- Next line: MUST be comment, brief 2-sentence description of what effect does and how to tune params
- Follow immediately with valid code

# Runtime Env

## Code Compatibility
- MUST be valid `GLSL 3.0 ES` for WebGL2
- MUST match Paper format

## Pre-defined Uniforms
- `float u_fit` how to fit the rendered shader into the canvas dimensions (0 = none, 1 = contain, 2 = cover)
- `sampler2D u_image` clip texture
- `float u_imageAspectRatio` aspect ratio of the source image
- `sampler2D u_noiseTexture` referenced clip texture
- `float u_offsetX` horizontal offset of the graphics center (-1 to 1)
- `float u_offsetY` vertical offset of the graphics center (-1 to 1)
- `float u_originX` reference point for positioning world width in the canvas (0 to 1)
- `float u_originY` reference point for positioning world height in the canvas (0 to 1)
- `float u_pixelRatio` device pixel ratio
- `vec2 u_resolution` clip texture resolution (in pixels)
- `float u_rotation` overall rotation angle of the graphics in degrees (0 to 360)
- `float u_scale` overall zoom level of the graphics (0.01 to 4)
- `sampler2D u_tex2` referenced clip texture
- `sampler2D u_tex3` referenced clip texture
- `float u_time` clip time (in seconds)
- `float u_worldHeight` virtual height of the graphic before it's scaled to fit the canvas
- `float u_worldWidth` virtual width of the graphic before it's scaled to fit the canvas
- `float u_param0` custom parameter
- `float u_param1` custom parameter
- `float u_param2` custom parameter
- `float u_param3` custom parameter
- `vec2 u_texResolutionScene[4]` clip texture resolution on scene
- Assume all pre-defined uniforms are already declared in host environment and DO NOT re-declare new ones

## Dynamic Params: u_param0, u_param1, u_param2, u_param3
- Prefer using dynamic params for any adjustable settings (e.g., speed, strength)
- These params are exposed to user in UI and can be animated over time using keyframes
- Params are unrestricted float values (can be negative)
- Shader MUST display clear, noticeable, and pleasing effect when all params are at `0.0`

## Entry Point
- Use `main()` as the sole entry point
- DO NOT include version headers

# Audio Input
The Paper compatibility does not currently support audio inputs.

# Video Processing Example
```
void main() {
	vec2 uv = v_imageUV;
	vec4 texColor = texture(u_image, uv);
	vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
	fragColor = mix(texColor, blueColor, uv.x);
}
```

# User Prompt
$USER_PROMPT

Shader Compatibility Shadertoy.com

Allows running single-pass shaders directly from Shadertoy.com by providing full environment compatibility.

It exposes standard and custom inputs:

Input Type Input Name Description
uniform sampler2D iChannel0 clip texture
uniform sampler2D iChannel1 referenced clip texture
uniform sampler2D iChannel2 referenced clip texture
uniform sampler2D iChannel3 referenced clip texture
uniform vec3 iChannelResolution[4] clip texture resolution (in pixels)
uniform float iChannelTime[4] clip time (in seconds)
uniform vec4 iDate year, month, day, time in seconds
uniform int iFrame clip frame
uniform float iFrameRate presentation frame rate
uniform vec4 iMouse 0, 0, 0, 0
uniform vec3 iResolution clip texture resolution (in pixels)
uniform float iTime clip time (in seconds)
uniform float iTimeDelta presentation frame duration (in seconds)
uniform sampler2D u_audio audio clip
uniform float u_param0 custom parameter
uniform float u_param1 custom parameter
uniform float u_param2 custom parameter
uniform float u_param3 custom parameter
uniform vec2 u_texResolutionScene[4] clip texture resolution on scene

Shader code must include the mainImage() function:

void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 uv = fragCoord / iResolution.xy;
vec4 texColor = texture(iChannel0, uv);
vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
fragColor = mix(texColor, blueColor, uv.x);
}

AI and large language models (LLMs) are remarkably good at generating GLSL shaders from natural-language descriptions. Describe the visual effect you want, then use the master prompt below to have an AI generate the shader code for you. Add your description at the end of the master prompt and paste it into your preferred AI assistant.

Write production-ready fragment shader based on the user prompt

# Output Structure
- response MUST consist of EXACTLY ONE markdown code block. No images. No text outside code block
- Line 1: MUST be comment containing exact user prompt: `// Prompt: ...`
- Line 2: MUST be comment: `// Compatibility: Shadertoy.com`
- Lines 3+: Used dynamic params, describing its purpose and value range: `// u_param0: Strength [0.0 - 1.0]`
- Next line: MUST be comment, brief 2-sentence description of what effect does and how to tune params
- Follow immediately with valid code

# Runtime Env

## Code Compatibility
- MUST be valid `GLSL 3.0 ES` for WebGL2
- MUST match Shadertoy.com format

## Pre-defined Uniforms
- `sampler2D iChannel0` clip texture
- `sampler2D iChannel1` referenced clip texture
- `sampler2D iChannel2` referenced clip texture
- `sampler2D iChannel3` referenced clip texture
- `vec3 iChannelResolution[4]` clip texture resolution (in pixels)
- `float iChannelTime[4]` clip time (in seconds)
- `vec4 iDate` year, month, day, time in seconds
- `int iFrame` clip frame
- `float iFrameRate` presentation frame rate
- `vec4 iMouse` 0, 0, 0, 0
- `vec3 iResolution` clip texture resolution (in pixels)
- `float iTime` clip time (in seconds)
- `float iTimeDelta` presentation frame duration (in seconds)
- `sampler2D u_audio` audio clip
- `float u_param0` custom parameter
- `float u_param1` custom parameter
- `float u_param2` custom parameter
- `float u_param3` custom parameter
- `vec2 u_texResolutionScene[4]` clip texture resolution on scene
- Assume all pre-defined uniforms are already declared in host environment and DO NOT re-declare new ones

## Dynamic Params: u_param0, u_param1, u_param2, u_param3
- Prefer using dynamic params for any adjustable settings (e.g., speed, strength)
- These params are exposed to user in UI and can be animated over time using keyframes
- Params are unrestricted float values (can be negative)
- Shader MUST display clear, noticeable, and pleasing effect when all params are at `0.0`

## Entry Point
- Use `mainImage()` as the sole entry point
- DO NOT include version headers
- DO NOT define `void main()`.

## Textures
- Input textures are uploaded with `UNPACK_FLIP_Y_WEBGL`

# Audio Input
The audio input is passed into the shader as 512×2 pixel 2D texture, containing two distinct audio profiles: Top row contains the FFT (Fast Fourier Transform) frequency magnitude data. Bottom row contains the raw PCM waveform audio data. Shadertoy.com scripts reference audio inputs using the iChannel0 uniform. In this environment, the audio texture is mapped to u_audio. You can manually adapt any Shadertoy.com code by mapping (renaming) texture uniform or adding #define iChannel0 u_audio at the top of your script. Example implementation: 

# Video Processing Example
```
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
	vec2 uv = fragCoord / iResolution.xy;
	vec4 texColor = texture(iChannel0, uv);
	vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
	fragColor = mix(texColor, blueColor, uv.x);
}
```

# Audio Processing Example
```
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
	vec2 uv = fragCoord / iResolution.xy;
	int tx = int(uv.x * 512.0);
	int ty = uv.y < 0.5 ? 1 : 0;
	float r = texelFetch(u_audio, ivec2(tx, ty), 0).r;
	fragColor = vec4(r, r, r, 1.);
}
```

# User Prompt
$USER_PROMPT

Speed

Adjusts speed and reverse.

Type: Time

Keywords: video, audio, time, tween, reverse, pitch

Start Time

Sets clip position on the playhead.

Type: Time

Keywords: video, audio, time, start

Text Animation

Animates characters, words, or lines independently for engaging effects.

The Text Animation filter is effective only on text or captions clips.

Type: Effect

Keywords: visual, text, captions, animation, dynamic, motion

Text Postprocess

Automatically modifies text by removing non-alphanumeric characters or replacing words with emojis.

When enabled, the text cannot be edited in preview.

Type: Effect

Keywords: visual, text, emoji, captions

Transform

Crops, scales (resizes) and rotates the input video.

Type: Geometry

Keywords: video, visual, tween, crop, resize, resolution, size, x, y, width, height, angle, rotation

Unsharp Mask

Enhances video sharpness by accentuating the contrast between edges in a picture.

Type: Effect

Keywords: video, visual, tween, sharpen, amount, radius, threshold

Video Stabilizer

Reduces camera shake to produce smoother, more stable footage.

To restore clarity lost during stabilization, consider adding an Unsharp Mask filter to enhance image sharpness.

Type: Effect

Keywords: video, visual, stabilize, deshake, steady, jitter

Volume

Adjusts audio volume.

Type: Effect

Keywords: audio, tween

Waveform

Renders an animated waveform from audio, with customizable styles and parameters for visualizing sound.

Type: Effect

Keywords: audio, visual, waveform, bars, signal, spectrum, pulse

Zoom

Zooms in or out on specified coordinates of video, creating dynamic Ken Burns effect.

For optimal output quality, ensure that the Zoom filter is scheduled before the Scale filter if both are in use. For distortion effects, use the Magnify filter instead.

Type: Effect

Keywords: video, visual, zoom, scale

Tutorial: Zoom

Learn how to use Zoom filter.

Smart Tools

Auto Tag

Detects objects in an image or video and outputs tags identifying the detected objects.

Tags provide keywords for full-text search and filtering in the Media panel. Multiple values can be separated with commas (,) . Tags can also be generated automatically by clicking the related icon.

Background Remover

Removes the background from an image or video and outputs a transparent image or video with the subject isolated.

The video background remover processes the frames of the original video and creates a new mask video that precisely matches the original. The mask video is in black and white, where white indicates visible parts and black marks pixels to be hidden. To speed up the process, you can limit the processing to a specific range of the original video. The output video retains the original duration, with black frames outside the selected range.

Tutorial: Background Remover

A brief demonstration of the background remover tool.

Auto Captions

Transcribes an audio track and outputs captions, with optional speaker diarization to identify and separate different speakers.

Tutorial: Mastering Captions in wide.video

In this tutorial, you will learn how to work with captions. We will cover everything you need to know to create and edit captions, including how to add, adjust, and style cues.

Composer

Uses selected images and videos to create a project timeline with labels and transitions.

Tutorial: One-Click Video Compositions

Discover the power of composer feature and learn how to create stunning video compositions with just one click.

Image Upscaler

Upscales an image and outputs a higher-resolution image.

Media Converter

Converts media from any input format to any supported output format.

Multicam Synchronization

Synchronizes multiple audio or video files with audio and places them on the timeline in sync.

Tutorial: Multicam Synchronization

A brief showcase of multicam synchronization in action.

Music & SFX Generation

Uses a text prompt to generate music or sound effects.

Music

Describe desired music or choose a preset to create a unique unlimited-second sample. Once you find the perfect sample, you can extend it to any duration. The model of size 1.8G will be downloaded and run locally on GPU.

Sound Effects

Describe desired sound effect or choose a preset to create a unique 8-second sample. The model of size 745.1M will be downloaded and run locally on CPU.

Noise Reduction

Reduces background noise in an audio or video with audio and outputs a cleaner audio file.

Object Detector

The Object Detector tool generates a detection data file, which can then be linked to the Censor filter. To speed up the process, you can limit the processing to a specific range of the original video.

Proxy Generator

Proxy files serve as optimized, lower-resolution versions of original media. They are invaluable when encountering playback challenges like audio loss, video lag, or non-playable files. Proxies enhance the editing process by providing smoother timeline navigation and playback, exclusively within the editing phase, without affecting final export quality.

Silence Remover

Removes silent parts from an audio or video and outputs a timeline containing multiple clips with the silent sections removed.

Text-based Editing

Text-based Editing lets you edit video by working with the spoken words instead of a timeline - cut, move, or delete parts of the video just by editing the transcript, like a text document. To get started, you need a transcription of your video. If your project already includes captions, you can select them right away. If not, new ones can be generated automatically.

Text to Speech

Converts user-defined text or timed captions into spoken audio and outputs an audio file synchronized with the provided timing.

Video Enhancer

The Video Enhancer tool allows you to apply smart upscaling and increase the output frame rate by generating smooth motion frames, resulting in a sharper and more fluid video. To speed up the process, you can limit the processing to a specific range of the original video. The output video retains the original duration, with black frames outside the selected range.

Video Stabilizer

Analyzes camera movement in a video and outputs an analysis file used by the Video Stabilizer filter to stabilize the footage.

Other Features

Media Manager

Helps you organize, browse, and review your media library.

Browse media thumbnails and details, set names, tags, ratings, and notes, mark highlights, and inspect technical file metadata such as format, resolution, and duration.

It also shows which clips reference each media file, making it easy to see where a particular image, video, or audio file is used in your projects.

Import From Project

Lets you import media, timeline content, project settings, font files, and shader files from another project, making it easy to reuse existing assets and editing work.

No Installs Or Uploads

wide.video is a browser-based application and runs locally on your computer. You can access all of the media from your file system, without any need of cloud server communication or uploads.

Cross-Platform

Start video editing on your Mac, PC or Chromebook with ease while using your preferred web browser.

Unlimited Setup & Compositions

Full HD, 4K, portrait, landscape or square? 60 or 120 FPS. Use as many layers as you need for graphics, background videos, audio tracks.

No Signup, Fees Or Watermarks

Enjoy 100% free service, without paywalls or ads. No logins, no passwords required.

Free Stock Media

Search and use royalty free stock videos, images and motion graphics.

Video Tutorials

Getting Started with wide.video

wide.video online video editor lets you edit videos, apply effects, filters, add audio and images. In this video we take a look at how to create your first video.

Creating & Working With Clips

In this video we take a look at clips.

Timeline Tips and Tricks

Let’s have a look on timeline.

Using Preview Panel

In this video we take a look at working with preview panel.

One-Click Video Compositions

Discover the power of composer feature and learn how to create stunning video compositions with just one click.

Mastering Captions in wide.video

In this tutorial, you will learn how to work with captions. We will cover everything you need to know to create and edit captions, including how to add, adjust, and style cues.

Slideshow in 30 Seconds

Let’s create a slideshow in 30 seconds.

Import From Project

This video will help you understand and use "Import From Project" feature. A common use case is to apply branding.

Multicam Synchronization

A brief showcase of multicam synchronization in action.

Background Remover

A brief demonstration of the background remover tool.

Color Correction

A brief showcase of color grading in action.

Mask

Learn how to create and apply masks.

Zoom

Learn how to use Zoom filter.

How to Create a Light Wrap Effect

In this tutorial, learn how to create a light wrap effect. Follow step-by-step instructions to blend your subject seamlessly with the background for a more natural look.

Media Manager

A quick walkthrough, showing how to preview media, edit metadata, manage highlights or view technical details.

Frequently Asked Questions

Is Full HD or 4K video supported?

Yes, search and explore available templates to get an inspiration.

How to make export faster?

Enable Accelerated Encoder or reduce scene resolution and frame rate.

How to export video with transparent background?

Adjust scene Background alpha and use VP8 or VP9 video encoder output.

How is my privacy protected?

wide.video runs locally in your browser on your computer, without having to upload media to a server. This means that none of your media or created content leaves your computer.

How to improve video quality?

Make sure a reasonable output Bitrate is set for used video codec, adjust scene resolution and frame rate.

What is the export file size limit?

The limit is affected by the output format. See Container section in Output panel for more information.

Can I convert temporary (virtual) project into a standard one?

Yes, once the project is opened, select Project / Clone Project from menu bar and pick a desired target folder.

Can I import setup or content from another project?

Yes, Import From Project is available in the main menu. Project content, including media, clips, and layers, and scene or output setup, can be imported.

Why is the Open Project button disabled?

It is disabled due to your browser's lack of support for the file system access feature. This feature allows web applications to interact with your local file system, providing functionalities like opening and saving files directly from your device.

  • Brave Browser does support file system access, but you may need to enable it manually by going to brave://flags/#file-system-access-api. Once enabled, restart your browser.
  • Firefox unfortunately, has chosen not to support the File System Access API due to security and privacy concerns. As a result, this feature is not available. More information can be found in the Firefox standard positions.
  • Safari similar to Firefox, does not support the File System Access API. Apple's focus on security and privacy has led to the decision to disable this feature in their browser. For more details, refer to the Safari standard positions.
What is Application Cache & Settings?

Contains application settings, preloaded files to speed up application startup and enable offline use, as well as AI models used by Smart Tools.

What is Audio Bitrate?

Bitrate defines the amount of data (bits) that are conveyed or processed per second. A higher bitrate generally means better audio quality. Recommended values are 128K or 192K

What is Audio Loading Method?

Choose how the audio is loaded for export. If the audio is missing, gets cut, or the export fails, use the Safe method.

What is Audio Sample Rate?

Sample Rate controls the quality and clarity of an audio. Higher rates provide better sound quality but increase file size. Note that some audio encoders may not support certain sample rates, which could cause issues during export. If you're unsure or the selected encoder doesn't support a specific rate, select the Default option.

What is Audio Vigilance?

Audio vigilance mode prevents USB or Bluetooth audio interfaces, from entering power-saving mode by actively transmitting low-volume signals. It eliminates interruptions and prevents the loss of initial audio samples.

What is Background Remover Sampling Interval?

Determines how frequently frames are selected from the source video for the background removal. The background for the non-selected frames will be interpolated based on selected frames. Adjusting this interval can balance between processing speed and accuracy of the background removal. Set the value to 0 to process every frame.

What is Clip?

A Clip is an appearance of a media asset in a timeline. Clips reside in layers and define how the referenced media is used at a particular point in the timeline.

A clip can define, for example:

  • which part of the media is used
  • when it appears on the timeline
  • its duration
  • its position and size
  • transformations
  • applied filters
  • animation and keyframes
  • audio behavior

A clip does not represent a separate copy of the source media. Multiple clips can reference the same media asset.

What is Clip Lock?

Locked clip is prevented from being selected and modified via drag & drop in Preview and Timeline.

What is Filter?

A filter modifies the visual or audio output of a clip. Filters are applied directly to individual clips and affect the content produced by that clip. A clip can have multiple filters. Filters are evaluated as part of the clip's processing and can be combined to create more complex effects. The order of filters can affect the resulting output.

Filter parameters can be animated using keyframes, allowing the effect to change over the duration of the clip.

Filters operate within the clip's own timeline range. If the clip is trimmed, moved, or otherwise changes its temporal position, the filter remains associated with that clip.

What is Mask?

A clip selected as a mask controls the visibility of the current clip. Mask pixel values determine which parts of the current clip are visible and how strongly they appear.

What is Overflow?

Enabling allows the filter to render beyond the clip's bounding box, making the full effect visible. Disabling restricts rendering to the clip's original boundaries.

What is Fragmented Output?

Enabling the Fragmented Output option allows for exporting files in a streamable format. It ensures each video fragment starts with a keyframe, making the file ideal for streaming scenarios. This improves compatibility with streaming players and supports smoother, faster playback startup.

What is Image Optimization?

Using images with high resolutions may adversely affect export times.

  • Option For Scene reduces the image resolution to provide a satisfactory quality level for most use cases.
  • Option None retains the original resolution, offering better quality for zoomed-in images.
What is Infinite Loop?

When enabled for compatible formats, the exported media will automatically restart after finishing for continuous, infinite playback.

What is Layer?

Layers determine how content is arranged relative to other content in the scene. A layer can contain one or more clips. Clips placed on higher layers are rendered above clips on lower layers when their content overlaps.

Layers are useful for organizing different types of content, for example:

  • video and image content
  • graphics and overlays
  • text and captions
  • audio
  • effects or other timeline content
What is Layer Lock?

Locked layer prevents all nested clips from being selected or modified via drag & drop in Preview and Timeline.

What is Live Render?

Live Render provides export-like preview, with downsampled resolution and frame rate but having audio, video and effects synchronized.

What is Resize and Align?

When enabled, the mask is resized and repositioned to perfectly match the clip during application. When disabled, if the mask resolution differs from the clip, it may appear misplaced or misaligned.

What is Media?

A source asset that can be used in a project. Examples include:

  • video files
  • audio files
  • images
  • captions

Media represents the source material. It is different from a Clip, which represents the use of that media in a timeline. The same media can be used by multiple clips, potentially in different scenes, at different times, with different trimming, transformations, filters, or other editing properties. For example, a single video file can be used twice:

  • once as the background of a scene
  • once as a smaller picture-in-picture clip
What is Media Manager?

Helps you organize, browse, and review your media library.

Browse media thumbnails and details, set names, tags, ratings, and notes, mark highlights, and inspect technical file metadata such as format, resolution, and duration.

It also shows which clips reference each media file, making it easy to see where a particular image, video, or audio file is used in your projects.

What is Highlight in Media Metadata & Highlights?

Highlight marks important moment within a media, used in the Composer tool and when adding media to the timeline.

What is Name in Media Metadata & Highlights?

Name provides a user-friendly title that appears throughout the app instead of the original filename.

What is Notes in Media Metadata & Highlights?

Notes provide a flexible space for adding any details related to the media. Included in full-text search, and the app may add its own notes when media is created using Smart Tools.

What is Rating in Media Metadata & Highlights?

Rating lets you mark media quality. It appears in the Media panel and can be used to sort or filter media.

What is Tags in Media Metadata & Highlights?

Tags provide keywords for full-text search and filtering in the Media panel. Multiple values can be separated with commas (,) . Tags can also be generated automatically by clicking the related icon.

What is Motion Blur Initial Frame?

The Initial Frame setting determines how the motion blur starts. When checked, the first frame remains static, and motion builds from it, but with high intensity, the initial frame may appear more pronounced. When unchecked, the effect begins with a transparent frame, and subsequent frames will blend with it, creating an initial fade-in effect.

What is Motion Blur Intensity?

The Intensity setting controls how much past frames influence the current frame. Higher values make previous frames more visible, creating a stronger motion blur effect. Lower values result in a subtler blend.

What is Mute Audio Source?

When enabled, the source clip’s audio is muted, leaving only the generated visual waveform. When disabled, the source audio remains audible.

What is Non-Overlapping Reveal?

When enabled, the clip will be fully revealed in areas outside the mask's bounding box. When disabled, the clip will only be rendered where it overlaps with the mask.

What is Presentation?

A self-contained part of a project that defines what is presented to the viewer. It consists of a Scene and its Layers.

What is Project?

A Project is the complete editing environment for a video. A project can contain:

  • media used by the project
  • scene and layers
  • clips placed in layers
  • filters and effects
  • project settings
  • fonts, shaders, and other project resources

A project describes the complete editable state of a video rather than only the final exported file.

The app supports standard projects and Temporary (virtual) project.

A standard project is associated with a directory on the local filesystem. Its media can therefore be stored and referenced as regular local files.

A Temporary (virtual) project exists without requiring a local filesystem directory. Your project files are stored in the browser's internal storage and cannot be directly accessed or managed through your file system. A Temporary project can be cloned into a standard project when a persistent project is required. Browser may clear the data if the system runs low on disk space. For long-term projects, it is best to use a standard project linked to a folder on your device.

What is Render Mask?

When enabled, the mask is applied and remains visible in final output. When disabled, the mask is applied but not visible in the final output.

What is Reverse Media?

Reverses the order of frames in the media, so that the last frame plays first. Reversing requires whole media to be buffered in memory. To reduce memory usage, it is recommended only a short section of the media is trimmed before reversing, or preferably a new reversed media is created and used instead.

What is Scene?

Defines the global settings for the presentation, including:

  • frame rate
  • resolution
  • background
  • duration
  • master volume
What is Seek on Hover?

When enabled, hovering over the timeline will automatically seek the project head to the hovered position. This allows for quick previewing without clicking or dragging the scrubber.

What is Signal Audio Padding?

Audio signal, particularly in speech, might be weak at the onset of words. Audio padding involves the expansion of the identified audio signal at its commencement or conclusion. This augmentation effectively mitigates any potential frailty in the initial and trailing segments of the signal. This can also be useful in creating smoother overlaps when applying transitions to the generated clips.

What is Speech Recognition Audio Padding?

Audio padding involves the expansion of the identified speech segment at its commencement or conclusion. This can be useful in creating smoother overlaps when applying transitions to the generated clips."

What is Smart Duration?

Keep scene duration automatically synced with content in the timeline.

What is Text Format?

Text Format refers to the way input text is interpreted and rendered.

  • Plain format renders the input text as plain text without any formatting.
  • HTML format renders the input text as HTML.
  • Markdown format renders the input text as Markdown.
  • JavaScript format allows for more advanced manipulation of the input text. This format provides access to a standard JavaScript API and additional context variables such as presentation.time, presentation.frame, media.time, media.frame and method formatTime(time, pattern). This can be particularly useful for creating timers or displaying formatted timestamps, for example formatTime(media.time, "mm:ss.SS")
What is Timeline Filter?

Choose which clips to display on the timeline - all clips, only clips with video, or only clips with audio.

What is Ignore Small Overlaps?

When enabled, small overlaps between clips on the timeline are ignored - overlapping clips will be placed side by side instead of being stacked. Helps keep the timeline cleaner when working with tightly spaced edits.

What is Ripple Drag & Trim?

When enabled, dragging or trimming a clip will automatically move all following clips on the timeline - a "ripple" effect. This allows smooth editing without manually adjusting the position of other clips.

What is Transcript Language?

The captions are transcribed automatically during the recording process. For accuracy, spoken language needs to be selected.

What is Easing Offset?

Specifies when the filter values begins easing into a keyframe. This is especially useful when trimming the start of a clip, as it keeps the timing steady in relation to the media's original time.

What is UI Scale?

Adjust the interface size for better fit on high-DPI screens. The change takes effect immediately, but it is recommended to restart the app.

What is Video Bitrate?

Bitrate defines the amount of data (bits) that are conveyed or processed per second. A higher bitrate generally means better video quality. Optimal value depends on used codec, frame rate and resolution. Bitrate value is used only when the video Quality setting is Default.

What is Accelerated Encoder?

Using browser built-in video encoder, in most cases, improves export times. However, not all FFmpeg encoders (or its flags) have browser alternative.

What is Video Compression?

The compression speed of a video encoder determines the balance between file size and encoding time. Slower compressions reduce the output file size but increase encoding times. Adjust the compression based on your priority: smaller files or faster processing. This setting is not available for Accelerated Encoder.

What is Video Encoding Quality?

The quality setting of a video encoder affects the output's visual fidelity and file size. Lower quality settings produce smaller files but may introduce visual artifacts. Higher quality settings yield near-lossless visuals but result in significantly larger output sizes. Lossless quality is not available for Accelerated Encoder.

What is Smoothing Window?

The smoothing window defines how many consecutive frames are analyzed together to determine stabilization. A larger window results in smoother motion but may reduce responsiveness to quick camera movements.

What is Shader FragCoord.xyz Audio Texture?

The audio input is passed into the shader as a 512×512 pixel 2D texture, separating frequency and waveform into distinct color channels and tracks a historical buffer of an audio:

  • Red and blue channels contains the FFT (Fast Fourier Transform) frequency magnitude data.
  • Green channel contains the raw PCM waveform audio data.

The vertical rows of the texture map directly to time, creating a visual waterfall buffer where top row represents the most recent, live audio frame matching the current playback position and bottom row represents the historical state of the audio from approx. 8.5 seconds ago (60fps across the 512 rows).

Many FragCoord.xyz scripts natively use the default name u_audio just like this environment, but FragCoord.xyz allows for custom, dynamic naming of input textures. If your shader configuration uses another variable name (e.g., u_myCustomAudio), rename the variable inside the code to u_audio, or use a global definition at the very top of your script #define u_myCustomAudio u_audio.

Example implementation:

void main() {
vec2 uv = gl_FragCoord.xy / u_resolution;
int tx = int(uv.x * 512.0);
int ty = int((1. - uv.y) * 512.0);
vec4 audio = texelFetch(u_audio, ivec2(tx, ty), 0);
float fft = audio.r;
float pcm = audio.g;
fragColor = vec4(fft, pcm, 0., 1.);
}
What is Shader Paper Audio Texture?

The Paper compatibility does not currently support audio inputs.

What is Shader Shadertoy.com Audio Texture?

The audio input is passed into the shader as 512×2 pixel 2D texture, containing two distinct audio profiles:

  • Top row contains the FFT (Fast Fourier Transform) frequency magnitude data.
  • Bottom row contains the raw PCM waveform audio data.

Shadertoy.com scripts reference audio inputs using the iChannel0 uniform. In this environment, the audio texture is mapped to u_audio. You can manually adapt any Shadertoy.com code by mapping (renaming) texture uniform or adding #define iChannel0 u_audio at the top of your script.

Example implementation:

void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 uv = fragCoord / iResolution.xy;
int tx = int(uv.x * 512.0);
int ty = uv.y < 0.5 ? 1 : 0;
float r = texelFetch(u_audio, ivec2(tx, ty), 0).r;
fragColor = vec4(r, r, r, 1.);
}
What is Shader Compatibility FragCoord.xyz?

Allows running single-pass shaders directly from FragCoord.xyz by providing full environment compatibility.

It exposes standard and custom inputs:

Input Type Input Name Description
uniform sampler2D u_audio audio clip
uniform vec3 u_camera_dir 0, 0, 0
uniform vec3 u_camera_pos 0, 0, 0
uniform int u_color_gamut 0
uniform vec4 u_date year, month, day, time in seconds
uniform vec2 u_drag 0, 0
uniform int u_frame clip frame
uniform int u_max_recursion 0
uniform vec4 u_mouse 0, 0, 0, 0
uniform int u_recursion 0
uniform float u_refresh_rate presentation frame rate
uniform vec2 u_resolution clip texture resolution (in pixels)
uniform float u_scroll 0
uniform sampler2D u_tex0 clip texture
uniform sampler2D u_tex1 referenced clip texture
uniform sampler2D u_tex2 referenced clip texture
uniform sampler2D u_tex3 referenced clip texture
uniform float u_time clip time (in seconds)
uniform float u_time_delta presentation frame duration (in seconds)
uniform float u_param0 custom parameter
uniform float u_param1 custom parameter
uniform float u_param2 custom parameter
uniform float u_param3 custom parameter
uniform vec2 u_texResolutionScene[4] clip texture resolution on scene

Shader code must include the main() function:

void main() {
vec2 uv = gl_FragCoord.xy / u_resolution;
vec4 texColor = texture(u_tex0, uv);
vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
fragColor = mix(texColor, blueColor, uv.x);
}
What is Shader Compatibility Paper?

Allows running single-pass shaders directly from Paper by providing full environment compatibility.

It exposes standard and custom inputs:

Input Type Input Name Description
uniform float u_fit how to fit the rendered shader into the canvas dimensions (0 = none, 1 = contain, 2 = cover)
uniform sampler2D u_image clip texture
uniform float u_imageAspectRatio aspect ratio of the source image
uniform sampler2D u_noiseTexture referenced clip texture
uniform float u_offsetX horizontal offset of the graphics center (-1 to 1)
uniform float u_offsetY vertical offset of the graphics center (-1 to 1)
uniform float u_originX reference point for positioning world width in the canvas (0 to 1)
uniform float u_originY reference point for positioning world height in the canvas (0 to 1)
uniform float u_pixelRatio device pixel ratio
uniform vec2 u_resolution clip texture resolution (in pixels)
uniform float u_rotation overall rotation angle of the graphics in degrees (0 to 360)
uniform float u_scale overall zoom level of the graphics (0.01 to 4)
uniform sampler2D u_tex2 referenced clip texture
uniform sampler2D u_tex3 referenced clip texture
uniform float u_time clip time (in seconds)
uniform float u_worldHeight virtual height of the graphic before it's scaled to fit the canvas
uniform float u_worldWidth virtual width of the graphic before it's scaled to fit the canvas
uniform float u_param0 custom parameter
uniform float u_param1 custom parameter
uniform float u_param2 custom parameter
uniform float u_param3 custom parameter
uniform vec2 u_texResolutionScene[4] clip texture resolution on scene

Shader code must include the main() function:

void main() {
vec2 uv = v_imageUV;
vec4 texColor = texture(u_image, uv);
vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
fragColor = mix(texColor, blueColor, uv.x);
}
What is Shader Compatibility Shadertoy.com?

Allows running single-pass shaders directly from Shadertoy.com by providing full environment compatibility.

It exposes standard and custom inputs:

Input Type Input Name Description
uniform sampler2D iChannel0 clip texture
uniform sampler2D iChannel1 referenced clip texture
uniform sampler2D iChannel2 referenced clip texture
uniform sampler2D iChannel3 referenced clip texture
uniform vec3 iChannelResolution[4] clip texture resolution (in pixels)
uniform float iChannelTime[4] clip time (in seconds)
uniform vec4 iDate year, month, day, time in seconds
uniform int iFrame clip frame
uniform float iFrameRate presentation frame rate
uniform vec4 iMouse 0, 0, 0, 0
uniform vec3 iResolution clip texture resolution (in pixels)
uniform float iTime clip time (in seconds)
uniform float iTimeDelta presentation frame duration (in seconds)
uniform sampler2D u_audio audio clip
uniform float u_param0 custom parameter
uniform float u_param1 custom parameter
uniform float u_param2 custom parameter
uniform float u_param3 custom parameter
uniform vec2 u_texResolutionScene[4] clip texture resolution on scene

Shader code must include the mainImage() function:

void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 uv = fragCoord / iResolution.xy;
vec4 texColor = texture(iChannel0, uv);
vec4 blueColor = vec4(0.0, 0.0, 1.0, 1.0);
fragColor = mix(texColor, blueColor, uv.x);
}
How does filter Basic Transition work?

Applies configurable motion presets for dynamic element transitions.

How does filter Blur work?

Applies a blur algorithm to the video.

How does filter Captions Optimizer work?

Optimizes fragmented, karaoke captions into cohesive sentences to improve readability. When enabled, the text cannot be edited in preview.

How does filter Captions Speaker work?

Distinguishes speakers with unique styles and toggle their individual caption visibility. To manage multiple speakers, another instance of this filter must be added and assigned to a different speaker.

How does filter Censor work?

Obscures sensitive elements like faces or license plates.

How does filter Color Correction work?

Adjusts the visual aesthetics of a video using comprehensive color grading options.

How does filter Colorkey work?

Colorkeys (removes) green or other desired background color.

How does filter Curves work?

Adjusts points throughout an image’s tonal range.

How does filter Start Time work?

Sets clip position on the playhead.

How does filter Drop Shadow work?

Applies a drop shadow effect to the video.

How does filter Fill Borders & Vignette work?

Fills borders of the input video with a solid color or a gradient.

How does filter Flip work?

Flips video horizontally and/or vertically.

How does filter Glitch 1 work?

A glitch filter that offsets RGB channels, creating a nostalgic, distorted visual effect reminiscent of old, malfunctioning video tapes.

How does filter Glitch 2 work?

Simulates video glitches incorporating random simplex noise displacement, RGB channel shifting, and horizontal line pattern distortions.

How does filter Gradient Fill work?

Fills video with a defined gradient.

How does filter Grain work?

Adds a grainy texture reminiscent of traditional photographic film.

How does filter Invert work?

Inverts (negates) the color samples in the video.

How does filter Load work?

Initializes media input.

How does filter LUT work?

Applies a predefined Look-Up Table (LUT) to efficiently adjust, grade, or transform colors. Only 3D .cube LUT files are supported.

How does filter Magnify work?

Magnifies or shrinks a specified area of the video with optional lens distortions.

How does filter Mask work?

Defines areas of an video to be transparent, opaque, or partially transparent. The order of Mask filter is important. If the rendered output is misaligned, try rearranging the filters and place the Mask filter last.

How does filter Motion Blur work?

Blends successive frames, creating a sense of motion and smooth transitions. During video editing, the effect is optimized for performance and may not appear as it will in the final export. The effect will be fully rendered in Export or Live Render.

How does filter Noise Reduction work?

Reduces background noise from audio. The Noise Reduction filter is not active during the simulation phase, preserving real-time performance.

How does filter Opacity work?

Adjusts the video opacity.

How does filter Outline work?

Draws a border around the non-transparent areas of the video, highlighting the defined shapes.

How does filter Pixelate work?

Pixelates video and obscures or censors objects with a mosaic effect.

How does filter Position work?

Adjusts video position.

How does filter Progress Bar work?

Displays an animated preview of how long the video will be.

How does filter Radial Zoom Blur work?

Creates a dynamic zoom effect, producing a motion blur that radiates outward.

How does filter Repeat work?

Loops media or last frame.

How does filter Rounded Corners work?

Rounds the corners of a video outer edge.

How does filter Speed work?

Adjusts speed and reverse.

How does filter Text Animation work?

Animates characters, words, or lines independently for engaging effects. The Text Animation filter is effective only on text or captions clips.

How does filter Text Postprocess work?

Automatically modifies text by removing non-alphanumeric characters or replacing words with emojis. When enabled, the text cannot be edited in preview.

How does filter Transform work?

Crops, scales (resizes) and rotates the input video.

How does filter Unsharp Mask work?

Enhances video sharpness by accentuating the contrast between edges in a picture.

How does filter Video Stabilizer work?

Reduces camera shake to produce smoother, more stable footage. To restore clarity lost during stabilization, consider adding an Unsharp Mask filter to enhance image sharpness.

How does filter Volume work?

Adjusts audio volume.

How does filter Waveform work?

Renders an animated waveform from audio, with customizable styles and parameters for visualizing sound.

How does filter Shader work?

Renders custom GLSL fragment shaders fully compatible with the Shadertoy.com or FragCoord.xyz environment.

How does filter Zoom work?

Zooms in or out on specified coordinates of video, creating dynamic Ken Burns effect. For optimal output quality, ensure that the Zoom filter is scheduled before the Scale filter if both are in use. For distortion effects, use the Magnify filter instead.