🧹
Код

Форматувальник і мінімізатор коду

Форматувальник і мінімізатор
Вхідний код
Результат

Форматування виконується у вашому браузері — код не надсилається на сервер і ніде не зберігається. Автовиправлення працює тільки для JSON: там помилки механічні. Для решти мов ми показуємо місце помилки, але не переписуємо ваш код.

Про інструмент: форматування, мінімізація та перевірка коду

Цей інструмент замінює вісім окремих вкладок. Він приводить код до читабельного вигляду, стискає його для публікації і показує, де саме синтаксична помилка — з номером рядка й позицією. Підтримує JSON, JavaScript, CSS, HTML, XML, PHP, YAML і Markdown. Тут немає сторонньої реклами, лімітів на обсяг і реєстрації.

Уся робота відбувається у вашому браузері — код не надсилається на сервер і ніде не зберігається. Для коду це принципово: у ньому бувають ключі, паролі й дані клієнтів.

Головні переваги інструменту:

  • Мова визначається автоматично: вставте код — інструмент розпізнає його за структурою. Якщо здогадка хибна, мову можна обрати вручну.

  • Помилка з координатами: замість глухого «невалідно» ви бачите повідомлення парсера і точне місце — рядок і позицію.

  • Форматує перевірений інструмент, а не саморобка: усередині працює Prettier — той самий, що стоїть у редакторах мільйонів розробників. Результат збігається з тим, який дало б ваше середовище розробки.

Форматування чи мінімізація?

Форматування

Цей режим розставляє відступи й переноси так, щоб код було зручно читати. Він знадобиться, коли ви отримали відповідь API одним довгим рядком, успадкували чужий файл або просто хочете побачити структуру. Відступ можна задати: два пробіли, чотири або табуляція.

Мінімізація

Цей режим прибирає все зайве — пробіли, переноси, коментарі — щоб файл важив менше. Це потрібно перед публікацією на сайт, а не для роботи з кодом.

Мінімізація доступна для JSON, JavaScript, CSS, HTML і XML. Для PHP, YAML і Markdown її немає навмисно: у PHP стискання коду не дає виграшу і ламає налагодження, а в YAML і Markdown відступи та переноси — це і є синтаксис.

Що саме інструмент виправляє сам?

Тут важливо бути точним, бо автоматичне виправлення коду — річ небезпечна.

Для JSON виправлення справді працює. Помилки в ньому майже завжди механічні, тому інструмент мовчки полагодить і обов’язково покаже перелік того, що змінив:

  • Коментарі вилучаються: у JSON їх не буває, хоча редактори часто й дозволяють їх писати.

  • Зайві коми перед закриттям дужки прибираються: найчастіше вони лишаються після видалення останнього елемента.

  • Одинарні лапки замінюються на подвійні, а ключі без лапок беруться в лапки: так JSON копіюють з JavaScript.

  • True, False, None — літерали Python, у якому вони пишуться з великої літери. Замінюються на true, false, null.

  • NaN та undefined — літерали JavaScript, яких у JSON не існує взагалі. Замінюються на null.

  • Типографські лапки замінюються на прямі: вони з’являються після копіювання через Word чи месенджер.

Python і JavaScript тут згадані не як мови, які інструмент форматує, а як джерела тексту: саме звідти люди копіюють у поле те, що вважають JSON. Python друкує словник власним синтаксисом, а не через json.dumps() — і виходить майже JSON, але невалідний. Форматування Python інструмент не підтримує.

Для решти мов виправлення немає, і це свідоме рішення. Полагодити довільну синтаксичну помилку в JavaScript чи PHP означає вгадати, що саме автор мав на увазі. Помилитися тут легко, а ціна висока: інструмент нишком змінить логіку вашого коду. Тому для JS, PHP, CSS, HTML і XML ми показуємо місце помилки й лишаємо рішення за вами.

Кілька практичних порад

  • Відповідь API одним рядком: вставте як є і натисніть «Форматувати» — мова визначиться сама.

  • Помилка може бути не в указаному рядку: парсер повідомляє, де він помітив проблему. Незакриту дужку зазвичай видно значно нижче реального місця, тому дивіться вище за вказану позицію.

  • Мінімізований код не редагують: стискайте останнім кроком, а працюйте завжди з відформатованим оригіналом.

  • Секрети в коді: хоча все й обробляється у вашому браузері, візьміть за звичку не вставляти в жоден онлайн-інструмент бойові ключі й паролі.