AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I put my logo on a t‑shirt or mug mockup online for free without uploading anything?

Open the Product Mockup Generator, drop (or paste) your design — a PNG, SVG, JPG, WebP or GIF logo or artwork — then pick a product: t‑shirt, hoodie, mug, phone case, tote bag, cap, framed poster, laptop lid, sticker or business card. Every product is drawn from local vector shapes, so your design is composited onto its print area right in the browser. Drag it on the preview or use the scale, rotation, position, opacity and blend controls, choose the product and background colour, then export a high‑resolution PNG. Nothing is uploaded — the artwork and the mockup never leave your device.

  • Drop, browse or paste a logo / design (PNG, SVG, JPG, WebP, GIF)
  • 10 products drawn as local vectors — no external stock photos
  • Drag to position, plus scale / rotate / opacity / blend controls
  • Multiply & screen blends drop white or black onto dark / light products
  • Pick product + background colour; export a 1600px or 2400px PNG

What is

product mockup generator

A product mockup generator is a tool that shows how a design, logo or artwork will look printed on a physical product — apparel like a t‑shirt or hoodie, drinkware like a mug, or items like a phone case, tote bag, cap, poster, laptop, sticker or business card. It composites your uploaded design onto the product’s print area with adjustable position, scale and colour. A 100% client‑side generator draws each product as a local vector illustration and does the compositing on an in‑browser canvas, so the design is never uploaded to a server.

Design

Related terms

mockupprint on demandPODapparel mockupt‑shirt mockupmerch designprint areablend modecanvas compositingPNG export

Frequently Asked Questions

No. Your design is decoded into an in‑page image and composited onto a locally‑drawn product on a canvas. Nothing is uploaded and there is no CDN or stock‑photo fetch in the path.

The Product Mockup Generator is 100% client‑side. When you drop or paste a file it is turned into a local object‑URL and decoded into an <img> in the page; a pure engine (productMockupEngine.ts) draws the chosen product from vector paths and composites your design into its print area on an offscreen <canvas>. The exported PNG is generated in memory and saved straight to your downloads. Nothing is fetched, uploaded, logged or stored on a server, there are no external stock photos, and the tool works offline once cached. The only optional network use is consent‑gated ads.

Ten products — t‑shirt, hoodie, mug, phone case, tote, cap, framed poster, laptop lid, sticker and business card — and any browser‑decodable image: PNG, SVG, JPG, WebP or GIF.

You can place a design on ten locally‑drawn products: a crew t‑shirt, a hoodie, an 11oz mug (with a cylinder wrap), a hard phone case, a canvas tote bag, a cap, a framed poster with a white mat, a laptop lid, a die‑cut sticker and a stacked business card. Each has its own defined print area. For the design, any image the browser can decode works — PNG, SVG, JPG, WebP or GIF — and a transparent PNG or an SVG gives the cleanest result because the product colour shows through the empty areas. Switching products keeps the same design and re‑fits it to the new print area automatically.

Yes. Pick any product colour, and use the Multiply or Screen blend so white areas of your design drop out on a dark garment (or black areas drop out on a light one).

A colour control recolours whatever matters for each product — the shirt, the mug body, the case, the frame, the card stock, and so on — with a hex field and quick swatches. To make a print sit correctly on a coloured product, choose a blend mode: Normal is opaque; Multiply drops the white parts of your artwork so a black‑on‑white logo works on a dark shirt; Screen drops the black parts for a white logo on a light product; Overlay tints the design toward the product colour. A soft multiply shading pass (and a cylinder warp on the mug) is applied so the print looks like it sits on the surface rather than floating on top.

No — they are clean, stylised VECTOR mockups drawn on canvas, not photos. That trade‑off is what keeps everything on‑device and instant.

To keep your artwork completely private and make the tool work offline, the products are drawn from vector shapes rather than photographed. So there are no real fabric wrinkles, no photographic lighting and no true 3‑D draping beyond the mug’s simple cylinder projection and a soft shading pass; print areas are fixed rectangles that contain the design. This is ideal for a quick product‑page thumbnail, a social post or a client concept. For a photorealistic hero shot you would still want a real photo template or a physical sample — the deliberate trade is total privacy and instant, offline results in exchange for photo realism.

Detailed Explanation

How It Works

A 100% Client-Side Product Mockup Generator

The Product Mockup Generator places a user-supplied design — a logo or artwork — onto a physical product and exports a PNG, entirely in the browser. The crucial constraint is privacy: the design is never uploaded, and every product body (t-shirt, hoodie, mug, phone case, tote bag, cap, framed poster, laptop lid, sticker, business card) is drawn from LOCAL vector paths on a canvas rather than fetched as a stock photo. The user drops, browses or pastes an image; a pure engine (productMockupEngine.ts) fits it into the selected product’s print area and composites it with adjustable position, scale, rotation, opacity and blend, plus a soft shading pass so it sits on the surface. This makes the whole tool work offline and keeps the artwork on the device.

  • Ten products, each drawn as a local vector illustration — no stock photos
  • Design uploaded via drop / browse / clipboard paste; never leaves the device
  • Composited onto each product’s defined print area on an in-browser canvas
  • Adjustable position, scale, rotation, opacity and blend mode
  • High-resolution PNG export generated in memory
Methodology

How the Design Is Fitted and Shaded

