1 Audio source
No file chosen
Drop an audio file here
or click to browse · record in USB mode, audio centered on 1900Hz
or click to browse · record in USB mode, audio centered on 1900Hz
-BLACK 1500Hz
-CENTER 1900Hz
-WHITE 2300Hz
Ready.
• File decoding: pick a recording, then press "Start decoding".
• Live: press the mic button and rows will render line by line.
2 Decode settings
Invert (swap black / white)
Auto contrast (1%–99% stretch, recommended)
Skip the 5% white leader of each row (standard header)
Status idleRows 0Row width 1809Time -
3 Decoded image
ADVERTISEMENT
How to use (1 minute)
1. Set your shortwave receiver to USB and tune −1.9kHz below the published fax frequency (e.g. listed 7880kHz → dial 7878.1kHz), then feed the audio to your computer.
2. Signal flow: 5s start tone → ~30s phasing (black with white pulse) → picture (each row starts with a 25ms white leader) → 5s stop tone + 10s black. Most stations use 120 LPM / IOC 576.
3. File decoding: record to WAV/MP3 → upload → skip the leader with the start-offset slider → decode → align the white margin to the left edge with the phase slider.
4. Slanted image → adjust slant (±tens to hundreds of ppm); washed out → enable auto contrast; inverted → tick invert (also required if you recorded in LSB mode).
5. Live decoding: hold the microphone to the speaker or use line-in for row-by-row imaging (noisy rooms hurt quality — files work best).
2. Signal flow: 5s start tone → ~30s phasing (black with white pulse) → picture (each row starts with a 25ms white leader) → 5s stop tone + 10s black. Most stations use 120 LPM / IOC 576.
3. File decoding: record to WAV/MP3 → upload → skip the leader with the start-offset slider → decode → align the white margin to the left edge with the phase slider.
4. Slanted image → adjust slant (±tens to hundreds of ppm); washed out → enable auto contrast; inverted → tick invert (also required if you recorded in LSB mode).
5. Live decoding: hold the microphone to the speaker or use line-in for row-by-row imaging (noisy rooms hurt quality — files work best).
| Parameter | Standard value | Notes |
|---|---|---|
| Black / White / Center | 1500 / 2300 / 1900 Hz | FM — brightness is linear in instantaneous frequency, ±400Hz |
| Row period | 60/LPM (0.5s at 120LPM) | Row width = floor(π×IOC): 576→1809px, 288→904px |
| Phasing | white 25ms + black 475ms × ~60 rows | Picture rows also start with a white leader; align with phase |
Common HF fax frequencies
Tune your receiver in USB 1.9kHz below the published frequency. Always check the latest NOAA / USCG schedules — frequencies change.
| Station | Published freq. (kHz) | Coverage |
|---|---|---|
| Boston / New Orleans (USCG) | 4316 / 8502 / 12786 / 17146 | North Atlantic |
| Point Reyes (USCG) | 4346 / 8682 / 12786 / 17146 | North Pacific |
| Northwood (UK) | 2618.5 / 4610 / 8040 / 11086.5 | Europe |
| Tokyo (JMH, Japan) | 3622.5 / 7795 / 13988.5 | West Pacific |
| Hamburg / Offenbach (DDH, Germany) | 3855 / 7880 / 13882.5 | Europe |
How decoding works
IF FM discrimination: mix x × cos/sin(1900Hz) down to baseband → first-order low-pass (~1200Hz) to get I/Q → Δf = (I·dQ−Q·dI)/(I²+Q²) · Fs/2π → brightness (Δf+400)/800, clipped. Each row averages Fs·60/LPM samples into pixels. Audio is resampled to 11025Hz mono first — a 10-minute recording (~6.6M samples) renders progressively in your browser without freezing.