{"id":1713,"date":"2026-09-07T09:13:00","date_gmt":"2026-09-07T13:13:00","guid":{"rendered":"https:\/\/www.xconvert.com\/blog\/?p=1713"},"modified":"2026-08-31T17:09:05","modified_gmt":"2026-08-31T21:09:05","slug":"make-a-gif-from-photos","status":"publish","type":"post","link":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos","title":{"rendered":"How to Make an Animated GIF From Photos and Burst Shots"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">You shot a burst of your dog mid-jump, or you have a folder of numbered timelapse frames \u2014 and you want the little looping animation everyone can see inline, no video player, no app. That\u2019s a GIF. The catch nobody tells you up front: one photo can never become an animation \u2014 a GIF that moves is a <em>sequence of frames<\/em>, so a converter needs several images to work with, and the frame order is yours to set. This guide covers which tool to point at which source, how to order the frames, how fast to play them, and the color tradeoff behind how photo GIFs look \u2014 every capability and number checked against the live tools and the GIF89a specification.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Quick answer:<\/strong> An animated GIF is a <em>sequence<\/em> of frames shown in order, so you need <strong>more than one image<\/strong> \u2014 feed a converter a single still and all it can write is a one-frame, static <code>.gif<\/code>. For loose photos, upload them all to the <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">xconvert Image to GIF converter<\/a> and leave <strong>Combine?<\/strong> on its default, <strong>Single animation<\/strong>: it stitches every uploaded image into one looping GIF, with <strong>Framerate<\/strong> deciding how long each frame holds. (Switch Combine? to <strong>Individual files<\/strong> to get one GIF per photo instead.) If your moment is already a clip \u2014 an iPhone <strong>Live Photo<\/strong>, an Android <strong>Motion Photo<\/strong>, a phone video \u2014 send it to the <a href=\"https:\/\/www.xconvert.com\/convert-video-to-gif\">Video to GIF converter<\/a> instead. Both open on <strong>File Compression \u2192 Quality preset (High (Recommended))<\/strong>, with the palette and resolution knobs one click away under <strong>Custom<\/strong>.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Jump to a section<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"#why\">What actually turns a stack of photos into animation<\/a><\/li><li><a href=\"#bursts\">iPhone bursts, Live Photos &amp; Android Motion Photos<\/a><\/li><li><a href=\"#order\">Loose stills: get the frame order right<\/a><\/li><li><a href=\"#speed\">Frame rate, speed, and looping<\/a><\/li><li><a href=\"#colors\">The 256-color tax: why photo GIFs look banded<\/a><\/li><li><a href=\"#tool\">Make your animated GIF on xconvert<\/a><\/li><li><a href=\"#faq\">FAQ<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why\">What actually turns a stack of photos into animation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A GIF that moves is a stack of images (frames) shown one after another, each held on screen for a set moment. The GIF format stores that timing per frame: the GIF89a Graphic Control Extension carries a <strong>Delay Time<\/strong> field that, per the <a href=\"https:\/\/www.w3.org\/Graphics\/GIF\/spec-gif89a.txt\">W3C specification<\/a>, \u201cspecifies the number of hundredths (1\/100) of a second to wait before continuing\u201d to the next frame. In other words, animation is nothing more than <em>frames plus per-frame delays<\/em> \u2014 a miniature video.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That single fact tells you what a converter needs: <strong>more than one frame<\/strong>. Hand it one image and one frame is all it can write \u2014 a static <code>.gif<\/code>, which is a perfectly good thing to want but isn\u2019t animation. Hand it several and it has a sequence to time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">xconvert\u2019s <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">Image to GIF converter<\/a> sits exactly on that line, and which side you land on depends on how many files you upload:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Several images \u2192<\/strong> the <strong>Combine?<\/strong> control, which is set to <strong>Single animation<\/strong> by default, merges every uploaded photo into one animated GIF. The page\u2019s own note spells it out: \u201cSelect <strong>Single animation<\/strong> to combine all uploaded images into a single animation. Use <strong>Individual files<\/strong> to create a separate animation for each individual file.\u201d <strong>Framerate<\/strong> sets how long each frame holds.<\/li><li><strong>One image \u2192<\/strong> nothing to sequence, so you get a single-frame, static GIF. That\u2019s the right tool when some form or app simply demands a <code>.gif<\/code> extension.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">So there are two honest routes to a moving GIF, and the one you take depends on what your \u201cphotos\u201d already are. Loose stills go straight to the image converter. A moment that\u2019s already a clip goes to the video converter. The spec is blunt about the ceiling either way, noting GIF \u201cis not intended as a platform for animation, even though it can be done in a limited way.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The good news: most of the \u201cphotos\u201d people want to animate are already sequences under the hood.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bursts\">iPhone bursts, Live Photos &amp; Android Motion Photos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three of the most common \u201cI want a GIF of this\u201d sources are already motion clips or rapid sequences:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>iPhone Live Photo.<\/strong> Per <a href=\"https:\/\/support.apple.com\/en-us\/104966\">Apple<\/a>, a Live Photo records \u201c1.5 seconds before and after\u201d you press the shutter \u2014 a roughly 3-second motion clip bundled with the still. On iOS you can <strong>Save as Video<\/strong> (or share it as a video), which gives you a clean file to convert.<\/li><li><strong>Android Motion Photo<\/strong> (Pixel, Samsung Galaxy). Same idea \u2014 a still paired with a short video clip. Save or export the video portion.<\/li><li><strong>iPhone Burst.<\/strong> Per <a href=\"https:\/\/support.apple.com\/guide\/iphone\/take-burst-mode-shots-ipha42c55cd0\/ios\">Apple<\/a>, Burst mode captures \u201cmultiple high-speed photos\u201d in rapid succession and stores them as a stack. Those frames are milliseconds apart \u2014 exactly what an animation wants \u2014 and they stay individual stills, which is fine: they go straight to the image converter.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That splits the three cleanly. A <strong>Live Photo or Motion Photo<\/strong> saves as a video in one tap, so send it to the <a href=\"https:\/\/www.xconvert.com\/convert-video-to-gif\">Video to GIF converter<\/a>. A <strong>burst<\/strong> is already a stack of frames \u2014 select them all, drop them into the <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">Image to GIF converter<\/a>, and leave <strong>Combine?<\/strong> on <strong>Single animation<\/strong>. (Apple\u2019s <strong>Shortcuts<\/strong> app also has a \u201cBurst to GIF\u201d gallery action with a <em>seconds-per-photo<\/em> setting, which is quicker on the phone but gives you less control over frame rate, size, and palette; there\u2019s no native Android equivalent.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"order\">Loose stills: get the frame order right<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your frames are genuinely separate files \u2014 timelapse exports, <code>render_0001.png<\/code> \u2026 <code>render_0500.png<\/code>, a set of product angles, a photo-a-day series \u2014 hand them all to the <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">Image to GIF converter<\/a> in one upload and leave <strong>Combine?<\/strong> on <strong>Single animation<\/strong>. No slideshow-assembly step in between. Two things then decide whether the animation plays in the sequence you meant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First: <strong>frames follow the order of the cards on the page, and that list is drag-sortable.<\/strong> Every uploaded file becomes a card; grab one and drag it up or down and you\u2019ve changed the frame order. Whatever order the browser hands your picker selection over in is only the starting point \u2014 the final say is yours, so scan the list top to bottom before you hit Convert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Second: a consistent naming scheme makes that starting order predictable, so you\u2019re nudging one or two cards instead of rebuilding the whole sequence.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Zero-padded numbers just work.<\/strong> <code>frame_0001<\/code> through <code>frame_0500<\/code> sort the same alphabetically as numerically, so timelapse and render exports tend to land in the right order already.<\/li><li><strong>Camera filenames may not.<\/strong> <code>IMG_209.jpg<\/code> sorts <em>before<\/em> <code>IMG_2031.jpg<\/code> because text sorts character by character, not by the moment captured. If sequence matters, rename with a consistent zero-padded prefix \u2014 <code>01_<\/code>, <code>02_<\/code>, <code>03_<\/code> \u2026 \u2014 before you upload. Two minutes of renaming beats dragging fifty cards.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"speed\">Frame rate, speed, and looping<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two controls decide how your GIF <em>feels<\/em>: how fast frames advance, and whether it repeats.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Frame rate.<\/strong> Because GIF timing is a per-frame delay in hundredths of a second (see <a href=\"#why\">above<\/a>), \u201cframe rate\u201d really means \u201chow long each frame shows,\u201d quantized to those 1\/100-second steps \u2014 which is why converters offer fixed presets, not a free slider. For motion that reads as smooth without bloating the file, <strong>10\u201315 frames per second<\/strong> is the practical sweet spot. xconvert\u2019s <strong>Framerate<\/strong> control \u2014 the same dropdown on both the image and video converters, and visible without opening anything else \u2014 runs from <strong>1 FPS (Slideshow)<\/strong> and <strong>2 FPS (Slow)<\/strong> through <strong>10 FPS (Recommended)<\/strong> to <strong>30 FPS (Smooth)<\/strong> and <strong>50 FPS (Max Speed)<\/strong>. Pick a low value for a deliberate slideshow flip, 10\u201315 for a burst or clip that should look like continuous motion. More frames per second means a bigger file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Looping.<\/strong> Here\u2019s a subtlety most guides get wrong: the GIF89a specification itself defines <strong>no<\/strong> looping \u2014 only per-frame delays and disposal methods. Continuous repetition is a later add-on, the <strong>Netscape Application Extension<\/strong>, which stores a loop count where <strong>0 means repeat forever<\/strong>; per <a href=\"https:\/\/en.wikipedia.org\/wiki\/GIF\">the format\u2019s history<\/a>, it first appeared in Netscape Navigator 2.0 and every browser adopted it. In practice that\u2019s why GIFs autoplay and loop endlessly by default \u2014 you rarely have to set anything.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"colors\">The 256-color tax: why photo GIFs look banded<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the tradeoff to make peace with before you convert. A GIF stores <strong>at most 256 colors per frame<\/strong> \u2014 8 bits per pixel, per the <a href=\"https:\/\/www.w3.org\/Graphics\/GIF\/spec-gif89a.txt\">W3C GIF89a spec<\/a> \u2014 chosen from the full 24-bit RGB space. Your photos can hold up to 16.7 million colors, so the converter has to <em>quantize<\/em>: pick a 256-color palette and snap every pixel to the nearest match.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For photographs that shows up as <strong>banding<\/strong> \u2014 skies, skin tones, and gradients break into visible steps, because 256 slots can\u2019t render a continuous ramp. The quickest lever against it is <strong>File Compression \u2192 Quality preset<\/strong>, which opens on <strong>High (Recommended)<\/strong> on both converters \u2014 step it up to <strong>Very High<\/strong> or <strong>Highest<\/strong> and the quantizer gets more room. For hand control, switch <strong>File Compression<\/strong> to <strong>Custom<\/strong>: that reveals <strong>Colors<\/strong>, where <strong>By Color Reduction + Dither<\/strong> scatters adjacent palette colors to fake the in-between shades. Dithering softens banding at the cost of a grainier, larger file, but never removes it entirely. GIF transparency is binary too \u2014 a pixel is fully opaque or fully clear, with no soft alpha edges.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So set expectations: <strong>a photo-realistic clip always looks better, and weighs far less, as MP4 or WebP<\/strong> \u2014 a short clip that\u2019s a couple of megabytes as MP4 can balloon to tens of megabytes as the same-size GIF (our <a href=\"https:\/\/www.xconvert.com\/blog\/gif-vs-mp4-file-size\">GIF vs MP4 file size<\/a> breakdown covers why). You choose GIF anyway for one reason: it\u2019s the only animated image format that plays <em>inline<\/em>, as a plain image, in essentially every browser, chat app, email client, and CMS \u2014 no player, no plugin. That universal reach is the point; photographic fidelity isn\u2019t.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tool\">Make your animated GIF on xconvert<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pick the converter that matches what you\u2019re holding. Both share the same options panel \u2014 <strong>File Compression<\/strong> and <strong>Framerate<\/strong> on screen, everything else behind <strong>Custom<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2000\" src=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/step-01-control-1.png\" alt=\"The Video to GIF converter's Advanced Options with File Compression switched to Custom \u2014 Image resolution, Image Quality (%), Framerate and Colors together\" class=\"wp-image-1712\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/step-01-control-1.png 2560w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/step-01-control-1-300x234.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/step-01-control-1-1024x800.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/step-01-control-1-768x600.png 768w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/step-01-control-1-1536x1200.png 1536w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/step-01-control-1-2048x1600.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>From loose photos (bursts, timelapse frames, a photo series):<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">xconvert.com\/convert-image-to-gif<\/a> and click <strong>Upload<\/strong>, selecting <strong>all<\/strong> your photos at once \u2014 the picker is multi-select, and you can drag a whole set onto the page.<\/li><li>Check the card order in the list and drag any frame that\u2019s out of sequence into place. This is the order the animation plays in.<\/li><li>Leave <strong>Combine?<\/strong> on <strong>Single animation<\/strong> \u2014 that\u2019s the setting that merges the uploads into one moving GIF. (<strong>Individual files<\/strong> would give you one GIF per photo instead.)<\/li><li>Set <strong>Framerate<\/strong> \u2014 <strong>10 FPS (Recommended)<\/strong> is a good default; drop to <strong>2 FPS (Slow)<\/strong> or <strong>1 FPS (Slideshow)<\/strong> for a deliberate photo-flip, raise toward 15 for smoother motion.<\/li><li>Leave <strong>File Compression<\/strong> on <strong>Quality preset \u2192 High (Recommended)<\/strong>, or step it to <strong>Very High<\/strong> \/ <strong>Highest<\/strong> for photographic frames. If the GIF has to fit a size limit, choose <strong>Max file size<\/strong> and set <strong>Size limit<\/strong> \u2014 type a number under <strong>Custom size value<\/strong>, or take the <strong>Discord (10 MB max)<\/strong> \/ <strong>Email (25 MB max)<\/strong> \/ <strong>Forum (2 MB max)<\/strong> presets; you name the target and the converter searches for settings that land at or under it.<\/li><li>Want the knobs? Set <strong>File Compression<\/strong> to <strong>Custom<\/strong> to reveal <strong>Image resolution<\/strong> (<strong>Width (Keep aspect ratio)<\/strong> is the big size saver), <strong>Image quality (%)<\/strong> (starts at 80), and <strong>Colors<\/strong> (<strong>ORIGINAL<\/strong> or <strong>By Color Reduction + Dither<\/strong>).<\/li><li>Click <strong>Convert<\/strong>, then download your looping <code>.gif<\/code>.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>From a clip (Live Photo, Motion Photo, phone video):<\/strong> open the <a href=\"https:\/\/www.xconvert.com\/convert-video-to-gif\">Video to GIF converter<\/a> instead and follow steps 4\u20137 above \u2014 the panel is identical minus the <strong>Combine?<\/strong> control. One difference worth knowing: there\u2019s <strong>no trim control on the converter<\/strong>, so cut the clip to the two or three seconds worth keeping in the <a href=\"https:\/\/www.xconvert.com\/video-cutter\">video cutter<\/a> <em>first<\/em>. Length is still the single biggest lever on file size. For the full frame-rate\/width\/colors budget, our <a href=\"https:\/\/www.xconvert.com\/blog\/how-to-convert-mp4-to-gif-high-quality\">MP4 to GIF high-quality guide<\/a> walks through it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your files upload over an encrypted connection, are processed on our servers, and are deleted automatically a few hours later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Just need one photo saved <em>as<\/em> a <code>.gif<\/code> file?<\/strong> Upload a single image to the same <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">Image to GIF converter<\/a> \u2014 with nothing to sequence, you get one static frame, which is exactly what a form or app demanding the <code>.gif<\/code> extension wants. (If the destination accepts PNG, that keeps every color and is the better choice for a non-animated graphic.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<h5 class=\"wp-block-heading\">How do I make a GIF from a series of photos?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Upload them <strong>all at once<\/strong> to the <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">Image to GIF converter<\/a> and leave <strong>Combine?<\/strong> on its default, <strong>Single animation<\/strong> \u2014 that merges every uploaded photo into one animated GIF, with <strong>Framerate<\/strong> setting how long each frame holds. Drag the file cards into the order you want before converting; that list order is the frame order. You don\u2019t need to assemble a video first. If your \u201cphotos\u201d are already a clip \u2014 a Live Photo saved as video, an Android Motion Photo, a phone recording \u2014 use the <a href=\"https:\/\/www.xconvert.com\/convert-video-to-gif\">Video to GIF converter<\/a> instead. Upload just <strong>one<\/strong> image and there\u2019s nothing to sequence, so you get a static, one-frame GIF.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">How many photos do I need for a GIF?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Enough frames to read as motion. At <strong>10 frames per second<\/strong> \u2014 a smooth default \u2014 one second of animation is about 10 frames, two seconds about 20. An iPhone burst captures a rapid stack that\u2019s usually plenty; a dozen-plus frames gives a fluid short loop. Fewer frames plays choppier; more is smoother but a bigger file.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Can I turn iPhone burst photos into a GIF?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. A burst is a rapid stack of stills \u2014 exactly the frames an animation needs. Select the whole burst, upload it to the <a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">Image to GIF converter<\/a>, and leave <strong>Combine?<\/strong> on <strong>Single animation<\/strong>. The quickest on-device alternative is Apple\u2019s <strong>Shortcuts<\/strong> app (\u201cBurst to GIF\u201d), which builds the GIF locally and lets you set seconds-per-photo, but it gives you less control over frame rate, dimensions, and palette \u2014 and there\u2019s no Android equivalent.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Why does my photo GIF look grainy or banded?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Because GIF caps each frame at <strong>256 colors<\/strong>. Photos hold millions, so smooth gradients in skies and skin collapse into visible steps. The one-click improvement is raising <strong>File Compression \u2192 Quality preset<\/strong> from <strong>High (Recommended)<\/strong> to <strong>Very High<\/strong> or <strong>Highest<\/strong>; for hand control, switch File Compression to <strong>Custom<\/strong> and turn on <strong>dithering<\/strong> under <strong>Colors<\/strong>, which softens banding by scattering palette colors but never fully removes it. For photo-realistic motion, MP4 or WebP looks better and weighs far less; choose GIF when you specifically need something that autoplays inline everywhere.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Will the photos play in the right order?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Frames follow the <strong>order of the file cards on the page<\/strong>, and that list is drag-sortable \u2014 so the final say is yours: drag any card up or down before you convert. Filenames only set the <em>starting<\/em> order, and they can lie: <code>IMG_209<\/code> sorts before <code>IMG_2031<\/code> because text sorts character by character, not by the moment captured. Zero-padded names (<code>frame_0001<\/code>, <code>frame_0002<\/code> \u2026) start out in the right order on their own; anything else is worth renaming with a <code>01_<\/code>, <code>02_<\/code> prefix before you upload.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Does a GIF loop automatically?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Almost always, yes. The GIF89a spec itself defines no looping, but the near-universal <strong>Netscape Application Extension<\/strong> stores a loop count where <strong>0 = repeat forever<\/strong>, and virtually every GIF is written that way. So an animated GIF autoplays and loops endlessly in browsers, chat, and email without you setting anything.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Last verified 2026-08-31.<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.w3.org\/Graphics\/GIF\/spec-gif89a.txt\">W3C \u2014 GIF89a Specification<\/a> \u2014 the 256-color \/ 8-bits-per-pixel palette cap; the Graphic Control Extension \u201cDelay Time\u201d field in 1\/100-second units (per-frame timing); the note that GIF \u201cis not intended as a platform for animation\u201d; and that the spec defines no looping mechanism.<\/li><li><a href=\"https:\/\/en.wikipedia.org\/wiki\/GIF\">Wikipedia \u2014 GIF<\/a> \u2014 the de-facto looping mechanism: the Netscape Application Extension loop count (0 = repeat forever), introduced in Netscape Navigator 2.0, which is not part of the core GIF89a spec.<\/li><li><a href=\"https:\/\/support.apple.com\/en-us\/104966\">Apple Support \u2014 Take and edit Live Photos<\/a> \u2014 a Live Photo records 1.5 seconds before and after the shutter (a ~3-second motion clip).<\/li><li><a href=\"https:\/\/support.apple.com\/guide\/iphone\/take-burst-mode-shots-ipha42c55cd0\/ios\">Apple Support \u2014 Capture action shots with Burst mode<\/a> \u2014 Burst captures multiple high-speed photos in rapid succession, stored as a stack of stills.<\/li><li><a href=\"https:\/\/www.xconvert.com\/convert-image-to-gif\">xconvert Image to GIF converter<\/a> \u2014 controls verified 2026-08-31 against the live option set: <strong>Combine?<\/strong> (<strong>Single animation<\/strong>, preselected, \u201ccombine all uploaded images into a single animation\u201d \/ <strong>Individual files<\/strong>), <strong>Framerate<\/strong> (1 FPS Slideshow \u2192 50 FPS Max Speed; <strong>10 FPS Recommended<\/strong> preselected), and <strong>File Compression<\/strong> (<strong>Quality preset<\/strong>, default <strong>High (Recommended)<\/strong> \/ <strong>Custom<\/strong> \/ <strong>Max file size<\/strong>) render by default; <strong>Image quality (%)<\/strong> (default 80), <strong>Image resolution<\/strong> and <strong>Colors<\/strong> (ORIGINAL \/ By Color Reduction + Dither) render only in <strong>Custom<\/strong> mode. A multi-image upload routes to the animated maker; a single image stays on the still path and produces a one-frame GIF.<\/li><li><a href=\"https:\/\/www.xconvert.com\/convert-video-to-gif\">xconvert Video to GIF converter<\/a> \u2014 same panel minus <strong>Combine?<\/strong>, verified 2026-08-31. There is no trim control on this page.<\/li><li><a href=\"https:\/\/www.xconvert.com\/video-cutter\">xconvert Video Cutter<\/a> \u2014 the separate tool for shortening a clip before conversion.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Turn iPhone bursts, Live Photos, or a numbered photo sequence into a shareable animated GIF \u2014 the honest, reliable route and the frame-order trick.<\/p>\n","protected":false},"author":3,"featured_media":1711,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,14],"tags":[],"class_list":["post-1713","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-guides","category-tools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Make an Animated GIF From Photos and Burst Shots<\/title>\n<meta name=\"description\" content=\"Turn iPhone bursts, Live Photos, or a numbered photo sequence into a shareable animated GIF \u2014 the honest, reliable route and the frame-order trick.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Make an Animated GIF From Photos and Burst Shots\" \/>\n<meta property=\"og:description\" content=\"Turn iPhone bursts, Live Photos, or a numbered photo sequence into a shareable animated GIF \u2014 the honest, reliable route and the frame-order trick.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos\" \/>\n<meta property=\"og:site_name\" content=\"XConvert Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/xconvertcom\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-07T13:13:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/featured-102.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"James\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@xconvert_com\" \/>\n<meta name=\"twitter:site\" content=\"@xconvert_com\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos\"},\"author\":{\"name\":\"James\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\"},\"headline\":\"How to Make an Animated GIF From Photos and Burst Shots\",\"datePublished\":\"2026-09-07T13:13:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos\"},\"wordCount\":2738,\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/featured-102.png\",\"articleSection\":[\"How To Guides\",\"Tools\"],\"inLanguage\":\"en-CA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos\",\"name\":\"How to Make an Animated GIF From Photos and Burst Shots\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/featured-102.png\",\"datePublished\":\"2026-09-07T13:13:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\"},\"description\":\"Turn iPhone bursts, Live Photos, or a numbered photo sequence into a shareable animated GIF \u2014 the honest, reliable route and the frame-order trick.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos#primaryimage\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/featured-102.png\",\"contentUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/featured-102.png\",\"width\":2400,\"height\":1260,\"caption\":\"The xconvert Video to GIF converter at \\\/convert-video-to-gif with the Upload button highlighted \u2014 turn a burst or photo clip into an animated GIF.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/make-a-gif-from-photos#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.xconvert.com\\\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Make an Animated GIF From Photos and Burst Shots\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/\",\"name\":\"XConvert Blog\",\"description\":\"Blog for XConvert file converter\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\",\"name\":\"James\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g\",\"caption\":\"James\"},\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/author\\\/james\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Make an Animated GIF From Photos and Burst Shots","description":"Turn iPhone bursts, Live Photos, or a numbered photo sequence into a shareable animated GIF \u2014 the honest, reliable route and the frame-order trick.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos","og_locale":"en_US","og_type":"article","og_title":"How to Make an Animated GIF From Photos and Burst Shots","og_description":"Turn iPhone bursts, Live Photos, or a numbered photo sequence into a shareable animated GIF \u2014 the honest, reliable route and the frame-order trick.","og_url":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos","og_site_name":"XConvert Blog","article_publisher":"https:\/\/www.facebook.com\/xconvertcom","article_published_time":"2026-09-07T13:13:00+00:00","og_image":[{"width":2400,"height":1260,"url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/featured-102.png","type":"image\/png"}],"author":"James","twitter_card":"summary_large_image","twitter_creator":"@xconvert_com","twitter_site":"@xconvert_com","twitter_misc":{"Written by":"James","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos#article","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos"},"author":{"name":"James","@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845"},"headline":"How to Make an Animated GIF From Photos and Burst Shots","datePublished":"2026-09-07T13:13:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos"},"wordCount":2738,"image":{"@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/featured-102.png","articleSection":["How To Guides","Tools"],"inLanguage":"en-CA"},{"@type":"WebPage","@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos","url":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos","name":"How to Make an Animated GIF From Photos and Burst Shots","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos#primaryimage"},"image":{"@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/featured-102.png","datePublished":"2026-09-07T13:13:00+00:00","author":{"@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845"},"description":"Turn iPhone bursts, Live Photos, or a numbered photo sequence into a shareable animated GIF \u2014 the honest, reliable route and the frame-order trick.","breadcrumb":{"@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos#primaryimage","url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/featured-102.png","contentUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/07\/featured-102.png","width":2400,"height":1260,"caption":"The xconvert Video to GIF converter at \/convert-video-to-gif with the Upload button highlighted \u2014 turn a burst or photo clip into an animated GIF."},{"@type":"BreadcrumbList","@id":"https:\/\/www.xconvert.com\/blog\/make-a-gif-from-photos#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.xconvert.com\/blog"},{"@type":"ListItem","position":2,"name":"How to Make an Animated GIF From Photos and Burst Shots"}]},{"@type":"WebSite","@id":"https:\/\/www.xconvert.com\/blog\/#website","url":"https:\/\/www.xconvert.com\/blog\/","name":"XConvert Blog","description":"Blog for XConvert file converter","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.xconvert.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":"Person","@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845","name":"James","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/secure.gravatar.com\/avatar\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g","caption":"James"},"url":"https:\/\/www.xconvert.com\/blog\/author\/james"}]}},"_links":{"self":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/1713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/comments?post=1713"}],"version-history":[{"count":2,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/1713\/revisions"}],"predecessor-version":[{"id":1780,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/1713\/revisions\/1780"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media\/1711"}],"wp:attachment":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media?parent=1713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/categories?post=1713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/tags?post=1713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}