ToolJovia
Images

Offline Image Gallery Builder

Turn ordered local images, alternatives and captions into a complete offline HTML album with reusable PNG copies and source evidence.

✓ Browser-local processing
Choose 1–12 files with unique exact basenames. They are read only in this tab.
List every selected filename exactly once, in album order. Required alt describes image meaning; optional caption stays visible.

Loading tool…

How to use Offline Image Gallery Builder

Share a small image story without opening a gallery account. Choose the local files, describe each image in your own words and set the exact order in a literal model. The downloaded album keeps individual pictures and captions, works without a slideshow script and includes the normalized PNG copies used in its standalone HTML.

  1. Choose your local images and replace the example model with their exact basenames. File selection order does not silently override the authored image order.
  2. Write a clear album title, explicit language and meaningful alternative for each image. Add optional visible captions and a description using plain text.
  3. Build and read the small current summary. Download the complete gallery ZIP or source JSON; all inputs and joint output budgets are checked before either mode returns.
  4. Extract the ZIP, deliberately open gallery.html in a supporting browser and inspect images, captions and keyboard links. The same PNG copies are also in images/. Review all private content before sharing the package or standalone HTML.

Good to know

  • Exactly 1–12 actual local images, 1 byte through 8 MiB each and 16 MiB combined. Each declared image is at most 1,000,000 pixels and 2,048 per side; aggregate source pixels are at most 4,000,000. All headers and aggregate input limits are checked before decoding. Use existing resizing tools first when needed.
  • Static PNG, single-frame baseline JPEG or simple VP8/VP8L WebP within the existing strict raster profile. SVG, GIF, APNG, progressive JPEG, extended/animated WebP and compressed PNG metadata refuse. Native decoded dimensions must match the header, including orientation; this is not a broad codec or file authenticity certificate.
  • The authored model is strict JSON within 30,000 UTF-16 units and UTF-8 bytes. Root title/language/images and optional description; each image filename/alt and optional caption. Unknown or duplicate members, prototype keys, unsupported controls/noncharacters and malformed Unicode refuse. Each exact, case-sensitive basename is at most 200 UTF-16 units without path separators and must appear exactly once. NFD accents and case are not silently normalized.
  • Title is nonblank within 200 UTF-16 units; required alt is nonblank within 300; description/caption within 1,000. Names and alternatives are single-line. Captions/descriptions preserve tabs and line breaks. Language uses a supported explicit BCP 47 tag canonicalized by Intl; this does not infer content language or certify alternative quality.
  • Images are decoded and freshly PNG-encoded sequentially without resizing, crop, alignment or editing. Their original metadata, file bytes, color appearance and sample fidelity are not preserved or certified. Fresh PNGs total at most 4 MiB. Browser color conversion, premultiplication and encoding can change samples. Full image content remains recoverable; this is not redaction or private access control.
  • One complete ZIP contains gallery.html, manifest.json and ordinal images/001.png onward. HTML embeds those same PNG copies as data URIs, so it can be manually opened on its own; the package intentionally duplicates those bytes. Fixed names prevent supplied filenames becoming ZIP paths. HTML is at most 9 MiB, source JSON at most 100,000 UTF-16 units and UTF-8 bytes, and complete ZIP at most 12 MiB; all modes validate the whole package atomically.
  • The artifact contains literal escaped metadata, intrinsic image dimensions, native numbered fragment links and fixed responsive CSS. It accepts no supplied HTML, script, style, remote resource, hotspot or template. Its separate CSP denies scripts, connections, forms and external resources, allowing only PNG data images and the fixed hashed CSS. No carousel, autoplay, timer, account, hosting, upload, tracking, external font or product-page HTML mount occurs.
  • Each source read has a 5-second deadline; existing native decode and encode waits are bounded at 10 and 5 seconds. Pagehide prevents later phases, closes resolved late bitmaps and removes the operation listener. Browser codec/read work cannot be forcibly aborted; Reset/rerun rely on the existing engine generation guard to discard old UI results, without promising immediate underlying cancellation.
  • Copy/display contains only a small current summary. Complete JSON includes original model text, image basenames, source byte hashes and all authored alternatives/captions, but no original image bytes. ZIP/HTML contain full normalized pictures. Review the actual target browser, keyboard behavior, captions and assistive technology yourself; no universal rendering or accessibility certification is provided.
  • Inputs are not automatically saved, originals are not overwritten and no source resource is fetched or opened. This is a manual offline album handoff, not an image editor, directory scanner, social gallery, player, ebook importer, proof of ownership or promise of safe content.

Common questions

Why does the ZIP include PNG files when the HTML already contains them?

The embedded copies let gallery.html stand alone after extraction or deliberate copying. Ordinal PNG files provide reusable versions of the same normalized pictures, and the manifest maps them to the exact selected filenames and authored order. This duplication counts toward the package limits.

Is a caption a replacement for the image alternative?

They serve different purposes. The visible caption can give context; the required alt should convey the image’s meaning for someone who cannot see it. You author both. The builder checks literal structure and bounds, not whether your descriptions are adequate.

Will the album preserve my original photo files exactly?

No. It uses fresh browser-encoded PNG copies. The original files are left alone, while metadata, color handling and sample values can change during decoding and encoding. Keep originals separately when byte preservation or archival appearance matters.

Keep going with related tools

All images →