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

How do I make a mood board online for free without uploading my images?

Open the Mood Board Maker, choose a board shape (4:3, 16:9, square, portrait or 9:16 story), then drop freeform TILES onto it — your own uploaded IMAGES, COLOUR SWATCHES, TEXT notes and simple SHAPES — over a solid, gradient or subtle-texture background. Start from one of six templates (brand, interior, fashion, wedding, web/UI, travel), then arrange everything by hand: drag, resize from eight handles, rotate, re-order, duplicate and delete each tile, with snap & alignment guides and a one-tap auto-arrange grid. Select any photo to sample its dominant colour or a whole six-swatch palette straight onto the board. A live WYSIWYG preview shows the exact result; export a high-resolution PNG (up to 3200 px wide), copy it to the clipboard, or save the whole board (images included) to your browser and load it later — 100% on your device, nothing uploaded.

  • Four tile types: uploaded image tiles, colour swatches, text notes and shapes (rectangle / ellipse / line)
  • Freeform drag / 8-handle resize / rotate, z-order, snap & alignment guides, plus a one-tap auto-arrange grid
  • Five board shapes (4:3, 16:9, 1:1, 3:4, 9:16) on a solid / gradient / inline-texture background
  • Sample a dominant colour or a six-colour palette from any uploaded photo, on-device
  • Six templates + export high-resolution PNG (1600–3200 px) or save/load the board as JSON in your browser — nothing uploaded

What is

Mood board

A mood board (also called an inspiration or vision board) is a visual collage that gathers images, colours, textures, type and short notes onto a single surface to capture the look, feel and direction of a creative project — a brand, an interior, a fashion story, a wedding, a product UI or a trip. Unlike a rigid photo grid it is usually FREEFORM: overlapping tiles are placed, scaled and rotated by hand to build a visual rhythm, and a small colour palette is pulled from the imagery. A mood board maker is a tool that composes those image, swatch, text and shape tiles on a chosen board shape and exports the result as an image.

Design

Related terms

mood boardinspiration boardvision boardcollagecolour paletteswatchdominant colourbrand boardinterior mood boardaspect ratioMilanotepopular design appsPinterestdesign direction

Frequently Asked Questions

No. Every image you add is decoded and composited locally on an in-page canvas, colour sampling reads the pixels on an off-screen canvas on your device, and the board is drawn and exported entirely in your browser. Nothing is uploaded and there is no server or CDN in the editing or export path.

The Mood Board Maker is 100% client-side. Each tile is a plain typed object (an image reference, a colour swatch, a text note or a shape) held in the page, and a pure engine draws them onto an in-browser HTML5 canvas. When you upload a photo it is read straight into a local data URL and composited on-device — it never leaves your computer and is never sent anywhere. Sampling a colour draws a downscaled copy of your image to a detached off-screen canvas and reads its pixels locally. Export renders the same scene to a canvas and saves it with canvas.toBlob, and Save/Load stores the whole board (images embedded as data URLs) only in this browser’s localStorage. There is no analytics, no tracking and no CDN in the processing path; the only optional network use is consent-gated ads. The tool works offline once cached, and closing the tab discards anything you did not save or export.

There is no built-in stock-photo library — on purpose, since that would mean fetching from a third-party server and break the privacy promise. You upload your own images; templates give you a palette, notes and empty image frames to drop them into.

Unlike cloud tools that bundle a huge stock library, this maker deliberately ships NO external stock imagery, because pulling real photography would require calling a third-party server and would break the “nothing leaves your device” promise. Instead you bring your own images: click “Upload image tile(s)” (you can add several at once) and each becomes a tile you can drag, resize, rotate, round the corners of, give a white polaroid frame, and crop-to-fill (cover) or fit (contain). The six starter templates seed a cohesive colour palette, a couple of text notes and empty image FRAMES laid out for you — you just drop your own photos into the frames. Local vector shapes and colour swatches let you build a rich board even before you add a single photo.

Select an uploaded image tile and click “Dominant colour” or “Extract palette”. The tool draws a small copy of the image, buckets its pixels by colour and adds the most common ones as swatch tiles, each labelled with its hex code — all on your device.

Colour sampling uses fast bucket quantisation. When you pick a selected photo and choose “Dominant colour” or “Extract palette”, the engine draws a downscaled copy of the image (about 48–64 px on the long edge) onto an off-screen canvas, reads the pixels, skips transparent ones, and groups the rest into 4-bit-per-channel buckets. It averages each bucket, orders them by how many pixels fell into each, de-duplicates colours that are perceptually close, and drops the top one (dominant) or top six (palette) onto the board as swatch tiles showing their hex codes. It is a quick approximation of the prominent colours rather than a designer’s hand-picked or perceptually-clustered palette, so treat the swatches as a starting point and nudge, recolour or delete them to taste. Everything runs locally — the image is never uploaded to compute the palette.

