Recommended: YouTube Capture Mode
The app opens in full-window viewer mode with floating controls by default.
Adjust the kaleidoscope, then enter one-click capture fullscreen. The app requests browser-chrome-free fullscreen, hides the control panel, fills the display with the selected frame, and leaves only two recovery buttons that fade away after two seconds.
Enter capture fullscreen — hide everything
Hide controls
Browsers require this one click before they permit fullscreen. Move the pointer into the top 10% of the screen, or touch the top edge, to recover the two hidden buttons.
Start Here — Instant Download Reward
Try a sample, tweak the kaleidoscope, and immediately download a wallpaper, thumbnail, or bitmap without scrolling deeper into the app.
Download current image now
Use default sample
The regular download button still appears later in the full control flow. These quick actions are duplicated here so new users get rewarded right away.
Image Source
Open local image
Reset defaults + use default sample
Sample image from 8k.art
Reload selected sample image
Image URL
Load URL
Drop or paste an image anywhere
Choosing a sample image immediately replaces the live kaleidoscope texture. The reload button is only needed to force a fresh reload. Local files stay in your browser. Giant images are automatically scaled to a fast preview texture. Remote servers must allow CORS.
Image list + compiled double-buffer playback
Open floating image-list editor Add local images to memory
Seconds per image
Look-ahead preload
Compile frame script + image list Preload current list
Not compiled yet. Create or import a frame script, then compile the editable image list.
Target Frame + Magic Square
Target resolution
Source size
Current device — auto rotate
Current device — landscape
Current device — portrait
1920 × 1080 — HD landscape
1080 × 1920 — Shorts HD 9:16
2160 × 3840 — Shorts 4K 9:16
4320 × 7680 — Shorts 8K 9:16
3840 × 2160 — UHD 4K landscape
4096 × 2160 — DCI 4K landscape
7680 × 4320 — UHD 8K landscape
8192 × 4320 — DCI 8K
Custom
Current-device auto mode uses the browser display size at device-pixel resolution and updates after phone or tablet rotation. Shorts presets render and export true vertical 9:16 frames. The loop exporter uses the selected target dimensions exactly.
Radial Kaleidoscope Filter
Apply radial kaleidoscope filter
Center controls are synchronized in normalized fraction, percentage, and exact pixels relative to the current output frame.
Start here for instant gratification: mirrored segment count, wedge angle, source-square angle, zoom, center, and radial shift. Segment count is kept even so every reflected wedge has a matching partner and the full 360° circle stays mirrored and animated together, including low wedge counts.
Live Background Rotation Animation
Animate mirrored wedge samples — fixed final frame
Exact seconds/revolution
Play speed quickly
The slider uses a logarithmic range from 0.1 seconds to 24 hours per revolution, so fast and slow motion are both easy to explore. The exact number field remains available for matching a song or loop length precisely.
Background direction
Clockwise
Counterclockwise
Start background rotation
The square source background rotates once every 60 seconds beneath fixed kaleidoscope wedges. Embedded playback is locked to an evenly paced 60 FPS by default. Standalone mode can use a manual frame-rate limit or every available display frame.
Spherize Filter
Apply spherize filter
Center controls are synchronized in normalized fraction, percentage, and exact pixels relative to the current output frame.
Make the source image become a square
Square mode
Scale and crop to shortest side
Shrink to fit whole image
Stretch to square
Scale and crop to shortest side fills the square without stretching and trims the extra edges from the long side. Shrink to fit whole image shows the entire image inside the square and leaves black space where needed. Stretch to square squishes or stretches the image to fill the square. The kaleidoscope geometry itself always stays truly square and is never stretched to the DCI 8K rectangle.
When no filter is applied
Show the source image
Scale down to fit all
Stretch to the frame
Scale to fill selected frame and crop extra edges
If both filters are off, the source image is shown directly and upright inside the selected target frame size . Scale down to fit all shows the whole image with black bars when needed. Stretch to the frame fills the selected frame by stretching. Scale to fill selected frame and crop extra edges fills the selected frame without stretching and trims the extra edges.
Download this app file with a real name
If your browser preview tries to save this page as a generic name like preview.html , use this button instead. It downloads this exact app as a normal HTML file with a meaningful file name.
App file name
Download this HTML app
This saves the current single-file open-source web service so people can keep it locally and run it directly in Chrome from their file system.
Live Preview Performance
Live preview quality
Automatic smooth preview
Match visible screen pixels
Match target frame exactly
Auto smooth MP cap
Automatic smooth preview is the default because it is much smoother for live work. For real-time 8K capture on an 8K display, switch to Match target frame exactly and then use browser fullscreen.
Transparent title overlay
Show the title overlay
Big title text
Small subtitle text
Kid-friendly meaning: Left-right and up-down move the title. Transparency controls fade in and fade out. Size makes it bigger or smaller. Spin rotates it. Because the frame-level XML can set these numbers on every frame, the title can scroll, fade, pulse, and drift however you want.
The title text itself is stored once. The frame script controls the moving numbers: position, transparency, size, and spin. That is a simple demo of alpha-channel title compositing.
Transparent PNG title + QR overlays
These are extra transparent image layers for video-making. The sample title PNG and sample QR PNG are included in the downloadable package and can also live beside this HTML in 8k.art/daily . Their alpha, position, size, and the title layer's scroll speed can be scripted frame by frame.
Show transparent title PNG layer
Title PNG URL
Load title PNG Use sample title PNG
Title PNG transparency
Title PNG size
Title PNG vertical scroll speed
Vertical scroll speed uses screen-height units per second. Example: 0.020 means the title drifts upward by about 2% of the screen height per second when animation is running.
Show transparent QR PNG layer
QR PNG URL
Load QR PNG Use sample QR PNG
MyAnythingList-style QR controls: qr_x, qr_y, and qr_size in both percentage and pixels. Percent values are based on the current output frame. QR size percent uses the shorter side of the current output frame.
QR PNG transparency
QR PNG size
Sample QR target: https://8k.art/daily
Audio → frame-accurate XML animation script
Load an MP3 or other browser-decodable audio file. Analysis is performed locally and offline. Every video frame receives peak and average amplitude values from 0 (silence) to 1 (full scale), plus a complete snapshot of every scriptable kaleidoscope control. Nothing is uploaded.
Open local audio file
Load URL + analyze frames
Sample audio
Audio file URL
Choose a sample or paste any direct URL to an MP3, WAV, M4A, AAC, FLAC, or OGG file. The remote server must permit browser cross-origin access. The app downloads and analyzes the audio locally; it does not upload your audio anywhere.
1. Download
2. Decode
3. Analyze frames
4. XML ready
5. Run ready
Canonical sample: “Neon Pulse Symmetry” is an original royalty-free electronic instrumental created for Sacred Geometry demonstrations.
Analysis frame rate
23.976 fps 24 fps 25 fps
29.97 fps 30 fps 48 fps
50 fps 59.94 fps 60 fps
100 fps 119.88 fps 120 fps
144 fps 240 fps Match loop exporter
Normalize the song's loudest peak to 1.0
Amplitude source Peak amplitude Average absolute amplitude
Map amplitude to
Audio response strength
Audio response strength regulates how strongly the song moves the selected effect. 0 means no movement, 0.30 is a gentle musical thump, 1.00 uses the whole selected range, and values above 1 make the response stronger while still being limited to the selected minimum and maximum.
Left: target value at silence. Right: the safety limit at full loudness. Every audio-mappable effect remembers its own response strength. Default Spherize Strength response is 0.30.
Export XML
Import XML
Open frame editor
Play script + audio
Stop script
Remap all frames
Sample: thumping
Sample: breathing
Sample: psychedelic
Sample: titles
Sample: title PNG + QR
Use loaded frame script during loop export
No audio or XML script loaded.
The current H.265/H.264 WebCodecs MP4 path uses these scripted values frame by frame. Audio is analyzed and synchronized for preview; multiplexing the original audio into the offline MP4 container is the next encoder step and is not falsely claimed here.
Animated 360° loop video export
Target resolution
Source size
Current device — auto rotate
Current device — landscape
Current device — portrait
1920 × 1080 — HD landscape
1080 × 1920 — Shorts HD 9:16
2160 × 3840 — Shorts 4K 9:16
4320 × 7680 — Shorts 8K 9:16
3840 × 2160 — UHD 4K landscape
4096 × 2160 — DCI 4K landscape
7680 × 4320 — UHD 8K landscape
8192 × 4320 — DCI 8K
Custom
Video format
Detecting the best encoder for this device…
Output frame rate
23.976 fps — cinema / NTSC film
24 fps — cinema
25 fps — PAL
29.97 fps — NTSC
30 fps
47.952 fps — double 23.976
48 fps — high-frame-rate cinema
50 fps — PAL high frame rate
59.94 fps — NTSC high frame rate
60 fps
100 fps
119.88 fps — double 59.94
120 fps
144 fps
240 fps
Manual override
Manual frames per second
Video bitrate Mbps
Loop seconds
Keyframe interval seconds
RTX 5090 test: DCI 8K · 60 fps · 60 sec · 1 sec GOP
Encode and download animated 360° loop
Cancel encoding
Ready for maximum-speed offline encoding.
Maximum-speed export renders and encodes frames as quickly as the GPU and browser video encoder can accept them. It does not intentionally wait for real time. H.265 / HEVC MP4 is attempted first for Premiere and HeyGen compatibility; browser encoder availability still varies by machine.
Hardware-composited transparent video overlay
Play a transparent 4K or 8K video directly above the kaleidoscope. Chrome composites this separate video layer with the WebGL canvas through the GPU when the codec and hardware permit it. WebM VP9 with alpha is the most practical transparent format in Chromium; other alpha-video formats depend on the operating system and browser.
Visionary suggestion to HeyGen: please add direct transparent WebM VP9 with alpha output for avatars as soon as possible. A transparent avatar layer would let creators place a HeyGen avatar live over this 4K or DCI 8K kaleidoscope, combine it through hardware-accelerated browser compositing, and capture the finished result without permanently baking a background into the avatar video. This should also become a first-class HeyGen API output option for automated open creative workflows.
Open local transparent video
Remove overlay
Video URL
Load video URL
Overlay fit
Fit whole transparent video
Fill frame and crop edges
Stretch to selected frame
Overlay opacity
Loop overlay continuously
Mute overlay audio
Play overlay
Restart overlay
No transparent video loaded. This overlay is included in fullscreen and HDMI/screen capture because it is visually composited above the kaleidoscope. Current still-image and offline MP4 exports do not yet bake this separate overlay layer into the exported file.
Live Shareable URL
Copy full URL
Apply pasted URL
This box contains the whole app URL, including viewer mode, floating-controls choice, square mode, image URL, target frame, animation values, and filter values.
Embed this kaleidoscope in any web page
Copy embed HTML
Copy same-folder embed HTML
The first example uses the full current app URL. The second example uses just this file name plus the current control string, so someone can download the HTML file, put it beside their own page, and embed it with an iframe right away.
Viewer Mode
Use full-window viewer layout — recommended
Show floating controls in viewer layout — recommended
This mode fills the browser window with your image. Embedded previews cannot take over the browser; the fullscreen button will open the app standalone first. In standalone fullscreen, the top-right button hides or shows the controls.
Image-only URL output
Return nothing but the image
Image format
PNG
JPEG
JPEG minimum MB
JPEG maximum MB
PNG gives the browser a lossless image. JPEG tries to land inside your target MB range by adjusting quality automatically.
Sample 8k.art tool URLs
Loading sample links…
These clickable examples use the real 8k.art daily image and open either the live tool or an image-only output.
Reset
Full screen
Download image
Open-source local execution:
This entire web service is contained in this downloadable HTML file.
It is designed to run directly from file:/// in Google Chrome
on Windows, macOS, Linux, ChromeOS, Android, and iPadOS browsers that
support WebGL. No upload or server is required for local images.
Open-source local web service: save this one HTML file anywhere, open it directly from your local file system in Chrome, and use it without installing a server, framework, account, or cloud service. Every control and every shareable URL name uses plain English. Buttons and controls now also give calming visual touch feedback on tap or click.
Standard sample asset locations: reusable source images and overlay PNGs live under /daily/samples/. Dated lossless working copies live under /daily/2026-07-16/, keeping the root /daily/ directory uncluttered.