ConvertAPI Ruby Client

Gem Build Status License: MIT

Convert your files with our online file conversion API

ConvertAPI helps in converting various file formats. Creating PDF and Images from various sources like Word, Excel, Powerpoint, images, web pages or raw HTML codes. Merge, Encrypt, Split, Repair and Decrypt PDF files and many other file manipulations. You can integrate it into your application in just a few minutes and use it easily.


Add this line to your application's Gemfile:

gem 'convert_api'



You can get your secret at

ConvertApi.configure do |config|
  config.api_secret = 'your-api-secret'

File conversion

Example to convert file to PDF. All supported formats and options can be found here.

result = ConvertApi.convert('pdf', { File: '/path/to/my_file.docx' })

# save to file'/path/to/save/file.pdf')

Other result operations:

# save all result files to folder

# get result file io
io =

# get conversion cost
conversion_cost = result.conversion_cost 

Convert file url

result = ConvertApi.convert('pdf', { File: 'https://website/my_file.docx' })

Specifying from format

result = ConvertApi.convert(
  {File: /path/to/my_file'}, 
  from_format: 'docx'

Additional conversion parameters

ConvertAPI accepts extra conversion parameters depending on converted formats. All conversion parameters and explanations can be found here.

result = ConvertApi.convert(
  {File: /path/to/my_file.docx',
  PageRange: '1-10',
  PdfResolution: '150'}

Accessing result file properties

You can access result file collection like this:

result = ConvertApi.convert('pdf', { File: 'https://website/my_file.docx' })

puts result.files[0].url
puts result.files[0].size

User information

You can always check your remaining seconds programmatically by fetching user information.

user_info = ConvertApi.user

puts user_info['SecondsLeft']

Alternative domain

Set config base_uri attribute to use other service domains. Dedicated to the region domain list.

ConvertApi.configure do |config|
  config.base_uri = URI('')

More examples

Find more advanced examples in the examples/ folder.


Run CONVERT_API_SECRET=your_secret rake spec to run the tests.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


Bug reports and pull requests are welcome on GitHub at This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.


The gem is available as open source under the terms of the MIT License.