Yes. Export a PNG at up to 3200 px wide (or copy it to the clipboard), and use Save to keep the whole board — images included — in your browser, then Load it next time. Both run entirely on your device.

Because the same render routine draws the live preview and the export, the file you download matches the board exactly (true WYSIWYG). Pick a PNG width of Standard (1600 px), High (2400 px) or Ultra (3200 px) — the height follows your board shape — then download it or copy it straight to the clipboard. Save serialises the board to JSON (with each photo embedded as a data URL) into this browser’s localStorage, and Load restores it and re-decodes the images; this keeps one board per browser and never touches a server. Note the practical limits: localStorage quota is usually around 5 MB, so a board with several large photos may be too big to save (just export the PNG in that case), and canvas text renders with the fonts installed on the viewing device, so metrics can vary a hair between browsers.

Detailed Explanation

How It Works

Mood Board Maker — A Real, Private Freeform Collage Editor

The Mood Board Maker is a 100% client-side design editor for mood / inspiration boards — a free, private alternative to Milanote, popular design apps or a Pinterest board for a single board. You pick a board SHAPE (4:3, 16:9, square, 3:4 portrait or 9:16 story), then compose freeform TILES over a solid, gradient or subtle inline-texture background: your own uploaded IMAGES, COLOUR SWATCHES, TEXT notes and simple SHAPES. Every tile is placed by hand — dragged, resized from eight handles, rotated, re-ordered — with snap and alignment guides and a one-tap auto-arrange grid. Six templates (brand, interior, fashion, wedding, web/UI, travel) seed a palette, notes and empty image frames. Crucially there is no external stock imagery: you bring your own photos, and everything is drawn and exported on your device.

  • Four freeform tile types: uploaded image, colour swatch, text note, shape (rect / ellipse / line)
  • Five board shapes: 4:3, 16:9, 1:1, 3:4 and 9:16, each with a design-unit artboard
  • Solid / gradient / procedural-texture background (dots, grid, cross, paper, linen, diagonal)
  • Snap + alignment guides, z-order, duplicate, delete, and a one-tap auto-arrange grid
  • Six templates seed a palette, notes and empty image frames — no external stock photos
Methodology

Method: A Design-Unit Layer Model Shared With the Flyer Editor

The board uses the same proven geometry approach as the Flyer and Brochure editors. All tile geometry lives in a uniform, square DESIGN-UNIT space whose width is always 1000 and whose height is 1000 divided by the board aspect ratio — because the height already carries the ratio, one design unit maps to the same number of real pixels on both axes, which keeps rotation, hit-testing and eight-handle resize simple and correct at any output resolution. Each tile is a plain typed object with position, size, rotation, opacity, corner radius and drop-shadow. A single renderBoard() routine draws the background then every tile (translate to centre, rotate, apply opacity, rounded-rect clip, cast a shadow) for BOTH the low-resolution live preview and the full high-resolution export, so the preview is genuinely WYSIWYG. Snapping compares the moving tile’s edges and centre against the other tiles, the board edges and the board centre, returning both the adjusted position and the guide lines to draw.

  • Uniform square design units (width 1000, height 1000 / aspect) → correct rotation & resize
  • Tiles are typed objects: position, size, rotation, opacity, radius, shadow
  • One renderBoard() draws the preview and the export — WYSIWYG by construction
  • Rotation-aware hit-testing picks the top-most tile under the pointer
  • Snapping aligns tile edges/centre to other tiles and the board centre + edges
Technical Details

Interaction, Colour Sampling and Export Internals

Pointer input is mapped from screen pixels into design units via the stage’s bounding rectangle, so hit-testing and handle tolerance stay correct at any display scale. A transparent SVG overlay (viewBox in design units, non-scaling strokes) renders the selection outline, eight resize handles, a rotate grip and the dashed snap guides, and captures pointer events; resize is computed in the tile’s local, un-rotated frame with the opposite edge/corner fixed in world space (correct even for rotated tiles), and image corners or Shift lock the aspect ratio. Colour sampling draws a downscaled copy of the selected image (≈48–64 px) to a detached off-screen canvas, reads the pixels, skips transparent ones, buckets the rest at 4 bits per channel, averages and orders the buckets by population, de-duplicates perceptually-close colours, and adds the dominant one or the top six as hex-labelled swatch tiles. PNG export renders the board to an off-screen canvas at a chosen width (1600 / 2400 / 3200 px) and calls canvas.toBlob. Because uploaded photos are read into local data URLs the canvas is never tainted, so download, clipboard copy, colour sampling and Save/Load all work offline.

  • Screen→design pointer mapping via getBoundingClientRect keeps hit-tests accurate
  • SVG overlay draws the selection box, eight handles, rotate grip and snap guides
  • Colour sampling = downscale → 4-bit bucket quantise → population-ordered, de-duplicated swatches
  • PNG export = off-screen canvas at 1600 / 2400 / 3200 px → toBlob (untainted)
  • Images come from local data URLs, so the canvas never taints — everything works offline
