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
Buy Me a Coffee
Thank you for your support! Your contribution helps improve wide.video and bring even more awesome features.
Support with Credit Card
revolut.me/jozefchutkaCore 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_PROMPTShader 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_PROMPTShader 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_PROMPTSpeed
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 aspresentation.time,presentation.frame,media.time,media.frameand methodformatTime(time, pattern). This can be particularly useful for creating timers or displaying formatted timestamps, for exampleformatTime(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.