Skip to content
Fast and easy syntax highlighting for selected languages, written in Ruby.
Ruby Lua Clojure Perl Shell VimL
Pull request Compare This branch is 365 commits behind rubychan:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.




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)




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 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 — 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 :)
Something went wrong with that request. Please try again.