Stenography for the browser

Usage no npm install needed!

<script type="module">
  import nowYouSeeMe from '';


Now You See Me

A JS implementation of steganography for png files`


npm i --save-dev now-you-see-me


Class: LoadableImage

import { LoadableImage } from 'now-you-see-me';

// Loading remote
const myImage = new LoadableImage({
  src: '',

// Loading base64 image
const htmlImage = new Image();
htmlImage.src = 'base64-string';
const myOtherImage = new LoadableImage({
  image: {
    elem: htmlImage,
    loaded: false,

Class: Magician

import { Magician } from 'now-you-see-me'

const magician = new Magician();

// Conceal some words
magician.nowYouDont('secret words', myImage)
  .then((base64Image) => {
    // Get them back again
    return magician.nowYouSeeMe(new LoadableImage({ src: base64Image }));
  .then((words) => {
    // words === 'secret words'

magician.nowYouDont(message: string, loadableImage: LoadableImage)

Returns a Promise that resolves with a base 64 encoded PNG image with the message encoded inside;

magician.nowYouSeeMe(loadableImage: LoadableImage)

Returns a Promise of that resolve with a utf8 string containing the original message that the given image contained;