Generator Tools
CSS Progress Bar Generator
Generate pure CSS progress bars in your browser. Solid, gradient, striped, animated, and indeterminate variants. Copy HTML, CSS, or Tailwind.
CSS Progress Bar Generator
Progress bar style
Settings
Label
Live preview
A filled bar over a track. The fill width matches the percent. The preview uses the same CSS the copy buttons return.
Output
.progress {
position: relative;
width: 360px;
height: 16px;
background: #1f2937;
border-radius: 32px;
overflow: hidden;
}
.progress > .progress__fill {
width: 65%;
height: 100%;
background: #3b82f6;
border-radius: inherit;
transition: width 0.4s ease;
}
.progress > .progress__label {
display: block;
margin-bottom: 6px;
font: 600 13px / 1.2 system-ui, sans-serif;
color: #e2e8f0;
}Tips
- Set the corner radius to 999 px for a pill-shaped bar that matches the chip styles you see in modern dashboards. Smaller values keep the rectangular feel.
- Indeterminate is the right choice when you do not know how long an operation will take. Switch back to Solid or Striped once you can report a percent.
- Use Animated stripes for upload and install indicators where the scrolling motion reinforces that work is happening. Cap the duration around 1.2 s so the motion does not feel frantic.
- For accessibility, the generated HTML already includesrole="progressbar"with the rightaria-valuenowandaria-valuemaxso screen readers announce progress correctly.
- Pair the bar withprefers-reduced-motionin your own CSS to pause the animated stripes or shuttle for users who request reduced motion.
- Segmented progress bars work well for multi-step flows like onboarding, checkout, or sign-up. Pick segment count to match the number of steps in your flow.
How to use
- Pick a progress bar style. Each style has a tooltip and sensible defaults; clicking a style applies that family to the current settings.
- Set the progress value with the slider (or type into the number box) for any style except Indeterminate. Adjust the width, height, and corner radius to match your design; set radius to the maximum for a full pill shape.
- Pick the track color and fill color. For Gradient and Indeterminate styles, set a gradient end color and angle. For Striped and Animated, pick a stripe color and stripe width.
- Optionally turn on Segmented to split the bar into N equal blocks with a gap, then pick a label position (none, inside the bar, above, or to the right) and a label color.
- Switch the preview background between Dark, Light, and Checker to confirm the bar looks right on every page kind. The preview always uses the exact CSS the copy buttons return.
- Pick the CSS tab for the rule plus any @keyframes, the HTML tab for the markup, HTML + CSS for a paste-ready block, or Tailwind for arbitrary-value class strings. Click Copy to put it on your clipboard.
About this tool
CSS Progress Bar Generator builds a pure-CSS progress bar (HTML markup plus a self-contained CSS block, including @keyframes when the style needs animation) and renders it live using the exact CSS the tool will copy, so what you see is what you paste. Five progress bar families are included: Solid (a filled bar over a track, where the fill width matches the percent and animates smoothly when the value changes), Gradient (a solid track with a two-stop linear gradient fill at any angle for branded progress indicators), Striped (a solid fill with the Bootstrap-style 45-degree barber-pole stripes drawn by a repeating linear-gradient), Animated (striped, with the stripes scrolling under the fill on a background-position keyframe loop for upload and install states), and Indeterminate (no value, a soft shuttle slides across the track on a left-position animation for the Material-style waiting indicator used when an operation has no known duration). Every style supports an optional Segmented variant that splits the track into a chosen number of equal blocks with a gap between them, perfect for multi-step flows like onboarding, checkout, or sign-up wizards. The generator exposes the controls people actually search for: a progress value slider from 0 to 100, width and height sliders for the track size, a corner-radius slider with a pill (full radius) mode for the chip look that modern dashboards use, a track color picker, a fill color picker (or gradient start), a gradient end color and angle for the gradient and indeterminate styles, a stripe color and stripe-width slider for the striped and animated styles, an animation duration slider for the animated and indeterminate styles, segment count and segment gap when segmented mode is on, a label position picker (none, inside the bar with auto-contrasting text, above the bar, or to the right) with its own label color, and a CSS class name field so the copy output uses the selector you actually want in your project. Output is shown in four tabs: CSS only (the rule block plus any @keyframes), HTML only (the markup with role="progressbar" and the correct aria-valuenow, aria-valuemin, and aria-valuemax for screen-reader accessibility), HTML + CSS (a single block ready to paste into a sandbox or CodePen), and Tailwind (arbitrary-value class strings that work on Tailwind v3 and v4 without any custom theme entries). The preview surface switches between dark, light, and a transparent-checker background so you can confirm the bar reads well on every page kind you might ship it to. Settings, colors, and class names stay in your browser; nothing you tune is uploaded. Useful for file upload indicators, install and download progress, multi-step form wizards, onboarding flows, quiz progress, video buffering bars, page-load indicators, checkout step indicators, and any place a UI needs a polished pure-CSS progress component without dragging in a charting library.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
CSS Loading Spinner Generator
Eight pure-CSS loader styles with size, color, speed, and stroke controls.
Open tool
GeneratorCSS Skeleton Loader Generator
Build a skeleton loading screen with shimmer, pulse, or no animation and copy the HTML and CSS.
Open tool
GeneratorCSS Button Generator
Visual CSS button builder with live preview and copy-ready CSS, HTML, and Tailwind.
Open tool
GeneratorCSS Gradient Generator
Linear, radial, and conic gradients with multi-stop editor and live preview.
Open tool
GeneratorCSS Animation Generator
Visual builder for CSS keyframe animations with presets, custom steps, easing, and a live preview.
Open tool
GeneratorCSS Border Radius Generator
Visual editor for border-radius with elliptical corners and copy-ready CSS.
Open tool