swf2js — программная библиотека на JavaScript, предназначенная для интерпретации и исполнения содержимого файлов формата SWF в среде веб‑браузера с использованием современных веб‑технологий. Проект ориентирован на воспроизведение интерактивной графики, анимации и базовой логики, заложенной в файлах Flash, без необходимости предварительной конвертации в нативные форматы; выполнение происходит в режиме реального времени путём парсинга байткода, ресурсов и структур сцены SWF.
Разработка такого рода библиотек обычно включает реализацию декодеров формата SWF, интерпретатор ActionScript (в той или иной степени совместимости с версиями ActionScript 1/2/3), а также систему отображения на основе HTML5 Canvas, WebGL и DOM API. Документация и реальные возможности разных реализаций могут отличаться: в некоторых случаях поддерживается только отрисовка и базовая анимация, в других — частичная или полная эмуляция логики, обработчиков событий и взаимодействия пользователя.
- Парсинг структуры SWF: чтение заголовков, тегов, таблиц символов и потоков мультимедиа.
 - Интерпретация ActionScript: реализация ранних версий ActionScript и частичная поддержка более поздних версий в зависимости от реализации.
 - Отрисовка графики: рендеринг в HTML5 Canvas и опциональная оптимизация через WebGL для ускорения вывода векторной и растровой графики.
 - Управление ресурсами: извлечение и использование битмапов, шрифтов, звуковых дорожек и других вложенных данных.
 - Эмуляция сцены и тайминга: поддержка ключевых кадров, раскладки слоёв, трансформаций, масок и таймлайн‑анимации.
 - Событийная модель и взаимодействие: обработка пользовательских событий мыши и клавиатуры, а также внутренних событий фильма SWF.
 - Интеграция с веб‑API: мосты для вызова JavaScript из ActionScript и обратной связи при необходимости.
 - Пользовательские расширения: возможность добавления плагинов или модулей для расширения поддержки форматов и медиакодеков.