Is there any way to batch convert .jpg files into single .pdf files?


6 Answers 6


Never forget your little fellow Automator, sitting in a hard drive near you :)

Launch Automator, create a new workflow. Now you need to add two actions:

  1. In the "Files & Folders" select Ask for Finder Items and drag it.

  2. In the PDFs Category, find "New PDF from Images" and also drag it.

Your workflow should look like this:


Now read the options for each Action and customize accordingly. Investigate similar actions (especially in the Files & Folders category) and perhaps the Photos if you want to transform your images from JPG to something else. In fact, go ahead and look all over automator, there are a lot of interesting things there. :)

When you're satisfied with your Workflow, click "Run" on the top right corner. Watch the magic happens and depending upon the number of items and your CPU power, you might go grab a coffee/tea.

  • 1
    it does only generate a single pdf which contains all pictures stored in the folder. How to create a single pdf of each picture file in the folder? Regards Chris
    – user19087
    Commented Feb 21, 2012 at 23:09
  • 3
    @user19087 brew install imagemagick and then do something like for pic in *.jpg; do convert $pic $pic.pdf; done
    – the
    Commented Feb 6, 2015 at 16:41

I'm more at ease with commandline tools myself. ImageMagick is great for this. You can install IM through Homebrew:

brew install imagemagick

After that you can simply do this in a Terminal:

convert *.jpg output.pdf

and if the resulting PDF is a bit too big you can try:

convert -quality 60 *.jpg output.pdf

Of course ImageMagick also works on other Unix systems, and even on cygwin.

  • 4
    In case PDF is generated with rotated images, use convert -quality 60 -rotate 90 *.jpg output.pdf
    – Ivan Mir
    Commented Dec 30, 2016 at 15:58
  • 1
    This worked good for me but it does convert them all into one PDF file. If you want a PDF for every jpg you need to have a loop in your command like you suggested in the comment above.
    – ArchonOSX
    Commented Mar 22, 2018 at 19:10

Do not install anything else. macOS already has what you need. Just use "sips"

In my example a file is called "file.jpg" and I want to convert it to "file.pdf". Accordingly, I enter this command here.

sips --setProperty format pdf file.jpg --out file.pdf

Now I want to convert all files with the extension ".jpg" to ".pdf". So what do i do I'm making a "for" loop that allows me to easily convert all files from ".jpg" to ".pdf". You can also change the "for" loop to convert png to jpg, for example. No problem at all, just replace formats.

for i in *.jpg; do sips --setProperty format pdf "${i}" --out "${i%.*}.pdf"; done

There is a hidden program in the image capture. This program enables you to convert images to PDF. Since the results are not nearly as good as I described with "sips" it is still there and it is good to know.

It doesn't really have a graphical user interface, but it can still be started via GUI. But I'll show it with the terminal

The program I'm talking about is

/System/Library/Image\ Capture/Automatic\ Tasks/MakePDF.app

Change to the directory with the terminal where the executable file is located.

cd /System/Library/Image\ Capture/Automatic\ Tasks/MakePDF.app/Contents/MacOS

Now we have to start it with our file that we have as a PDF

./MakePDF /Path/to/image

Note: I recommend that you select "Adjust to 8x10" on the shelf. This setting remains persistent. You don't have to keep changing it.

  • 6
    Consider something like: for f in *.[jJ][pP][gG]; do sips -s format pdf "${f}" -o "${f%.*}.pdf"; done Commented Apr 3, 2021 at 20:09
  • can sips convert several jpgs to one pdf? it does not seem because you mention the for loop that converts one jpg to one pdf.
    – Timo
    Commented Apr 27 at 19:28

I don't know if this works with .jpg files but the easiest way I know to convert text is to select print in the file menu, then in the lower left of the print menu select save as PDF.


I've combined @Martin Marconcini suggestion to use Automator with the only answer actually answering the question about "batch converting .jpg files into single .pdf files". Note there that plural form was used both for source and destination.

@BabyBoy suggested to use command line tool sips in 2021, but it's been with Macs since OS X 10.3 Panther released back in 2003, and sips addresses the many or plural part of the posed question.

The script:

for sourceFile in "$@"
    sips --setProperty format pdf "${sourceFile}" --out "${sourceFile%.*}.pdf"

An Automator Quick Action enter image description here Make sure you have set "Pass input" to "as arguments" as per above. "$@" here represents the selected documents/images as input. The sips line sets the format of the sourceFile getting processed by using keys of which pdf is one and --out specifies the source name for naming the resulting pdf. Source and destination path is the same.

sips can do a lot more. Run man sips in Terminal to read about this.

To run after having saved as Quick Action

  1. Select source files in Finder
  2. Right-click/Ctrl-click
  3. Go down to Quick Action in the popupmenu and choose the script

Thanks to both @BabyBoy and @Martin Marconcini for pointing to a great solution. It's great when you can just use what you already got.

  • Using both automator and sips can convert multiple jpgs to one pdf with name e.g. sourceFile1sourceFile2etc.pdf? If I get the naming of pdf file right. Using just sips, you get several pdfs in the loop, correct?
    – Timo
    Commented Apr 27 at 19:34

Preview has "Export as PDF" It's simple to use, and has always worked for me: Preview has "Export as PDF"

  • 2
    The OP explicitly asked "Is there any way to batch convert .jpg files into single .pdf files?" and you cannot batch covert to PDF in Preview! Commented Apr 12, 2021 at 0:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .