Skip to tool
Web engineering

SCSS Formatter

Format nested Sass syntax into a stable, reviewable structure.

Web Worker Local onlyTools
Input0 characters
Result0 characters
Ready

Parser gate · source in, source out

Choose the grammar before formatting.

SCSS, indented Sass, and plain CSS are related, but they are not the same grammar. A formatter is only trustworthy when it knows which language owns the tokens.

SCSS

Recommended here

Brace syntax · .scss

$gap: 1rem;
.card { padding: $gap * 2; }

Sass

Choose another parser

Indented syntax · .sass

$gap: 1rem
.card
  padding: $gap * 2

CSS

No SassScript

Browser stylesheet

.card {
  padding: 2rem;
}
Formatter only: DevSexy reformats SCSS source. It never compiles SCSS into CSS.

Syntax specimen ledger

SCSS-only features the parser must recognize

These tokens are not decoration. They determine which grammar can parse the document without treating valid SCSS as malformed CSS.

$variables$brand: #c3caed;Reusable SassScript valuesPASS
// comments// private implementation noteA comment form plain CSS rejectsPASS
@use / @forward@use "tokens" as t;Namespaced module membersPASS
Interpolation.icon-#{$size}Computed selector or property textPASS
Mixins@include stack($gap);Reusable source-level rulesPASS
Nesting&:hover { color: $brand; }Parent selector and nested rulesPASS

Format ≠ compile

Formatting preserves the source language.

Whitespace and wrapping become stable. SassScript is not evaluated and project files are not resolved.

We do · format

$gap:1rem;.card{padding:$gap*2}

↓ FORMAT

$gap: 1rem;
.card {
  padding: $gap * 2;
}
  • Parse with the SCSS grammar
  • Normalize spacing and indentation
  • Return readable .scss source

We do not · compile

NO CSS EMISSION

  • Resolve @use or @forward paths
  • Evaluate variables, functions, or loops
  • Emit browser-ready CSS

Parser error clinic

A line and column beat a vague red box.

A real parser can point to the token that broke the grammar. Fix that boundary first; later errors are often cascading symptoms.

ParseError · line 12, column 18
10  .grid {
11    gap: $gap + 1rem;
12    width: 100% + ;
                   ^
13  }

Expected a value after the + operator. Remove the operator or provide the missing SassScript operand.

Parity everywhere

Use the same parser family in browser, editor, and CI.

Browser

Fast local cleanup and parser diagnostics

Prettier SCSS parser

The grammar selected by this page

Editor

Format-on-save with repository settings

CI

prettier --check "**/*.scss"

Direct answer

What is SCSS Formatter?

Format real .scss source locally with Prettier’s SCSS grammar, choose indentation, and receive parser-backed diagnostics without compiling or uploading your stylesheet.

What can it do?

  • Format

How to use SCSS Formatter

  1. 01

    Choose a task

    Select Format in the workspace.

  2. 02

    Provide the input

    Paste SCSS here. The input stays in the browser processing path.

  3. 03

    Review the result

    Run the tool, inspect its result and diagnostics, then copy or download the output when the page offers that action.

Frequently asked questions

What is SCSS Formatter?
Format real .scss source locally with Prettier’s SCSS grammar, choose indentation, and receive parser-backed diagnostics without compiling or uploading your stylesheet.
What can SCSS Formatter do?
SCSS Formatter supports Format. Each mode is available directly in the page workspace.
Does SCSS Formatter upload my data?
SCSS Formatter processes your input locally in the browser. DevSexy does not add an upload, account, or server-processing step to this workflow.
DevSexy processes tool input locally. No paste tracking, accounts, or upload step.