IRClogs is a software package written in Scheme, presenting a web interface to a collection of IRC logs.


  • Serve logs from multiple channels, organized by "tags", which normally correspond to IRC networks
  • Overview pages for all channels logged, all channels logged with a given tag, and a single channel. These overview pages are navigatable by date.
  • The text log files rendered as HTML tables, with messages color-coded indicating the nick sending the message.
  • Search a channel for messages

Planned features

  • Toggling of channel events (joins, quits, etc.) via JavaScript or a query option (JavaScript part already implemented)
  • Support for If-Modified-Since also for the daily log pages
  • Deal with local time being different from GMT, and possibly present times to the user in his timezone
  • Add a today alias for the current date (done, but needs to be exposed in the UI)
  • Improve search:
    • Specify amount of context around a message to show
    • Allow explicitly specifying base date
    • Highlight matches
    • Allow toggling of events on search result pages as well
    • Feedback on the interpretation of the query: What base date and day count was used, what matchers where constructed
  • Allow a single instance to offer several (possibly overlapping) sets of channels on different ports. This is useful if you want to run an IRClogs instance serving your logs, and want to have a "public view", presented to the interweb, and a "private view" that you restrict access to via HTTP authentication, IP address or some other mechanism.


Currently, there's an experimental instance of IRClogs running at, serving a few select channels on the GNOME and freenode networks.


The searching page has a bit of information on the search query syntax of IRClogs.


Currently, there's no documentation on how to set up an IRClogs instance, so if you have questions about that or anything else, want to help out, or think you have found a bug, or want to provide any other kind of feedback, after having a look at the README, and taking a look at the Source (if you're brave ;-)) I usually hang out on irc://freenode/#scheme as rotty -- just send me a ping, but don't hold your breath.