Kindle PDF Optimization Service


Due to lack of funding, I decided to move it to another service provider which brings in new restrictions to this service:

  • Total file size for a single email may not be larger than 6 MB. So if you have multiple files to convert, please send them in separate emails
  • Conversion of Each file should be finished within –5– 15 mins, which means your file cannot have many pages. So if you want to convert a whole book, please cut them into small batches. In principle, this service suits most for paper reading.

Update, take 2: I integrated a small hack into the service as the first feature in 2018, so there’s no restriction on file size anymore. Update, take 3: I increased the time budget for each conversion to 15 mins and 1G memory.

What it is?

I’m fond of reading academic things on my Kindle, however, most academic papers are not designed to be read on a 6-inch size screen, let alone those with two columns format.

I took some time writing a service and now things go easy. You can just send your pdf to with your Send-To-Kindle address as the subject, then a cropped version of your book will be pushed to your Kindle automatically.

Basically, this service will crop your book into a Kindle readable format and send it pretending it is you sending the book by mocking the sender address.

So, notice that the email used to send PDFs to should be in your Approved Personal Document E-mail List.

Page selection if file too large

One thing is that if the book contains too many pages, the mailer may reject sending the attachment for its huge size, but you can enter a subset of pages (e.g. 1-9,13,209-) in the email content to shrink the result file size. The input format is:

  • Single Page - e.g. 1
  • Some Pages - e.g. 5-9
  • Page Since - e.g. 10-

And use comma , to combine the page selections, e.g. 1,5-9,10-, with a prepending # to indicate it’s a page selection command. There should not be any spaces inside the page selection.

Additional params

Currently, this service supports params including page selection and raw k2pdfopt params by writing them in mail body. Only one PDF file should be attached if params are used.

Detailed grammar:

  • Prepending # with a space to do page selection, e.g. # 1,5-9,10- (from the above example).
  • Prepending @ with a space to do pass raw params to k2pdfopt, e.g. @ -p 1,5-9,10- is same as # 1,5-9,10- if you know the param -p is page selection for k2pdfopt, resulting in k2pdfopt -p 1,5-9,10- -o <filename>_converted.pdf <filename> be called (if you know how to use k2pdfopt, then you will definetely understand this. Otherwise, # is enough for you).


Be careful, you should not send classified documents to this address! Although I will delete them in place on the server, the document will exist in Gmail trash for several days until Google purge the trash bin automatically. And if something goes wrong, I may replay attachments in the trash bin to debug. So please DON’T SEND CLASSIFIED or PRIVATE DOCUMENTS to me in order to keep me away from legal issues.


Great thanks to willus who provided this excellent tool to produce the kindle readable version of pdf.

Do you like the service?

It costs me several bucks to maintain the server and email sending service

I'm really appreciate it if you can offer me a cup of coffee :)

-- OR --



PhD Student in Computing Science

PhD Student @ SFU