Which languages and file formats does bin support for syntax highlighting?

Updated

bin (basedbin.fly.dev) supports syntax highlighting for a very broad set of programming languages, configuration formats, markup languages, and specialized file types. The site presents these as a selectable list of formats on the paste/upload interface, so you can pick the correct one before or after pasting your content.

Programming languages

The list covers most mainstream and many niche languages:

  • General-purpose: Python, JavaScript, TypeScript, TypeScriptReact, Java, C, C++, C#, Go, Rust, Ruby, PHP, Swift, Kotlin, Scala, Dart, Elixir, Erlang, Haskell (including Literate Haskell), OCaml, F#, Clojure, Lisp, Scheme-family (SML), Nim, Crystal, Julia, Lua, Perl, R, MATLAB, Fortran (Fixed Form and Modern), Pascal, Groovy, Solidity, Vyper, Zig, Lean, PureScript, Elm, ActionScript, CoffeeScript, Objective-C, Objective-C++, Assembly (x86_64), ARM Assembly, SystemVerilog, Verilog, GLSL, QML, Tcl, AppleScript, AWK, Batch File, PowerShell, VimL, Rego, Robot Framework.

  • Shell and scripting: Bourne Again Shell (bash), Friendly Interactive Shell (fish), Batch File, PowerShell.

Config, data, and infrastructure formats

  • Data/serialization: JSON, YAML, TOML, INI, Comma Separated Values, Protocol Buffer (TEXT), JSON (Terraform), jsonnet, XML.

  • Config and environment: DotENV, Apache Conf, nginx, SSH Config, SSHD Config, Known Hosts, Authorized Keys, hosts, resolv, fstab, passwd, group, CpuInfo, MemInfo, Git Config, Git Ignore, Git Attributes, Git Rebase Todo, Git Commit, Git Log, Git Mailmap, Git Link.

  • Infrastructure/build: Dockerfile, Makefile, CMake, CMakeCache, CMake C Header, CMake C++ Header, Terraform, Salt State (SLS), NAnt Build File, Ninja, Puppet, requirements.txt.

Markup, documentation, and web formats

  • Markup: Markdown, reStructuredText, AsciiDoc (Asciidoctor), Textile, orgmode, LaTeX, TeX, Manpage, Rd (R Documentation).

  • Web: HTML, HTML (ASP), HTML (EEx), HTML (Erlang), HTML (Jinja2), HTML (Rails), HTML (Tcl), HTML (Twig), CSS, SCSS, Sass, Less, Stylus, JavaScript (Babel), JavaScript (Rails), Java Server Page (JSP), Vue Component, Svelte, Ruby Haml, Ruby on Rails.

  • Templating: Jinja2, Handlebars-style formats via the HTML variants above.

Specialized and miscellaneous formats

  • Query/logging: SQL, SQL (Rails), GraphQL, syslog, Strace, log.

  • Graph/diagram: Graphviz (DOT), gnuplot.

  • Diff/patch: Diff.

  • Other: Email, BibTeX, Cabal, Dockerfile, Makefile, Regular Expression, Regular Expressions (Elixir), OCamllex, OCamlyacc, varlink, Textile, Highlight non-printables.

How to use the highlighting

  1. Open the paste/upload page on bin.
  2. Paste your text or upload a file.
  3. Select the matching language or format from the list (the interface shows a long dropdown of the formats above).
  4. The content is then rendered with syntax highlighting for that format.

If your format is not in the list, you can still paste it as Plain Text. The list is extensive enough that most common development, config, and documentation files have a dedicated option.