April 15, 2026

I built Imprint for a simple workflow: put styled text on top of a photo or graphic and download the result as PNG or JPG—without sending the image to a server. Everything runs locally in the browser. It is deployed and available at https://imprint.meilt.com/.

Why it exists

Quick social graphics, watermarks, captions, and memes often need a few text layers with different fonts, sizes, and colors. Many tools are either heavyweight editors or upload your file to the cloud. Imprint stays lightweight and keeps processing on the client.

Features

  • Upload or drop an image onto the canvas
  • Multiple draggable text layers with font, size, weight, italic, and color
  • A floating formatting toolbar for the selected layer
  • Export the composite image to PNG or JPG

Tech stack and running it

The app is a small Vite + TypeScript project. You need Node.js 18+.

git clone https://github.com/sanjaysingh/imprint.git
cd imprint
npm install
npm run dev

Open the URL Vite prints (by default http://localhost:5173). For a production build, use npm run build and npm run preview.

Source: https://github.com/sanjaysingh/imprint.