whatisgithub

What is shumway?

mozilla/shumway — explained in plain English

Analysis updated 2026-07-03

3,669TypeScriptAudience · developerComplexity · 5/5Setup · hard

In one sentence

An archived Mozilla research project that rendered Adobe Flash (SWF) content directly in the browser using JavaScript and HTML5 Canvas, no plugin required. Inactive since Flash was discontinued in 2020.

Mindmap

mindmap
  root((shumway))
    What it does
      Renders Flash SWF files
      No plugin required
      Browser-native only
    Tech stack
      TypeScript
      JavaScript
      HTML5 Canvas
    History
      Mozilla research project
      Firefox extension
      Archived since 2020
    Use cases
      SWF format research
      Flash rendering study
      Browser media parsers
    Community
      Mailing list
      IRC channel
      TODO-driven contributions
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how to parse the SWF binary file format in TypeScript as a reference for building your own binary media parsers.

USE CASE 2

Explore how Flash animation rendering was mapped to HTML5 Canvas drawing calls without any native plugin.

USE CASE 3

Read the codebase to understand how an ActionScript virtual machine can be implemented in JavaScript.

USE CASE 4

Use the archived source as a reference for packaging a complex parser as a browser extension with auto-update on merge.

What is it built with?

TypeScriptJavaScriptHTML5Canvas API

How does it compare?

mozilla/shumwaygvergnaud/hotscriptbtroncone/learn-rxjs
Stars3,6693,6713,673
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardeasyeasy
Complexity5/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

This project is archived and no longer maintained, Flash itself was discontinued in 2020, so the code is primarily useful as a historical reference.

So what is it?

Shumway was a Mozilla research project that tried to play Flash files inside a web browser using only standard web technologies, with no plugins or native code required. Flash was a format used for animations, games, and interactive content on the web for many years. The goal of Shumway was to parse and render the SWF file format, which is what Flash content is stored in, entirely through JavaScript and HTML5. The project was community-driven and backed by Mozilla. At the time of its active development, it shipped as a Firefox extension that users could install to test it against Flash content they encountered on the web. The extension was updated automatically on every code merge, so testers always had the latest version. Mozilla noted that full integration into Firefox was a possibility if the experiment proved out. Contributing was straightforward: install the extension, try it on Flash files, and file issues for anything that broke or was not yet implemented. The codebase also had TODO comments throughout that served as a built-in task list for developers who wanted to jump in. The project used a mailing list and an IRC channel for discussion. The repository has been inactive for some time, as Flash itself was officially discontinued industry-wide in 2020.

Copy-paste prompts

Prompt 1
Walk me through how the Shumway codebase parses the SWF binary format and maps its drawing commands to HTML5 Canvas API calls.
Prompt 2
Write TypeScript code that reads a SWF file header and extracts its version number, frame rate, and display dimensions from the binary data.
Prompt 3
Explain how Shumway implemented an ActionScript virtual machine in JavaScript, how did it execute Flash scripts without native code?
Prompt 4
Using the Canvas API, write JavaScript that animates a simple shape along a motion path, replicating what a basic Flash timeline would produce.
Prompt 5
Show me how to package a TypeScript project as a Firefox extension that auto-updates from a remote URL whenever the source branch changes.

Frequently asked questions

What is shumway?

An archived Mozilla research project that rendered Adobe Flash (SWF) content directly in the browser using JavaScript and HTML5 Canvas, no plugin required. Inactive since Flash was discontinued in 2020.

What language is shumway written in?

Mainly TypeScript. The stack also includes TypeScript, JavaScript, HTML5.

How hard is shumway to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is shumway for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.