A curated list of code formatters. Inspired by awesome-machine-learning. Other awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. If you want to contribute to this list (please do), send me a pull request or contact me [@rishirdua](https://www.twitter.com/rishirdua) ## Table of Contents - [General Purpose](#general-purpose) - [Language Specific](#language-specific) - [C/C++](#cc) - [Cobol](#cobol) - [CSS](#css) - [Fortran](#fortran) - [Haskell](#haskell) - [HTML](#html) - [Java](#java) - [JavaScript](#javascript) - [JSP](#jsp) - [.NET](#net) - [Perl](#perl) - [PHP](#php) - [PL/SQL](#plsql) - [Python](#python) - [Ruby](#ruby) - [Shell](#shell) - [VBS](#vbs) - [XML](#xml) ## General Purpose * [Artistic Styler](http://astyle.sourceforge.net/) - Source code indenter, formatter, and beautifier for the C, C++, C# and Java programming languages. * [Atom-Beautify](https://atom.io/packages/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](https://prettier.io/) - An opinionated code formatter for JavaScript, Flow, TypeScript, Vue, JSON, CSS, Less, SCSS, GraphQL, and Markdown * [Uncrustify](http://uncrustify.sourceforge.net/) - Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA. * [Unibeautify](https://unibeautify.com/) - 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](http://clang.llvm.org/docs/ClangFormat.html) - Automatic formatting for C, C++, Java, JavaScript, ObjectiveC and Protobuf. ## Language Specific #### C/C++ * [BCPP](http://invisible-island.net/bcpp/) - indents C/C++ source programs, replacing tabs with spaces or the reverse. * [GNU Indent](http://www.gnu.org/software/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](http://sourceforge.net/projects/gcgreatcode/) - C/C++ source code beautifier that is now fully open source. #### Cobol * [Cobol Beautifier](http://www.siber.com/sct/tools/cbl-beau.html) - Parses your program just like a real Cobol compiler and then it generates Cobol code from the resulting Cobol Program Tree. #### CSS * [CSSTidy](http://csstidy.sourceforge.net/) - Opensource CSS parser and optimiser available as executeable file which can be controlled by command line and as PHP script. #### Fortran * [Fortran 90 PPR](ftp://ftp.ifremer.fr/ifremer/fortran90/) - Fortran 90 preprocessor and formatter written in Fortran 90. #### Haskell * [hindent](https://github.com/chrisdone/hindent) - Extensible Haskell pretty printer available both as a library and an executable. #### HTML * [HTB](http://www.digital-mines.com/htb/) - Command-line utility to reformat HTML/XML/XSLT source code with an array of user specified options. * [Tidy](http://tidy.sourceforge.net/) - Free-standing C library #### Java * [Google Java Format](https://github.com/google/google-java-format) - google-java-format is a program that reformats Java source code to comply with Google Java Style. * [JALOPY](http://notzippy.github.io/JALOPY2-MAIN/) - Source code formatting tool for the Sun Java Programming Language. * [Jindent](http://www.jindent.com/) - Commercial source code formatter for the programming languages Java, C and C++ #### JavaScript * [beautifier.io](https://beautifier.io/) - Online JavaScript Beautifier #### JSP * [JSPPP](http://jsppp.sourceforge.net/) - Indentor for JSP files in various styles. #### .NET * [NArrange](http://www.narrange.net/) - Code beautifier that automatically organizes code members and elements within .NET classes. #### Perl * [PerlTidy](http://perltidy.sourceforge.net/) - Perl script which indents and reformats Perl scripts. #### PHP * [PHP_Beautifier](http://pear.php.net/package/PHP_Beautifier) - Beautifier for PHP * [phpCB](http://www.waterproof.fr/products/phpCodeBeautifier/) - Tool available as a GUI, command line and an integrated tool of PHPEdit. * [phpStylist](http://sourceforge.net/projects/phpstylist/) - Formatter with customizable options. #### PL/SQL * [Pl/Sql tidy](http://psti.equinoxbase.com/) - Program to tidy, beautify or format Pl/Sql code in a batch file or Dos prompt. * [Poor Man's T-SQL Formatter](http://architectshack.com/PoorMansTSqlFormatter.ashx) - .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](https://github.com/ambv/black) - The uncompromising Python code formatter * [pindent](http://svn.python.org/projects/python/trunk/Tools/scripts/pindent.py) - Adds comments when blocks are closed, or can properly indent code if comments are put in. * [yapf](https://github.com/google/yapf) - A formatter for Python files. #### Ruby * [Ruby Script Beautifier](http://www.arachnoid.com/ruby/rubyBeautifier.html) - Beautifier written in Ruby. #### Shell * [ShellIndent](http://www.bolthole.com/AWK.html) - Indent formatting program for .sh scripts. #### VBS * [VBSBeautifier](http://www.daansystems.com/vbsbeaut/) - Beautifier for ASP and clientside VBScript files. #### XML * [XML Indent](http://xmlindent.sourceforge.net/) - XML stream reformatter written in ANSI C. [codeformatters.md Github](https://github.com/rishirdua/awesome-code-formatters )