Use Cases

When to Reach for This

Use it to pull together a look fast, privately, without an account or a watermark: a brand direction board (logo space, palette, type), an interior materials-and-tones board, a fashion look/silhouette board, a wedding colour-and-detail board, a product/UI design-system board, or a travel destination board. Start from the matching template, upload your own reference photos into the empty frames, sample a palette from the strongest image, add a couple of text notes, then auto-arrange or hand-place the tiles and export a PNG to drop into a deck, brief or client email — or Save it in your browser to keep iterating. It suits designers, brand and interior stylists, photographers, planners, product teams, students and anyone assembling a private inspiration board from their own images.

  • Great for brand, interior, fashion, wedding, web/UI and travel boards
  • Six tuned templates give a fast, fully-editable starting point
  • No account, subscription or watermark; works offline once cached
  • Sample a palette from your own photos and drop hex-labelled swatches on the board
  • Best for a single board, not an infinite multi-board canvas with connectors
Limitations

Honest Limitations

This is a focused, private single-board editor, not a cloud design suite. There is deliberately NO built-in stock-photo library — real photography would mean fetching from a third-party server and would break the privacy promise — so you bring your own images (templates ship empty frames plus a palette and notes). Exports are a fixed-resolution raster PNG (not vector or PDF) in screen RGB. The colour sampler uses fast bucket quantisation on a downscaled copy of the image: it is a quick approximation of the prominent colours, not a designer’s hand-picked or perceptually-clustered (median-cut / k-means) palette, so nudge the swatches to taste. Canvas text renders with the fonts installed on the viewing device (portable system stacks) and metrics can vary a hair between browsers. Save/Load keeps a single board in localStorage, whose quota is limited (often ~5 MB), so a board with several large photos may be too big to save — export the PNG instead. There is no multi-board/infinite canvas, no arrows or connectors, and no vector pen.

  • No external stock imagery by design — bring your own photos (privacy over convenience)
  • Raster PNG only, screen RGB — not vector, PDF or CMYK
  • Colour sampler is fast bucket quantisation, an approximation — refine swatches by hand
  • Save/Load uses localStorage (~5 MB) — large-photo boards may not fit; export instead
  • Single-board editor — no infinite canvas, connectors or vector drawing tools
Privacy & Security

Private by Design

Everything happens on your device. Each tile is a small object of numbers and text held in the page; the engine draws the board on an in-browser HTML5 canvas, and any photo you add is decoded into a local data URL and composited on-device — it is never uploaded and never transmitted. Colour sampling reads the image’s pixels on a detached off-screen canvas locally. PNG export renders the same scene to a canvas and saves it with canvas.toBlob, and Save/Load stores the whole board (images embedded as data URLs) only in this browser’s localStorage. There is no server and no CDN in the editing or export path; the only optional network use is consent-gated ads. The tool works offline once cached, keeps no accounts and sets no tracking; close the tab and anything you did not save or export is gone.

  • Tiles are local objects; the board is drawn on an in-page canvas
  • Uploaded images are read locally as data URLs and never leave the device
  • Colour sampling and PNG export are local canvas operations — no upload, server or CDN
  • Save/Load is browser localStorage only; works offline once cached
  • No accounts, no tracking; unsaved, unexported work is discarded on tab close
Ways to make a mood board
ApproachHow it worksTrade-offUsed here
This client-side makerCompose image / swatch / text / shape tiles on an in-browser canvas; sample colours locally; export PNGPrivate + free + no watermark; you bring your own images, raster PNGYes
Cloud board (e.g. Milanote / popular design apps)Drag images, stock assets and notes on a hosted canvas, exported from their serversHuge asset library and sharing, but uploads your images and may watermark or paywallNo
Pinterest boardPin images found on the web into a shared online boardGreat for discovery, but public/social and not a composed, exportable artworkNo
Slides / word processorDrop images into a slide or document and arrange by handFamiliar, but weak freeform control, no colour sampling and clumsy layoutNo

All editing, colour sampling and export here run in the browser; images are never uploaded. As of July 2026.