Skip to content
A gem to parse Kindle's "My Clippings.txt" file into ruby objects.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Kindleclippings is a ruby library for parsing annotations created on your kindle.

When you make annotations on a kindle, they are saved as a file called "My Clippings.txt" under the documents folder.
This library will parse these annotations/clippings and give you an array of ruby objects.


To install kindleclippings just run

% gem install kindleclippings



Parsing the My Clippings.txt file.

require 'kindleclippings'

parser =

clippings = parser.parse_file('My Clippings.txt')
clipping = clippings.last

clipping.book_title # => "Confessions of a Public Speaker" # => "Berkun  Scott"
clipping.type # => :Highlight
clipping.added_on # => #<DateTime: 2009-12-14T19:10:00+00:00 (353545963/144,0/1,2299161)>
clipping.content # => "Most people say \"umm\" and \"uhh\" when they speak. These are called filler sounds ..."

The annotations can also be parsed directly.

require 'kindleclippings'

parser =
clippings = parser.parse("the content you want to parse.")

Retrieve only the information you care about

Annotation types

You can retrieve only the annotationstypes you care about. After parsing, you can call highlights, notes or bookmarks on the collection to get only annotations of that type.

require 'kindleclippings'

parser =
clippings = parser.parse_file('My Clippings.txt')

clippings.notes      # All the notes
clippings.highlights # All the highlights
clippings.bookmarks  # All the bookmarks

Author, book title and date

You can filter the results by author, book title or date by using the methods by_author, by_book and by_date on a ClippingResult object.

require 'kindleclippings'

parser =
clippings = parser.parse_file('My Clippings.txt')

clippings.by_author('Malcolm Gladwell') # All annotations for all the books by Malcolm Gladwell

clippings.by_book('Born to Run') # All annotations for the book Born to Run

clippings.by_date(, 10, 1),, 10, 31)) # All annotations for October 2011


  • Georg Alexander Bøe
  • Masatomo Nakano
  • brokensandals
  • fboucheros
  • David Ramalho
  • Kenrick [aka Ken] Chien
  • Christophe Philemotte
  • Aggelos Orfanakos
You can’t perform that action at this time.