Main Page
AviSynth FAQ | Internal filters | External filters | AviSynth Syntax | Sourceforge | Doom9 Forum
Donations
Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the content is maintained by several people, and I'm very grateful for their time, the hosting costs a lot of money. If you are happy with the site, please make a donation! I would be very grateful and we can keep this site alive:
- You can donate by buying me a coffee: https://buymeacoffee.com/avisynth
- You can donate using PayPal: https://paypal.me/avisynth/
What is AviSynth?
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a frameserver, providing instant editing without the need for temporary files.
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced non-linear editing. While this may at first seem laborious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.
AviSynth is free open-source software, and licensed under the GNU General Public License GPLv2.
New to AviSynth – Start Here
- Your first script – A guide for total newbies.
- Getting started – An introductory guide.
- Grammar – An introduction to the AviSynth scripting language.
- Filter introduction – An introductory guide to most common AviSynth filters.
- Script examples – Putting everything together in the real world.
- AviSynth FAQ – Answers to many common problems.
- More information (How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)
- Guides – Guides explaining the basics, tips on specific conversion types and common tasks.
- Troubleshooting your scripts and configuration.
Download AviSynth
- Current Builds
- AviSynth+
- New features, backward compatible, native support for Unix-like OSes.
- Wiki page
- Homepage (avs-plus.net)
- Latest release (GitHub)
- Discussion at forum.doom9.org
- Deprecated Official builds
- Deprecated Unofficial builds
- v.2.6.0 MT, 32-bit, author SET
at forum.doom9.org
- v.2.6.0 MT, 32-bit, author SET
- Universal Installer
- Install—and quickly switch between—AviSynth versions:
- Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha
- Avisynth+ 32-bit, 64-bit
- Get it here at forum.doom9.org
- Install—and quickly switch between—AviSynth versions:
- Deprecated Multithread Version
- v.2.5.8 MT, 32-bit, author SET,
discussion at forum.doom9.org - v.2.5.8 MT, 64-bit, author SET,
compiled by JoshyD at forum.doom9.org - AvxSynth
AviSynth 2.5.8 running on Ubuntu 32/64.
- v.2.5.8 MT, 32-bit, author SET,
- Old Bugs and issues
Script Syntax
The official reference documentation.
- AviSynth Syntax overview
- Script variables – How to declare and use them in scripts.
- Operators – Available operators and relative precedence.
- Internal functions – General purpose functions for math, logic etc.
- Clip properties – Properties such as Width, Height, Framerate etc.
- Control structures – Language constructs for script flow control.
- User defined script functions – How to define and use them in scripts.
- Plugins – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most External filters are plugins; the rest are regular scripts.
- Runtime environment – Scripting on a per-clip frame basis.
- Function objects – AVS+user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.
Filters and Utilities
- Internal filters – Included media filters, organized by category.
- External filters – Hundreds of separately downloadable filters, organized by category.
- User pages hosted on this site:
- AviSynth Filter Collection – Warpenterprises 20250316: the names of the AviSynth 2.5 plugins are messed up, put 5F before 25 in the filename (thus for example avsmon25a_5F25_dll_20030125.zip instead of avsmon25a_25_dll_20030125.zip)
- Fizick’s AviSynth plugins
- vcmohan’s Plugin Filters
- stickboy’s AviSynth Stuff
- Shared functions – Commonly used script functions.
- Utilities – A list of GUIs, command-line, batch and other AviSynth related utilities.
Scripting reference
Beyond scripting basics
- Scripting reference overview
- The full AviSynth grammar – The AviSynth grammar revisited and explained in detail.
- The script execution model – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.
- User functions – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.
- Block statements – Techniques and coding idioms for creating blocks of AviSynth script statements.
- Arrays – Using arrays (and array operators) for manipulating collections of data in a single step.
- Scripting at runtime – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.
Advanced topics
- Advanced Scripting Tips – Using recursion, weaving 3 clips, and other programming tips.
- Advanced topics – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.
- Aspect ratios explained – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.
- High bit-depth (Deep Color) support with AviSynth
Development
- Want to get involved?
- The official project.
- Learn how to install compilers and setup environments.
- Learn how to compile AviSynth, AviSynth plugins and console applications that access AviSynth.
- Learn how to debug AviSynth, AviSynth plugins and console applications that access AviSynth.
- Filter SDK – AviSynth plugin programming tips.
- Avisynth Plugin Development in C – A tutorial to write a plugin with C.
- AviSynth Developer Forum
- The ongoing changelist.
- About the development of AviSynth v3 (which will be platform independent).
- References to image processing algorithms.
About This Website
We need your help to build and improve our site!
- Editing is easy! Please see Editing pages and Formatting.
- To port this site to another language, please see the MediaWiki Localisation Guide.
- Filter and script authors – please see Submit your Documentation on doom9.org, and the documentation template ExampleFilter.
Documentation Copyright
AviSynth documentation is Copyright (c) 2002-2025 AviSynth developers and contributors.
The contents of avisynth.org and avisynth.nl are released under the Creative Commons Attribution-ShareAlike 3.0 License (CC BY-SA 3.0).