FreeToolsKit
FreeToolsKit
Image Format ConverterBeautify & MinifyPDF Tools
ss

CSS to SASS Converter

Convert CSS code to SASS (indented syntax) and SCSS with intelligent selector nesting, variable extraction, and formatting options.

Load Preset:
Input CSS(74 lines • 1284 bytes)
Output SASS(53 lines • 1175 bytes)-8% size
/* Modern Card Component */
:root
  --primary-color: #4f46e5
  --bg-card: #ffffff
  --text-dark: #0f172a

.card
  display: flex
  flex-direction: column
  background-color: $bg-card
  border: 1px solid #e2e8f0
  border-radius: 12px
  padding: 24px
  transition: all 0.2s ease-in-out
  &:hover
    border-color: $primary-color
    box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.15)
    transform: translateY(-2px)
  &.is-active
    border-width: 2px
    border-color: $primary-color
  .card__header
    display: flex
    align-items: center
    justify-content: space-between
    margin-bottom: 16px
  .card__title
    font-size: 1.25rem
    font-weight: 700
    color: $text-dark
  .card__badge
    font-size: 0.75rem
    padding: 4px 8px
    border-radius: 9999px
    background-color: #e0e7ff
    color: $primary-color
  .card__body
    font-size: 0.875rem
    color: #64748b
    line-height: 1.6
  .card__footer
    margin-top: 20px
    display: flex
    gap: 12px
  &--featured
    background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%)
    border-color: #c7d2fe

@media (max-width: 640px)
  .card
    padding: 16px
    .card__footer
      flex-direction: column

Intelligent Selector Nesting

Automatically nests child selectors, pseudo-classes (:hover, :focus), and BEM modifier syntax using the & parent selector.

SASS & SCSS Support

Switch effortlessly between bracketless indented SASS (.sass) and curly-bracketed modern SCSS (.scss) with custom indentation.

100% Client-Side Privacy

Every transformation runs strictly in your web browser. No stylesheet data is ever sent to external cloud servers.

What Is a CSS to SASS Converter?

A CSS to SASS Converter is a powerful developer utility that transforms standard CSS stylesheets into clean, structured SASS (Syntactically Awesome Style Sheets) or SCSS (Sassy CSS). It automatically identifies nested selector hierarchies, groups pseudo-elements and state modifiers using the & parent selector, converts CSS variables into SASS variables, and removes boilerplate syntax.

Whether you are refactoring legacy stylesheets into a modern preprocessor architecture or cleaning up modular component styles, this tool executes the entire conversion 100% client-side in your browser with zero latency and complete code privacy.


SASS vs. SCSS: What's the Difference?

When converting CSS to Sass, you can choose between two syntax specifications:

1. SASS (Indented Syntax - .sass)

The original Sass syntax uses strict indentation rather than curly brackets {} and semicolons ;. It produces an exceptionally clean, minimal codebase resembling Python or Ruby:

.card
  background: #ffffff
  padding: 1.5rem
  border-radius: 0.75rem
  &:hover
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1)
  .title
    font-size: 1.25rem
    color: #1e293b

2. SCSS (Sassy CSS - .scss)

SCSS is a CSS-compatible extension syntax that retains standard curly brackets and semicolons while unlocking nesting, variables, mixins, and mathematical operations. Every valid CSS stylesheet is already valid SCSS:

.card {
  background: #ffffff;
  padding: 1.5rem;
  border-radius: 0.75rem;

  &:hover {
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  }

  .title {
    font-size: 1.25rem;
    color: #1e293b;
  }
}

Key Features

  • Intelligent Selector Nesting: Automatically detects descendant selectors (e.g., .nav .nav-item becomes .nav { .nav-item { ... } }), drastically cutting down stylesheet redundancy.
  • Parent Referencing with &: Automatically collapses pseudo-classes (:hover, :active, :focus), pseudo-elements (::before, ::after), and state classes (.active, .disabled) under parent selectors.
  • BEM (Block Element Modifier) Recognition: Seamlessly groups Block-Element-Modifier selectors (e.g. .btn__icon and .btn--primary collapsed under .btn as &__icon and &--primary).
  • Variable Extraction: Detects repeating hex colors, rgba values, or font stacks and automatically suggests or extracts them into reusable SASS variables ($primary-color, $accent).
  • CSS Custom Property Conversion: Seamlessly converts standard var(--custom-property) tokens into native SASS $custom-property variables.
  • Format & Indentation Controls: Choose between SASS (indented) and SCSS (bracketed) formats, and customize indentation (2 spaces, 4 spaces, or tabs).
  • Live Side-by-Side Editor: Real-time conversion with split-screen preview, syntax statistics (line counts, character reduction, declaration counts), and 1-click clipboard copy.
  • 100% Client-Side Privacy: Your stylesheet never leaves your computer or browser sandbox. No server processing, no telemetry, no tracking.

How to Convert CSS to SASS in 3 Easy Steps

  1. Paste or Upload Your CSS: Paste your CSS into the input editor, click "Upload CSS", or pick one of the built-in sample templates.
  2. Select Conversion Options: Choose your preferred target syntax (SASS Indented or SCSS), enable automatic selector nesting, and configure variable extraction.
  3. Copy or Download: Instantly copy the converted code to your clipboard or download it as a .sass or .scss file ready for your project.

Conversion Example

Input (Standard CSS):

.btn {
  display: inline-flex;
  padding: 0.5rem 1rem;
  background-color: #3b82f6;
  color: #ffffff;
  border-radius: 0.375rem;
}

.btn:hover {
  background-color: #2563eb;
}

.btn .icon {
  margin-right: 0.5rem;
}

.btn--large {
  padding: 0.75rem 1.5rem;
  font-size: 1.125rem;
}

Output (Nested SASS):

.btn
  display: inline-flex
  padding: 0.5rem 1rem
  background-color: #3b82f6
  color: #ffffff
  border-radius: 0.375rem
  &:hover
    background-color: #2563eb
  .icon
    margin-right: 0.5rem
  &--large
    padding: 0.75rem 1.5rem
    font-size: 1.125rem

Frequently Asked Questions (FAQ)

Can I convert media queries with this tool?

Yes. The converter respects @media, @supports, @keyframes, and other at-rules, correctly formatting both global media queries and nested responsive blocks.

Does this tool support CSS comments?

Yes. Multi-line /* comment */ and single-line // comment structures are preserved, with an optional toggle to strip comments for smaller output size.

Will converting CSS to SASS change how my website looks?

No. SASS and SCSS compile back down to the exact same browser-rendered CSS. Nesting simply organizes your code more logically for maintainability and faster editing.

Is there a file size limit?

No. Because the conversion runs entirely on your local machine using your browser's JavaScript engine, you can convert stylesheets containing thousands of lines without hitting paywalls or timeouts.

Can I convert SASS back to CSS?

Yes, standard SASS compilers (such as sass or dart-sass in npm, Vite, Webpack, or Next.js) compile SASS/SCSS files back into standard production CSS bundles.

View all CSS Tools tools →