CSS Wave Generator - Online Animated SVG & Keyframes
Create smooth, animated CSS waves (like water or sound) by adjusting amplitude, colors, and speed. Copy the ready‑to‑use SVG/CSS code.
UD5 Toolkit
stroke-dasharray and stroke-dashoffset to control which parts of a path are visible, creating the illusion of a pen tracing the outline. This technique is widely used for logo animations, icon reveals, and artistic web effects.stroke-dasharray defines the pattern of dashes and gaps on a stroke. For line animations, you set it to the total path length so the entire path becomes one long "dash." stroke-dashoffset shifts this dash pattern. By animating stroke-dashoffset from the path length down to 0, the dash appears to gradually reveal the entire path. The path length is obtained using JavaScript's getTotalLength() method.<path> elements within your SVG can be animated together. Simply apply the same CSS animation class to each path, or use a group selector. Each path will need its own stroke-dasharray value matching its individual length. Our tool automatically calculates lengths for all paths in your SVG and generates the appropriate CSS rules.getTotalLength() method has near-universal support. For IE11, a polyfill or fallback may be needed.animation-iteration-count property to infinite. In our tool, select "infinite (loop)" from the Iterations dropdown. For a smooth continuous loop, you may also want to use the alternate animation direction, which makes the line draw and then undraw in a seamless cycle.getTotalLength() method on SVG <path> elements. Simply select the path element and call this method to get its exact length in user units. For example: document.querySelector('path').getTotalLength(). This tool automatically performs this calculation for you and displays the result in the preview area.<path> elements or the entire SVG code. Paste it into our Custom input area. The tool will automatically extract all paths, calculate their lengths, and generate animation code. For best results, use outlined/stroked artwork rather than filled shapes.stroke-dasharray value is smaller than the actual path length, causing the dash to repeat. Always use getTotalLength() for accuracy. (2) The path has multiple disconnected sub-paths (multiple 'M' commands) — getTotalLength() sums all sub-paths, but each sub-path animates simultaneously. (3) Stroke-linecap rounding can cause slight visual artifacts at path endpoints.Create smooth, animated CSS waves (like water or sound) by adjusting amplitude, colors, and speed. Copy the ready‑to‑use SVG/CSS code.
Draw and edit SVG vector graphics in the browser. Basic shapes, text, and freehand. Export raw SVG code or as a file. No server, fully local.
Upload multiple SVGs and combine them into a single icon font (TTF, WOFF). Also get the CSS classes. Client‑side conversion.
Paste an HTML snippet and convert it into an SVG image that visually replicates the DOM. Useful for creating static snapshots. Local canvas rendering.
Parse an SVG path’s d attribute and list all the commands and absolute coordinates. Convert relative to absolute. Local.
Assign a CSS class to any emoji and generate a snippet that displays the emoji as a background image or pseudo element. Useful for icon systems.
Create vertically oriented text layouts with `writing‑mode`. See the effect and copy the complete CSS. For vertical languages.
Transform normal sentences into cutesy UwU speak. Customizable intensity. Internet fun.
Turn every line of a text file into a separate JSON object in a JSONL file. Configure key name and add line numbers. Perfect for data importing.
Convert between emoji characters and their shortcode representations (e.g., :tada: to 🎉). Supports Slack and GitHub styles.
Extract a few seconds from a video and convert to a short looping GIF. Use browser video decoder.
Map CSV columns with latitude/longitude to GeoJSON points. Create map‑ready data instantly. All local.
Create a fake WhatsApp/iMessage chat screenshot. Customize names, messages, and timestamps. Just for fun.
Convert HTML to plain text while preserving paragraph breaks. Remove images, links, and scripts. Quick data extraction.
Use your webcam to record a video clip and download it as WebM. Adjust resolution and see a preview. Works offline.
Use your webcam to record a video clip and download it as WebM. Adjust resolution. Works offline. Privacy‑friendly.
Encrypt and decrypt text using the browser's Web Crypto API. Supports AES‑GCM and subtle key generation. No server required.
Convert standard Markdown into Slack’s mrkdwn format. Fixes bold, italic, and lists for perfect Slack message formatting.
Sign a message with a private key and verify the signature with the public key. Learn digital signature flow.
Attempt to detect your current DNS resolver IPs using DNS‑leak test queries. Educational. Privacy‑friendly.
Create a realistic fake text message conversation. Choose iOS or Android style, set contact name, messages, and times. For laughs.
Paste a data: URL and instantly download the file it represents. Supports all MIME types. Simple extraction.
Click a letter and watch an animated stroke order for print or cursive. Good for kids learning to write.
Create the iPhone Dynamic Island look‑alike with a pill that expands on hover. Pure CSS. Copy the playful code.
Paste an SVG and get an optimized, URL‑encoded data URI for use in CSS backgrounds. Reduces file size and escapes characters.
Convert an SVG into a data‑URI for mask‑image or mask‑position. Create non‑destructive clipping masks via CSS.
Adjust a brightness threshold slider and see the live vector trace of an image. Export as SVG. Potrace‑style.
Paste an SVG path and calculate its total length. Useful for stroke‑dasharray animations and drawing effects.
Type text and convert each letter into vector SVG paths. Perfect for logos and animations. Canvas‑based.
Paste an SVG path and convert all relative commands to absolute. Also smooth curves to lines. Local parser.