SVGSketch Feature

SVG Animation Editor - SMIL Animations Online

Animate SVG on a timeline and export native SMIL with no JavaScript: transforms, opacity, color, motion paths and morphs. Open any animated SVG to check it.

Open the animation timeline

Quick answer

SVGSketch is a visual SVG animation editor. Add keyframes for transforms, opacity, color, stroke, type and path data on a timeline, preview in real time, and export self-contained SMIL that runs without JavaScript. Drop in an animated SVG and its SMIL or CSS animations appear as tracks you can scrub and edit. Authoring is free; writing an animated file out is Pro.

What the timeline writes into the file

ONE ROTATION TRACKanimateTransformattributeName="transform"type="rotate"values="0 68 50;360 68 50"calcMode="spline"keySplines="0.42 0 0.58 1"dur="3s" repeatCount="indefinite"
A track becomes SMIL This card is not a picture of an animation - it is the exported markup, running. The ease-in-out on the keyframes is what writes calcMode="spline" and its control points.
MOVE ALONG PATHIN EDIT MODE
Edit a motion path with anchors and handles The dot follows the curve using SVG <animateMotion>. Select the motion track to edit its path with anchors, Bezier handles, or the Path Editor panel. The lower example shows those editing controls.
EASING, AS EXPORTEDLinearvalues onlyEase in outkeySplinesEase out back10 keyTimesStepsdiscrete
Easing is written into the file Each curve is plotted from the attributes the exporter wrote for that easing. Bezier easings become keySplines; one that overshoots cannot, so it is sampled into keyTimes; steps becomes calcMode="discrete".
The SVGSketch animation timeline with rotation, fill color, opacity, position and stroke width tracks on three shapes
The animation timeline Five tracks on three shapes, the playhead a third of the way through a three-second loop. Every animated property is a lane of keyframes; select a track and its property, keyframe range and triggers appear on the right.

Set keyframes on the timeline

Each element and property gets its own track: position, rotation, skew, opacity, fill and stroke color, stroke width and dash offset, font size, weight, letter and word spacing, visibility, blend mode, and path data for morphing. Drag keyframes to retime them, pick one of thirty easings or draw a custom cubic-bezier, and scrub the playhead to watch the result on the canvas.

Play, pause and scrub, step from keyframe to keyframe, or toggle interactive preview (Ctrl+Enter) to exercise event-triggered tracks the way a viewer will. Timing that feels abrupt, loops that snap back and morphs whose path topology does not line up all show up here, before the file leaves the editor.

What the export writes

Export writes the native SVG animation elements: animate, animateTransform, animateMotion with an mpath reference when the motion follows another shape, set for discrete states, and discard. Your easing is lowered into what SMIL can express: Bezier easings become keySplines, an overshooting curve is sampled into keyTimes, and steps becomes calcMode="discrete". The cards above are that output, running.

SMIL is the native animation language of SVG. The file runs on its own in a browser, inside an img tag and as an inline fragment, with no stylesheet and no script, and it stays in the DOM where it can be inspected and styled.

Edit the curves of a motion path

The curve an element travels along is not a special object with a reduced set of controls. Select the motion path and you are editing a path: the same anchors, Bezier handles, segment drags and Path Editor panel as any other. Use "Pick shape" to bind the track to a shape the document already contains, and the animation follows that shape as you edit it; "Push" writes divergent edits back into the linked shape.

Morph a symbol into its own variant

The timeline can also animate an instance of a symbol from one variant to another. The export diffs the two variant trees and writes real animations for what differs - position, size, rotation, fill and stroke, path data, gradient stops - and cross-fades what it cannot interpolate. The SVG symbols page shows one running.

Open an animated SVG to check it

Drop any SVG on the canvas. Its SMIL animations become tracks on the timeline, and an animation written as CSS @keyframes plays on the same timeline and is exported as CSS again rather than converted. Scrub it, step between keyframes, read each track in the properties panel, and fix the timing or easing that looks wrong before the file ships. The SVG viewer page covers previewing any file and reading its markup.

Sound and video on the same timeline

Audio and video clips get their own lanes, with trim handles, split at the playhead, volume, mute, loop, fades and a playback rate. That is what makes the video and animated-image exports of a timeline possible, and it is why a motion graphic and its soundtrack can be edited in one place.

FAQ

Can SVGSketch export animated SVG without JavaScript?

Yes. Animations export as self-contained SMIL markup that runs in the browser without any JavaScript runtime.

How do I check an SVG animation before I ship it?

Open the file in SVGSketch. Its animations appear as tracks on the timeline, so you can play it, scrub it, step through the keyframes and read each track. Fix the timing or easing on the timeline and export again: SMIL stays SMIL, and CSS animations stay CSS.

What properties can I animate?

Position, rotation, skew, opacity (whole-element, fill and stroke separately), fill and stroke color, stroke width and dash offset, font size, weight, letter and word spacing, visibility, blend mode, path data for morphing, polyline points, and motion along a path.

Is SVG animation a Pro feature?

Building the animation is not - the timeline, keyframes, easing, motion paths and preview are all available on the free plan. Writing an animated file out is: "Include animations (SMIL)" in the SVG export options is Pro, as are GIF, APNG, animated WebP and video export.

Can I export an animation as a GIF?

Yes. SVGSketch Pro can export animated SVGs as frame-by-frame GIF for places that do not support SVG animation, along with APNG, animated WebP and video.

Can I animate an SVG along a path?

Yes. Draw or pick a path, bind the element to that motion path, preview the timing, and export native animateMotion markup - with an mpath reference to the shape when the motion is meant to track it, so editing the curve later updates the animation.

Open your SVG in SVGSketch

Start with a blank canvas, import an SVG, or use the editor as a conversion and cleanup step.

Open the animation timeline