Each product is defined in a NORMALISED box (0..1) with a print-area rectangle expressed as fractions of that box, so one layout maps every product to any export resolution. The design is contain-fitted into the print rectangle — scaled so it fits without cropping — then the user’s scale multiplier, position offset (a fraction of the print half-width/height), rotation and opacity are applied on an offscreen layer canvas. The layer is clipped to the print area and drawn onto the product with the chosen blend (normal, multiply, screen or overlay). A surface pass then multiplies a soft gradient over the print to fake curvature: a radial darkening for fabric, a diagonal highlight for glossy cases and lids, and for the mug a true cylinder projection that samples the design through x = sin(θ) so the texture compresses toward the edges the way a label wraps a cylinder.

  • Products defined in normalised 0..1 space with fractional print areas
  • Design contain-fitted, then scaled / positioned / rotated on a layer canvas
  • Layer clipped to the print area and composited with the selected blend mode
  • Fabric = radial multiply shade; glossy = diagonal highlight
  • Mug uses a sin(θ) cylinder warp for a believable wrap
Technical Details

Rendering and Export Internals

Rendering is a single pure function, renderMockup(ctx, input): it fills the background (solid, linear-gradient or transparent), draws a soft contact-shadow ellipse, calls the product’s body draw function (vector paths built with arcTo-based rounded rects and bézier/quadratic curves), composites the design layer into the print clip, applies the surface shading, then draws any foreground detail (hood drawstrings, sticker gloss). The live preview redraws on a 1000px canvas whenever any input changes; dragging on the preview maps pointer deltas — scaled from CSS pixels to canvas pixels and divided by the print half-size — into the position offset. Export re-runs the same function on an offscreen canvas at 1600px or 2400px and calls toDataURL(‘image/png’), so a transparent background yields a transparent PNG. Object URLs for the uploaded design are revoked on replace and unmount.

  • renderMockup: background → contact shadow → body → design → shading → foreground
  • Vector bodies use arcTo rounded rects and bézier / quadratic curves
  • Preview on a 1000px canvas; drag maps pointer deltas to the position offset
  • Export re-renders at 1600 / 2400px and calls toDataURL for a PNG
  • Uploaded-image object URLs are revoked to avoid memory leaks
Use Cases

When to Reach for This

Reach for it to preview a logo on merch before ordering, mock up a print-on-demand listing thumbnail, show a client a quick concept across several products, drop a design onto a mug or tote for a social post, or check how a white logo reads on a dark shirt using the multiply blend. Because switching products keeps the same design and re-fits it to the new print area, you can flip a single logo across a t-shirt, hoodie, mug, cap and sticker in seconds. It is free, watermark-free, account-free and offline — and the transparent-PNG option drops the finished product straight onto any page or store listing.

  • Preview merch before ordering; POD listing thumbnails
  • Quick multi-product concepts for a client
  • Social-post product shots for a mug, tote or tee
  • Test white-on-dark / black-on-light with blend modes
  • One design across many products; transparent-PNG export
Limitations

Honest Limitations

These are STYLISED VECTOR mockups, not photorealistic photo templates. To keep everything on-device and offline, the products are drawn from vector shapes, so there are no real fabric wrinkles, no photographic lighting and no true 3-D draping — only the mug’s simple cylinder projection and a soft multiply/gloss shading pass. Print areas are fixed rectangles that contain the design rather than warping it over folds, seams or curves (other than the mug). Colour recolouring is a flat fill plus derived shades, not a physically-accurate dye, and blend modes approximate — they do not replace proper print separations. For a photorealistic hero shot, a real photo template or a physical sample is still the right tool; this one trades photo realism for total privacy and instant, offline results.

  • Stylised vector mockups — not photos; no real wrinkles or lighting
  • Fixed rectangular print areas; only the mug is curved
  • Flat colour fill with derived shades, not physical dye simulation
  • Blend modes approximate; not a substitute for print separations
  • Use a photo template / sample when photo realism is required
Privacy & Security

Private by Design

Everything happens on your device. Your uploaded design is turned into a local object-URL and decoded into an in-page image; the product is drawn from vector paths and the compositing runs on an offscreen canvas. The exported PNG is generated in memory and saved straight to your downloads. Nothing is fetched, uploaded, logged or stored on a server, there are no external stock photos and no CDN in the processing path, and fonts are the device’s own system fonts. The only optional network use is consent-gated ads. The tool works offline once cached, keeps no accounts, sets no tracking, and discards your design when the tab closes.

  • Design decoded and composited locally — never uploaded
  • Products are local vectors; no stock photos, no CDN, no server
  • PNG built in memory; system fonts only
  • Optional consent-gated ads; works offline once cached
  • No accounts, no tracking; design discarded on tab close
Ways to make a product mockup
ApproachHow it worksTrade-offUsed here
This client-side generatorDraw the product as local vectors; composite the design on a canvas; export PNGTotal privacy + free + offline; stylised, not photorealYes
Photo-template mockups (Placeit, Smartmockups)Overlay the design onto a photograph of the product with warp / displacementPhotorealistic, but designs are uploaded to a server and often paywalledNo
Manual professional photo editors mockupPlace art into a smart object with a displacement mapVery realistic, but slow, needs the app and a template fileNo
3-D / AI mockup toolsRender the product in 3-D or generate it with a modelFlexible angles, but heavier, cloud-based and account-gatedNo

Everything here runs in the browser; the design is never uploaded and products are drawn locally, not photographed. As of July 2026.