To make a datamosh effect from a photo online, open the free Glitch demo’s Datamosh Bloom example, enable composition motion, and press Play. Turbulence moves blocks of the still image through earlier frames. Adjust Strength for travel, Block size for chunkiness, and Residual to bring recognizable detail back into the smear.

This is a simulated image treatment. It creates the appearance of compression-style motion without damaging the source image or corrupting a video file. You do not need Photoshop, a video clip, or a hex editor for this workflow.

Silent eight-second example: the portrait starts clean, melts into block-shaped trails, returns to the clean image at six seconds, then starts smearing again. Press play to see the reset.

Start with the example or your own photo

Open the Datamosh Bloom example. It loads the practice portrait and Datamosh together. Use Use your own image to replace the portrait while retaining the effect stack, or download the untreated practice PNG (1200 × 1600).

The portrait’s eyes, hairline, and bright cheek are useful landmarks: you can see exactly which features travel or break apart. A flat-color image has fewer details to smear. Keep the practice canvas at 1200 × 1600, with the image centered, scale 100%, and rotation 0°.

Untreated fictional adult with short dark hair and a dark shirt, facing forward against a gray background.

The existing practice portrait, before Datamosh. It is an AI-generated fictional person, reused from the portrait tutorial.

Give a still image its own motion

Expand Datamosh in Active FX. Choose Motion: Turbulence and use this recipe:

  • Strength: 0.180
  • Block size: 3.5%
  • Keyframe interval: 6.0 s
  • Residual: 3.0%
  • Evolution: 0.25 Hz
  • Seed: 37; Mix: 100%

Open Motion for Strength and choose Off so Strength holds its manual value of 0.180. Keep the effect’s Motion: Datamosh switch on. The parameter’s Off setting holds that one control; it does not switch off Datamosh’s time-dependent behavior.

Enable Composition motion. In its Timeline settings, choose 8 seconds, Simulation FPS: 30, Playback speed: 1×, and Timeline completion: Repeat. Leave Motion speed at 1×. The comparisons use Shared Pattern Sawtooth, Fit cycles: 1, phase 0°, direction Forward; Strength remains Off, and the other controls retain their manual values.

Press Play. Datamosh reuses earlier output, so its appearance depends on elapsed time. A paused first frame is clean. For the still comparisons below, return Time (s) to 0, then inspect Time (s) 2 after each control change. The renderer rebuilds the intervening history when seeking; allow it to finish before comparing.

Estimated motion is intended to follow movement between input frames. A still photograph supplies very little movement to estimate. Use Turbulence, Drift, or Swirl to give a still its own motion. Drift also uses Drift angle; that control is not needed for this Turbulence recipe.

Change the block size without changing the speed

At two seconds with the baseline recipe, the eyes drift into short trails and the face is divided into many small patches. Change only Block size to 8.0%, reset time, and inspect two seconds again.

The portrait at two seconds with larger square blocks cutting across the forehead, eyes, nose, and neck.

Block size 8.0%, with the same Strength and two-second capture time as the cover image. Larger regions move together.

The larger blocks break the face into fewer, broader pieces. They do not simply increase the distance every detail travels. Use Strength when you want faster or slower smearing; use Block size when you want to change the size of the pieces. Return to 3.5% before the next comparison.

Bring detail back with Residual

From the baseline, change only Residual to 15.0%, then inspect two seconds again.

With higher Residual, the portrait's eyes and mouth remain clearer while small block trails persist around the hair and cheeks.

Residual 15.0%, with Block size restored to 3.5%. More of the current image returns as the history evolves.

Higher Residual restores recognizable features instead of leaving long trails everywhere. It is useful when the subject must remain readable. It does not change the block grid. Return to 3.0% for the longer melting trails shown in the video.

Reset the smear at a predictable time

Keyframe interval: 6.0 s restores a clean frame every six seconds. The eight-second video deliberately includes that reset. It is part of the effect recipe, not an accidental playback failure.

Here, “keyframe” means a refresh of the image history. It is not a keyframe-animation editor. A value of 0 disables the periodic refresh; the smear then continues accumulating until another reset, such as restarting the composition. Residual blends current detail back gradually, while Keyframe interval restores it at a particular time.

To start again manually, return Time to 0. Returning to another nonzero time rebuilds the corresponding history; it does not show a fresh clean image at that point. Check the end-to-start transition when repeating or exporting: a repeating file is not automatically a seamless loop.

Export a GIF or MP4 in the browser

Open Settings → Export Settings → Quick Export. Enable Include animation, choose MP4, then set Optimization: Custom, Size: Maximum edge, and Maximum edge: 800 px. Use Quality: 80, Frame rate: 30, and Document background. Close Settings and choose Quick Export → MP4.

The pictured example exports as 600 × 800, 8 seconds, and 240 frames. Quick Export uses the whole timeline. Browser export is included; the separate Full Export dialog with previews, templates, and custom time ranges belongs to desktop Artfkt. MP4 availability depends on the browser/device.

For GIF, select GIF in Quick Export settings, keep Maximum edge at 800, and choose 15 fps, 256 colors, Dithering on, and Loop: Forever. Use Quick Export → GIF. Our verified eight-second GIF contained 120 frames and was about 22.2 MB; this example’s MP4 was about 1.17 MB. Reduce the dimensions or duration if a GIF is too large. File sizes vary with the image and settings.

Fix a result that looks wrong

Nothing moves. Press Play and check Composition motion and Motion: Datamosh. On a still, choose a synthetic motion field rather than Estimated. Strength at zero also stops block travel.

The face disappears too quickly. Reduce Strength or raise Residual. Start by changing one of them, reset time, then inspect the same second again.

The image suddenly becomes clean. Check Keyframe interval and timeline repetition. Both can restart the buildup.

The still export looks untreated. A PNG exported at time zero captures the clean first frame. Move to a later time and wait for the preview to finish, or export the full animation.

Read the Datamosh effect guide for the controls, or try the static glitch portrait walkthrough for colored edges and horizontal breaks. RGB Split versus Block Displacement helps distinguish those treatments from history-based smearing.

Open the Datamosh Bloom example, then apply the timing and fixed-Strength adjustments above to reproduce this tutorial.

How these examples were made

Artfkt’s production engine rendered the same 1200 × 1600 portrait at 30 simulation frames per second using WebGPU. Each still comparison starts from fresh history and is captured at two seconds; only the named control changes. The MP4 and GIF use the product’s export pipeline and were checked locally. Device and encoder differences can change the result.

The practice portrait is an existing AI-generated fictional person. AI assisted the article and capture tooling; Datamosh itself produced the block motion, comparisons, and exported animations.