01 image bytes stay local
Your browser decodes the selected image and draws it to a local canvas. Conversion, previews and exports happen in the tab. The image is never sent to Semaphore or Cloudflare.
Semaphore is a static image to ASCII converter, built and operated by bobochang. There is no upload endpoint, account system, analytics script or telemetry pipeline behind it.
Your browser decodes the selected image and draws it to a local canvas. Conversion, previews and exports happen in the tab. The image is never sent to Semaphore or Cloudflare.
There are no cookies, tracking pixels, browser analytics or accounts. Preferences that stay on the device: CRT or paper theme, and the last-used tool charset and color mode in localStorage. None of those keys ever hold image bytes.
Text reaches your clipboard only when you choose copy. Files and share cards are created locally and downloaded only when you ask. Closing the tab discards the working image.
Production pages send connect-src 'none'. That blocks page scripts from opening fetch, XHR or WebSocket connections, including analytics beacons.
Loading any website requires ordinary HTTP requests for its static HTML, scripts, styles, fonts and sample image. Cloudflare may process standard request metadata and provide the operator with aggregate edge request counts. Those requests do not contain your selected image or converted output, and Semaphore runs no second in-page reporting request.
Semaphore is open source. You can inspect the client code and production headers in the GitHub repository, or open your browser's network panel while converting. If anything you observe contradicts this page, open an issue — that is the contact path, and the fix ships in public.
Last updated: September 12, 2026.
Convert locally