Tired of blue'n'gray? Try the original version of this documentation on :-)


CodeRay is a Ruby library for syntax highlighting.

You put your code in, and you get it back colored; Keywords, strings, floats, comments - all in different colors. And with line numbers.

Syntax Highlighting

  • makes code easier to read and maintain

  • lets you detect syntax errors faster

  • helps you to understand the syntax of a language

  • looks nice

  • is what everybody wants to have on their website

  • solves all your problems and makes the girls run after you


% gem install coderay


CodeRay needs Ruby 1.8.7+ or 1.9.2+. It also runs on Rubinius and JRuby.

Example Usage

require 'coderay'

html = CodeRay.scan("puts 'Hello, world!'", :ruby).div(:line_numbers => :table)


See CodeRay.


Special Thanks to

  • licenser (Heinz N. Gies) for ending my QBasic career, inventing the Coder project and the input/output plugin system. CodeRay would not exist without him.

  • bovi (Daniel Bovensiepen) for helping me out on various occasions.

Thanks to

  • Caleb Clausen for writing RubyLexer (see and lots of very interesting mail traffic

  • birkenfeld (Georg Brandl) and mitsuhiku (Arnim Ronacher) for PyKleur, now pygments. You guys rock!

  • Jamis Buck for writing Syntax (see I got some useful ideas from it.

  • Doug Kearns and everyone else who worked on ruby.vim - it not only helped me coding CodeRay, but also gave me a wonderful target to reach for the Ruby scanner.

  • everyone who uses CodeBB on and

  • iGEL, magichisoka, manveru, WoNáDo and everyone I forgot from

  • Dethix from

  • zickzackw

  • Dookie (who is no longer with us…) and Leonidas from

  • Andreas Schwarz for finding out that CaseIgnoringWordList was not case ignoring! Such things really make you write tests.

  • closure for the first version of the Scheme scanner.

  • Stefan Walk for the first version of the JavaScript and PHP scanners.

  • Josh Goebel for another version of the JavaScript scanner, a SQL and a Diff scanner.

  • Jonathan Younger for pointing out the licence confusion caused by wrong LICENSE file.

  • Jeremy Hinegardner for finding the shebang-on-empty-file bug in FileType.

  • Charles Oliver Nutter and Yehuda Katz for helping me benchmark CodeRay on JRuby.

  • Andreas Neuhaus for pointing out a markup bug in coderay/for_redcloth.

  • 0xf30fc7 for the FileType patch concerning Delphi file extensions.

  • The folks at - thank you for using and fixing CodeRay!

  • Keith Pitt for his SQL scanners

  • Rob Aldred for the terminal encoder

  • Trans for pointing out $DEBUG dependencies

  • Flameeyes for finding that Term::ANSIColor was obsolete

  • matz and all Ruby gods and gurus

  • The inventors of: the computer, the internet, the true color display, HTML & CSS, VIM, Ruby, pizza, microwaves, guitars, scouting, programming, anime, manga, coke and green ice tea.

Where would we be without all those people?

Created using


  • As you can see, CodeRay was created under heavy use of free software.

  • So CodeRay is also free.

  • If you use CodeRay to create software, think about making this software free, too.

  • Thanks :)