Initializing... drag & drop files here
Supports: 3GP, 3G2
The realistic reason to do this is that some Flash-era tool will not read your video. An older Adobe Animate or Flash Professional project, a piece of legacy courseware, a kiosk or signage player built in the 2000s — these ingest .swf and refuse everything newer. This page re-encodes a 3GPP2 phone recording into a Shockwave Flash movie so those tools will accept it.
Be clear-eyed about what you are making. Adobe ended Flash Player support on 31 December 2020 and started blocking Flash content on 12 January 2021; every major browser removed the plugin in early 2021. A .swf produced today opens in the Ruffle emulator, in a standalone Flash Player Projector, or inside the Flash authoring tool you are targeting — and nowhere else. If you simply want the clip to play, 3G2 to MP4 is the answer and you can stop reading.
.3g2 onto the page or click "Add Files" to browse. .3gp files are accepted here as well, and several clips can be queued with the same settings..swf. Files are uploaded over an encrypted connection, re-encoded on our servers, and deleted automatically after a few hours — no sign-up, no watermark.3G2 recordings are small. The 3GPP2 file format exists because CDMA data rates were slow and handset screens were two inches across, so real files are usually 176 x 144 (QCIF), 320 x 240 (QVGA) or 352 x 288 (CIF), and 640 x 480 is about the ceiling. A Flash timeline built for a 1024 x 768 stage will show that clip as a postage stamp unless you plan for it.
Three ways to handle it, in order of how well they work:
The other decision is the codec. FLV (Sorenson Spark) predicts each frame from its neighbours and keeps the whole rate-control panel available. MJPEG stores every frame as an independent JPEG: file size climbs sharply — over double on a like-for-like encode of the same short clip — and the option panel shrinks to Quality Preset and Constant Quality alone, with the bitrate modes and Specific file size disappearing. Pick MJPEG only if the tool you are feeding wants individual JPEG frames back out.
Finally, one thing you do not control: audio is resampled to 44,100 Hz. The SWF container permits only 44,100, 22,050 and 11,025 Hz, so the conversion pins the rate rather than let the muxer reject the job. That matters here more than on most sources, because 3G2 audio is often an 8 kHz speech codec — AMR-NB, EVRC or QCELP. Upsampling 8 kHz speech to 44.1 kHz makes the file bigger and does not make it clearer.
| Property | 3G2 source | SWF output |
|---|---|---|
| Full name | 3GPP2 multimedia file format | Shockwave Flash / Small Web Format |
| Specification | 3GPP2 C.S0050-B | Adobe SWF file format specification |
| Origin | 3GPP2, for CDMA2000 networks | FutureWave 1996, then Macromedia and Adobe; video from Flash 6 |
| Video codecs allowed | MPEG-4 Part 2, H.263, H.264/AVC | Sorenson Spark or MJPEG here |
| Audio codecs allowed | EVRC, EVRC-B, EVRC-WB, 13K (QCELP), SMV, VMR-WB, AMR-NB, AMR-WB, AAC-LC | MP3 only, at 44,100 Hz |
| Typical frame size | 176 x 144 to 640 x 480 | Whatever you set; the source is the practical ceiling |
| Status | The CDMA networks it served are shut down — Verizon's last 3G CDMA went dark 31 December 2022 | End of life; Flash content blocked since 12 January 2021 |
| Plays in a browser | No | Not since early 2021 |
| Still opens in | VLC, mpv, ffmpeg-based tools | Ruffle, Flash Player Projector, legacy Flash authoring tools |
| FLV (Sorenson Spark, the default) | MJPEG | |
|---|---|---|
| Frame storage | Predicted from neighbouring frames | Each frame a complete JPEG |
| Relative size | Baseline | Roughly double on comparable settings |
| Specific file size | Available | Not offered |
| Constant / Variable Bitrate | Available | Not offered |
| Constraint Quality | Available | Not offered |
| Constant Quality scale | 1-31 quantiser, lower is better | 2-31 quantiser, lower is better |
| Choose it when | Anything that behaves like ordinary video | The tool wants independent JPEG frames |
If your destination has already dropped Flash — a browser, any current video editor, a web page, a modern LMS — this conversion produces a file that nothing there will open, no matter how you set it. Use 3G2 to MP4 for something that plays essentially everywhere, or 3G2 to FLV if the tool wants Flash Video specifically rather than a SWF movie. If you already have a .swf and need its content somewhere modern, SWF to MP4 goes the other way. Reserve this page for the case where a still-Flash-dependent pipeline genuinely requires SWF input.
Because the SWF container supports MP3 audio and nothing else — a format limitation rather than a policy choice, so the dropdown offers one entry instead of letting you build a file that fails to mux. The related constraint is on sample rate: SWF accepts 44,100, 22,050 and 11,025 Hz only, and the conversion pins the output at 44,100 Hz, because anything outside that set makes the muxer refuse the job outright.
No. Upsampling adds sample points but no information: an AMR-NB, EVRC or QCELP track recorded at 8 kHz carries no content above 4 kHz, and resampling cannot invent any. What it does add is file size, since the MP3 encoder now has 44,100 samples per second to describe instead of 8,000. There is no control for this on the page because the container leaves no alternative.
Usually not at conversion time. A 176 x 144 or 320 x 240 phone frame scaled to 480p or 720p is soft and blocky in a much larger file, and Flash authoring tools can set the display size of a small movie on their own timeline, so enlarging the pixels here buys nothing. Set an explicit size here only when the consuming tool has a fixed stage it cannot adapt — and when you do, keep the 4:3 shape almost every 3G2 uses so the picture does not stretch.
FLV, unless you have a specific reason. Sorenson Spark predicts frames from their neighbours, which is what keeps a video file a sensible size, and it leaves every compression mode available. MJPEG stores each frame as a whole JPEG, so the file roughly doubles on a like-for-like encode, and the panel loses Specific file size and both bitrate modes — leaving Quality Preset and a 2-to-31 quantiser. MJPEG is worth it only when the downstream tool wants independent frames.
Ruffle is an actively maintained open-source Flash Player emulator, and it is the practical way to check your output on a modern machine. Its ActionScript support is the part still being completed; a movie like this one, which is a video stream with no scripting, is the simpler case. If Ruffle struggles, Adobe's standalone Flash Player Projector still runs .swf files locally, and so does the Flash authoring tool you are targeting.
Yes. Switch Trim from Unchanged to Time Range and enter a Start time and a Duration, in seconds or as HH:MM:SS.sss. Only that window is decoded and re-encoded. Phone clips are short to begin with, so this is mostly useful for cutting a dead lead-in — the first second of a handset recording is often the camera still adjusting exposure.
No. A 3G2 stores creation and modification times in the container's movie header, and possibly a little more, but SWF has no equivalent metadata structure to carry them into. The output holds the picture and the audio and nothing else. Keep the original .3g2 alongside the SWF if the timestamp matters, because there is no way to recover it from the Flash file afterwards.
Almost always the audio codec. CDMA handsets commonly recorded EVRC, EVRC-B or QCELP speech, and Windows, macOS and most editors have no decoder for those, so they reject the whole file rather than play the video without sound. This converter reads the file through an ffmpeg-based pipeline that handles the container and the common codecs, which is why it opens here. If yours uses one of the rarer CDMA speech codecs, the video converts but the audio track may not survive.
Your clip is uploaded over an encrypted connection, decoded and re-encoded on our servers, and both the upload and the resulting .swf are deleted automatically after a few hours. Files are never shared or made public, and there is no sign-up, no watermark and no account required.