# How to add border for an image?

I use \includegraphics command to insert image to the document. But how can I add a border around this image w/o any margin between border lines and image? It seems to be very easy, but I can't find it in the documentation.

You can add a frame around it by placing it inside a \fbox{...} command.

\fbox{\includegraphics[options]{image}}


The distance can be set by changing the \fboxsep length and the line width with the \fboxrule length, e.g. to draw a tight 1pt thick rule around the image use:

{%
\setlength{\fboxsep}{0pt}%
\setlength{\fboxrule}{1pt}%
\fbox{\includegraphics[options]{image}}%
}%


Using a recent version of my adjustbox package you can use:

\usepackage[export]{adjustbox}
% ...
% or


There is also cframe and cfbox for colored frames. All of these allow for multiple optional values, e.g. frame=<rule width>. See the manual for more information.

• Thanks, \frame works better for me, because I don't need any margin between image and line. – TheBug Jun 13 '11 at 20:15
• I now programmed a frame option for \includegraphics. It will be released with the next package update of adjustbox. – Martin Scharrer Jul 22 '11 at 8:16
• Pleasen i ask if it's possible to have rounded border corners? and how ? thank you. – researcher Sep 8 '12 at 11:49
• @researcher: For rounded corners you need to use TikZ or PS-Tricks. See also How to draw frame with rounded corners around box. – Martin Scharrer Sep 8 '12 at 12:16
• Thanks! the frame option of adjustbox works very well! – rmbianchi Oct 1 '15 at 18:19

I've found that \frame{\includegraphics{image}} command works for my case.

• Nice, I didn't know that \frame existed. I now figured out that beamer which defines its own \frame macro and frame environment also supports the normal \frame inside them (be saving and then restoring the default definition locally). – Martin Scharrer Jun 28 '11 at 17:25
• Note that \frame will cause the final box to have no depth, which is fine for image but mostly not for text. {\setlength{\fboxsep}{0pt}\fbox{..}} however will keep the original depth, so that letters like 'y' and 'g' are not moved up. – Martin Scharrer Jul 22 '11 at 8:14
• I found this to be problematic in Adobe. As you zoom in/out some sides of the box will dissapear – puk Jun 1 at 23:47

You need more fancy frame? The settings that you can adjust:

\fboxsep=10mm%padding thickness
\fboxrule=4pt%border thickness


and

%\fcolorbox{bordercolor}{paddingcolor}{image}
\fcolorbox{red}{yellow}{\includegraphics[width=0.5\linewidth]{foobarbaz}}


\documentclass[demo]{article}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{blindtext}

\fboxrule=4pt%border thickness

\begin{document}

\blindtext

\begin{figure}[hbtp]
\centering
\fcolorbox{red}{yellow}{\includegraphics[width=0.5\linewidth]{foobarbaz}}
\caption{This is a black box for demo purpose.}
\label{fig:foobarbaz}
\end{figure}
\blindtext
\end{document}

• Thanks for such complete example, it will help me with my next experiments. – TheBug Jun 14 '11 at 15:26

A tcbox (or a tcolorbox) were missing in this list. Some simple examples:

\documentclass[a4paper]{article}
\usepackage[most]{tcolorbox}
\begin{document}
\tcbox{\includegraphics[width=5cm]{frog}}

\tcbox[colframe=green!30!black,
colback=green!30]{\includegraphics[width=5cm]{frog}}

\tcbox[sharp corners, boxsep=5mm, boxrule=1mm,
colframe=green!30!black, colback=white]
{\includegraphics[width=5cm]{frog}}
\end{document}


• Although this is the hardest solution, it is much better than the top rate solution by @theBug – puk Jun 2 at 0:05

Somebody tell me if I've missed an answer already covering this, but my favourite way to do this is using efbox and this is my go-to image-framer for simple framing.

\documentclass[border=9pt]{standalone}
\usepackage{efbox,graphicx}
\efboxsetup{linecolor=green,linewidth=10pt}
\begin{document}
\end{document}


[Disclaimer: code for the image is somewhere on this site, but it's mine so I don't feel obligated to find it.]

• Any cat seeing this must give +1. – user194703 Dec 9 '19 at 22:57
• @Schrödinger'scat Beats example-image-a. I think the mwe package needs more cats! – cfr Dec 9 '19 at 22:59
• How about example-image-meow? – user194703 Dec 9 '19 at 23:00
• @Schrödinger'scat example-image-purr, example-image-silent-glare, example-image-hiss, example-image-growl, example-image-prowl ...? – cfr Dec 9 '19 at 23:03
• I think you got the point. ;-) – user194703 Dec 9 '19 at 23:04

For someone who wants to achieve a similar affect in ConTeXt, \externalfigure accepts all the options of \framed, so one can draw a border using:

\externalfigure[file][frame=on]


I use this command.

 \usepackage{graphicx}

\setlength{\fboxsep}{0.005pt}
\newcommand{\tmpframe}[1]{\fbox{#1}}
%\renewcommand{\tmpframe}[1]{#1}


use example:

  \begin{figure}
\centering
\tmpframe{\includegraphics[width=0.99\linewidth]{images/pathToImage.png}}
\caption{Some caption text).}
\label{fig:myRef}
\end{figure}


If you want to print a picture without a frame, use renewcomand in comment.