Skip to content
Fast and easy syntax highlighting for selected languages, written in Ruby.
Ruby Lua Clojure Perl Shell VimL
Find file
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.