A curated list of code formatters. Inspired by awesome-machine-learning. Other awesome lists can be found in the awesome-awesomeness list.

If you want to contribute to this list (please do), send me a pull request or contact me @rishirdua

## Table of Contents

- General Purpose
- Language Specific
  - C/C++
  - Cobol
  - CSS
  - Fortran
  - Haskell
  - HTML
  - Java
  - JavaScript
  - JSP
  - .NET
  - Perl
  - PHP
  - PL/SQL
  - Python
  - Ruby
  - Shell
  - VBS
  - XML

## General Purpose

- Artistic Styler - Source code indenter, formatter, and beautifier for the C, C++, C# and Java programming languages.
- Atom-Beautify - Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom editor.
- Prettier - An opinionated code formatter for JavaScript, Flow, TypeScript, Vue, JSON, CSS, Less, SCSS, GraphQL, and Markdown
- Uncrustify - Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA.
- Unibeautify - Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript, TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL, Markdown, and more.
- clang-format - Automatic formatting for C, C++, Java, JavaScript, ObjectiveC and Protobuf.

## Language Specific

#### C/C++

- BCPP - indents C/C++ source programs, replacing tabs with spaces or the reverse.
- GNU Indent - Unix utility that reformats C and C++ code in a user-defined indent style and coding style. GNU style is used by default.
- GreatCode - C/C++ source code beautifier that is now fully open source.

#### Cobol

- Cobol Beautifier - Parses your program just like a real Cobol compiler and then it generates Cobol code from the resulting Cobol Program Tree.

#### CSS

- CSSTidy - Opensource CSS parser and optimiser available as executeable file which can be controlled by command line and as PHP script.

#### Fortran

- Fortran 90 PPR - Fortran 90 preprocessor and formatter written in Fortran 90.

#### Haskell

- hindent - Extensible Haskell pretty printer available both as a library and an executable.

#### HTML

- HTB - Command-line utility to reformat HTML/XML/XSLT source code with an array of user specified options.
- Tidy - Free-standing C library

#### Java

- Google Java Format - google-java-format is a program that reformats Java source code to comply with Google Java Style.
- JALOPY - Source code formatting tool for the Sun Java Programming Language.
- Jindent - Commercial source code formatter for the programming languages Java, C and C++

#### JavaScript

- beautifier.io - Online JavaScript Beautifier

#### JSP

- JSPPP - Indentor for JSP files in various styles.

#### .NET

- NArrange - Code beautifier that automatically organizes code members and elements within .NET classes.

#### Perl

- PerlTidy - Perl script which indents and reformats Perl scripts.

#### PHP

- PHP_Beautifier - Beautifier for PHP
- phpCB - Tool available as a GUI, command line and an integrated tool of PHPEdit.
- phpStylist - Formatter with customizable options.

#### PL/SQL

- Pl/Sql tidy - Program to tidy, beautify or format Pl/Sql code in a batch file or Dos prompt.
- Poor Man’s T-SQL Formatter - .Net 2.0 library with demo UI, command-line bulk formatter, SSMS/Visual Studio add-in, notepad++ plugin, winmerge plugin, and web service for reformatting and coloring T-SQL code to the user’s preferences.

#### Python

- black - The uncompromising Python code formatter
- pindent - Adds comments when blocks are closed, or can properly indent code if comments are put in.
- yapf - A formatter for Python files.

#### Ruby

- Ruby Script Beautifier - Beautifier written in Ruby.

#### Shell

- ShellIndent - Indent formatting program for .sh scripts.

#### VBS

- VBSBeautifier - Beautifier for ASP and clientside VBScript files.

#### XML

- XML Indent - XML stream reformatter written in ANSI C.

codeformatters.md Github