玄迹

Vol. 01 · A field guide to invisible marks

Hide a message inside an image, recover it without the original.

An in-browser studio for hiding and recovering invisible traces inside images. Uses the DWT · DCT · SVD algorithm executed in your tab via Pyodide. Your pixels never leave the device.

● In browser ● Python 3 · opencv · numpy ● Open source

Section 01

The studio.

Pick a picture, choose a message (text or image), embed. The Python package handles the rest.

01

Pick a picture.

A PNG or JPEG. Larger images carry a longer message. Everything stays in the browser.

Drop an image, or click to browse PNG · JPEG · up to ~4096 px
02

Write the message.

A short text or a small image. The library encodes it as a bit array and embeds it across all three colour channels.

UTF-8 · up to 200 chars 22
Advanced options

Optional. Two separate keys: one for the message content, one for the image-block scramble. Change them to test password-protected recovery.

03

Render & save.

The engine hides your message in your browser. No upload, no server, no waiting room.

Section 02

Recover the message.

Drop a marked image. If you used the studio above to hide the message, the trace shape is pre-filled; change it only if the mark came from somewhere else.

Drop marked image No file selected

Recovered text

Colophon

A small credit, a real link.

The engine is the DWT · DCT · SVD algorithm, executed in your tab via Pyodide with opencv-python 4.11, numpy 2.x, pywavelets and Pillow.

First load takes a few seconds while Pyodide boots and pulls ~30 MB of compiled wheels from the CDN. After that, every hide / recover is local. No analytics. No cookies. No server.

  • EngineMystiMark · DWT-DCT-SVD
  • RuntimePyodide 0.27
  • StackPython · opencv · numpy · pywavelets
  • ThemeLight / Cream / Ink / Oxblood
  • StatusStudio is open
  • VersionV1.0