Ключові особливості нашого форматувальника SVG
- **Режим прикрашення** з розумними відступами, перенесенням рядків та вирівнюванням атрибутів
- **Режим мініфікації**, що видаляє пробіли, коментарі та зайві метадані
- Форматування у стилі Prettier та оптимізація у стилі SVGO під капотом
- Налаштовуваний стиль відступів (пробіли або табуляції) та розмір відступу
- Додаткова колонка перенесення для підтримки порядку в довгих шляхах та атрибутах
- Послідовний стиль кінця рядка (LF / CRLF) для чистих diff-ів на різних ОС
- Перетягніть файли `.svg` до 5 МБ або вставте вбудовану SVG-розмітку
- 100% обробка на стороні клієнта — ваші роботи ніколи не залишають браузер
- Одно-клікове копіювання або завантаження відформатованого (`.formatted.svg`) чи мініфікованого (`.min.svg`) результату
- Адаптивний інтерфейс, що добре працює на ноутбуках, комп'ютерах та планшетах
🔧 Як форматувати чи мініфікувати SVG: Швидкий посібник for svg-formatter
1. Вставте або завантажте SVG
📥 Перетягніть ваш файл `.svg` або вставте сиру SVG-розмітку в редактор. Інструмент автоматично розпізнає стандартний вміст `image/svg+xml`.
2. Виберіть Форматування чи Мініфікацію
✨ Виберіть **Форматування** для читабельної розмітки (чудово для переглядів та контролю версій) або **Мініфікацію** для найменшого розміру файлу.
3. Налаштуйте опції форматування
⚙️ Налаштуйте **Стиль відступу** (пробіли чи табуляції), **Розмір відступу** та опційну **Обгортку / Довжину рядка**. Вони безпосередньо відповідають налаштуванням базового форматувальника.
4. Попередній перегляд та експорт
👀 Перевірте оптимізований SVG-код, швидко протестуйте його у вашому проекті, потім скопіюйте у буфер обміну або завантажте результат як новий файл `.svg`.
Технічні деталі
Двигун прикрашання (Режим форматування)
Режим форматування використовує двигун у стилі Prettier, налаштований для SVG XML-розмітки. Він зосереджений на читабельності та стабільних, передбачуваних diff-ах.
| Аспект | Поведінка | Примітки |
|---|---|---|
| Стиль відступу | Пробіли чи Табуляції | Налаштовується через **Стиль відступу** (відповідає `indentStyle`). |
| Розмір відступу | 1–8 пробілів | Контролює ширину вкладеності при використанні пробілів (відповідає `indentSize`). |
| Обгортка / Довжина рядка | 0–120 стовпців | `0` вимикає обгортку; інакше довгі рядки обгортаються навколо обраного стовпця (відповідає `wrapLineLength`). |
| Кінець рядка | LF (`\n`) або CRLF (`\r\n`) | Зберігає кінці рядків послідовними на різних ОС (відповідає `endOfLine`). |
| Вихідна мова | SVG у стилі XML | Зберігає сумісну з SVG структуру XML для безпечного вбудовування. |
Конвеєр мініфікації (Режим Minify)
Режим Minify використовує конвеєр, натхненний SVGO, зосереджений на зменшенні розміру зі збереженням візуального виводу.
| Крок | Опис | Вплив |
|---|---|---|
| Видалення коментарів | Видаляє вузли коментарів `<!-- ... -->`, які не впливають на відображення. | Менші файли, чистіші diff-и. |
| Видалення зайвих пробілів | Стискає непотрібні пробіли, табуляції та переноси рядків. | Значний ефект для SVG, експортованих з редакторів. |
| Обрізка метаданих | За бажанням видаляє вузли метаданих, що не впливають на відображення, коли це безпечно. | Корисно для публічних виробничих ресурсів. |
| Нормалізація атрибутів | Спрощує та переупорядковує атрибути стабільним чином. | Компактніший вивід, краща кешованість. |
Кодування та Сумісність
Вивід — це UTF-8 SVG, сумісний з сучасними браузерами та інструментами, відповідно до специфікації SVG 2.
Продуктивність та Обмеження (Типовий Десктопний Браузер)
| Тип файлу | Вхідний розмір | Час Beautify | Час Minify | Типове зменшення розміру |
|---|---|---|---|---|
| Іконка | 5 КБ | ⚡ < 15 мс | ⚡ < 20 мс | ≈ 25–40% |
| Ілюстрація | 100 КБ | ⚡ < 60 мс | ⚡ < 90 мс | ≈ 40–55% |
| Головне зображення | 500 КБ | ⏱️ < 300 мс | ⏱️ < 450 мс | ≈ 50–60% |
Альтернативи CLI для досвідчених користувачів
Віддаєте перевагу роботі в терміналі або інтеграції з CI? Поєднайте Prettier і SVGO для поведінки, подібної до цього інструменту:
Linux / 🍎 macOS
Прикрасити SVG за допомогою Prettier
npx prettier --parser xml --print-width 80 --tab-width 2 --write input.svgЗастосовує послідовні відступи та перенесення рядків до вашої розмітки SVG.
Мініфікувати SVG за допомогою SVGO
npx svgo input.svg -o input.min.svgВидаляє коментарі, метадані та зайві пробіли для менших файлів.
Windows (PowerShell або CMD)
Красиво відформатувати SVG за допомогою xmlstarlet (через WSL або нативно)
xmlstarlet fo --indent-spaces 2 input.svg > pretty.svgФорматує SVG/XML з відступом у 2 пробіли.
Мініфікувати SVG за допомогою SVGO (без глобального встановлення)
npx svgo input.svg -o min.svgЗапускає SVGO безпосередньо через `npx` для разових оптимізацій.
Практичне застосування
Веб-продуктивність та фронтенд-бандли
- Зменшіть розмір SVG у системах дизайну, наборах іконок і спрайт-листах.
- Вбудовуйте мініфіковані SVG в HTML/CSS, щоб уникнути додаткових HTTP-запитів.
- Покращте Core Web Vitals, зменшуючи головні ілюстрації на цільових сторінках.
<img src="/assets/hero.min.svg" alt="Оптимізоване головне зображення" />.icon-check { background-image: url('data:image/svg+xml;utf8,<svg ...>'); }Передача дизайну та контроль версій
- Прикрасьте експортований SVG перед код-рев'ю, щоб зробити різниці читабельними.
- Зберігайте красивий `.formatted.svg` для співпраці та `.min.svg` для продакшену.
- Забезпечте послідовні відступи та порядок атрибутів у системі дизайну.
Мобільні пристрої, емейли та гібридні додатки
- Мініфікуйте вбудовані SVG в HTML-листах для легших кампаній.
- Зменшіть розмір бандлу додатку в React Native / Capacitor / Ionic при постачанні багатьох іконок.
- Економте трафік для користувачів з повільним або обмеженим підключенням.
❓ Frequently Asked Questions
❓Що таке форматування SVG?
📏Чи змінить мініфікація вигляд мого SVG?
🔒Чи завантажується моє SVG на сервер?
🚀Наскільки можна зменшити розмір за допомогою мініфікації?
⚠️Чи може видалення `<metadata>` або коментарів порушити мій робочий процес?
Pro Tips
Зберігайте немініфікований `icon.formatted.svg` у вашому репозиторії для чистих відмінностей, а потім генеруйте `icon.min.svg` як частину вашого кроку збірки.
Завжди додавайте змістовні елементи `<title>` та `<desc>` перед мініфікацією, щоб ваші SVG залишалися доступними для програвачів екрану.
Поєднуйте мініфікацію SVG з HTTP-стисненням (Gzip/Brotli), щоб вичавити ще більше байтів з важких ілюстрацій та діаграм.
Для наборів іконок розгляньте стратегію спрайтів: мініфікуйте один раз, а потім посилайтеся на іконки через `<use>`, замість дублювання SVG-коду скрізь.
Additional Resources
Other Tools
- Прикрашувач CSS
- Прикрашувач HTML
- Прикрашувач JavaScript
- Прикрашувач PHP
- Вибір кольору
- Екстрактор спрайтів
- Декодер Base64
- Кодувальник Base64
- Форматувальник C#
- Форматувальник CSV
- Dockerfile Formatter
- Форматувальник Elm
- Форматувальник ENV
- Форматувальник Go
- Форматувальник GraphQL
- Форматувальник HCL
- Форматувальник INI
- Форматувальник JSON
- Форматувальник LaTeX
- Форматувальник Markdown
- Форматувальник Objective-C
- Php Formatter
- Форматувальник Proto
- Форматувальник Python
- Форматувальник Ruby
- Форматувальник Rust
- Форматувальник Scala
- Форматувальник shell-скриптів
- Форматувальник SQL
- Форматер Swift
- Форматер TOML
- Typescript Formatter
- Форматер XML
- Форматер YAML
- Форматер Yarn
- Мініфікатор CSS
- Html Minifier
- Javascript Minifier
- Мініфікатор JSON
- Мініфікатор XML
- Переглядач HTTP-заголовків
- PDF у текст
- Тестер регулярних виразів
- Перевірка позицій у SERP
- Пошук Whois