AUD · Audio tools

SSTV Encoder and Decoder

Shareable link

Settings are written to the URL as you change them. Nothing differs from the defaults yet.

Send a picture as sound, or turn a received SSTV signal back into a picture. Slow-scan television sends a still image one line at a time as a single tone whose pitch follows the brightness, slow enough to fit in a voice radio channel.

How SSTV sounds

The tone moves between 1500 Hz for black and 2300 Hz for white. Each line starts with a short pulse at 1200 Hz, below anything in the picture, which a decoder uses to find where the line begins. Before the first line, a VIS header announces the mode: a 1900 Hz leader, then seven bits sent as 1100 Hz for one and 1300 Hz for zero, then a parity bit.

Mode Picture Time Colour
Robot 36 320 × 240 36 s YCbCr, colour at half resolution
Martin M1 320 × 256 114 s Green, blue, red scans
Scottie S1 320 × 256 110 s Green, blue, red scans
PD 120 640 × 496 126 s YCbCr, colour shared by each pair of rows
PD 180 640 × 496 187 s YCbCr, colour shared by each pair of rows

Robot 36 is fast because it sends brightness at full detail and colour at half, the way a JPEG does. The Martin and Scottie modes send a full green, blue, and red scan for every line, which takes three times as long and keeps colour edges sharp. The PD modes send two rows per sync pulse, both rows’ brightness and one shared pair of colour scans, which is how they fit four times the pixels of Robot 36 into a few minutes.

Encoding a picture

Load a picture and pick a mode. The picture is resized to the mode’s size, either cropped to fill it or fitted with black bars, and the transmission is written as a WAV. Listen plays it in the page. The callsign overlay writes text in the top left corner, large and outlined, because fine detail is the first thing a noisy path smears.

Decoding

Open a recording, or press Listen with the microphone and hold the phone or laptop near the radio’s speaker. The picture builds up line by line as it is heard, and a recording with several transmissions gives one picture per transmission.

Under the hood, the audio is mixed down around 1700 Hz and filtered, and the angle between successive samples gives the frequency at every sample. The decoder watches those frequencies for a VIS header, then reads each line by finding its sync pulse and averaging the frequency across each pixel’s slice of time.

Straight pictures from imperfect clocks

A sound card that runs 0.1% fast shifts every line by a little more than the last. Over 256 lines of Martin M1 that adds up to 114 ms, enough to shear the picture into a steep slant. The decoder measures the position of every line’s sync pulse and fits a straight line through them, so the timing follows the actual clock of the recording rather than the nominal one.

Getting a clean receive

  • Keep the volume moderate. A clipped signal still decodes, but a speaker driven into distortion adds tones that are not there.
  • Turn off the radio’s noise reduction and AGC hang if you can; both reshape the tone the decoder needs.
  • For the microphone, a quiet room matters more than distance. Keep the phone a few centimetres from the speaker.
  • A recording made with a receiver’s audio output is cleaner than anything a microphone hears, so record first when it matters and decode the file.

Frequently Asked Questions

Encode turns a JPEG, PNG, or WebP picture into an SSTV transmission and downloads it as a WAV. Decode turns SSTV audio back into a picture, from a recording (WAV, MP3, M4A, Ogg, FLAC, or a WebM video's audio) or live from the microphone held near a radio's speaker.

Robot 36, Martin M1, Scottie S1, PD 120, and PD 180. Martin M1 is the European HF standard and Scottie S1 the North American one, Robot 36 is the quickest colour mode, and PD 120 and PD 180 are what the ISS's ARISS events transmit in.

No. Every transmission begins with a VIS header, a short tone sequence that names its mode, and Automatic reads it. Pick a mode by hand only when a recording starts after the header; decoding then begins at that mode's first line sync.

Yes. ARISS events transmit in PD 120 or PD 180, both supported, and Automatic picks the mode from the header. Record the pass with any receiver and open the file, or let the microphone hear the radio's speaker during the pass. Each picture in a pass comes out as its own image.

A slant comes from a sound card running a little off its rate. The decoder measures every line's sync pulse and fits the line timing to them, which straightens the usual drift. Noise and fading on the radio path show as speckle and coloured streaks; they are in the signal, and no decoder can remove them.

The audio is standard SSTV and any decoder can read it. Transmitting it is for licensed radio amateurs, on frequencies and with identification their licence allows; the callsign overlay is there for that.

Explore Our Tools

Browse all tools