The easiest way I can think of is to hook into \caption and add the bookmark with a unique bookmark label (generated by the total number of figures or tables)
To get the total numbers use (well, my ;-)) package xassocnt and associate stepping the relevant counters with them.
The \pdfbookmark[2]{text}{label:name} will add the figure or table entry as subsection level to the current section.
Be careful to use \texorpdfstring{tex content}{pdf content} for specific content of the caption, i.e. \caption{\texorpdfstring{$E=mc^2}{E=mc\textsuperscript{2}}}
\documentclass[12pt]{article} \usepackage{todonotes} \usepackage{graphicx} \usepackage{xassoccnt} \newcounter{totalfigure} \newcounter{totaltable} \DeclareAssociatedCounters{figure}{totalfigure} \DeclareAssociatedCounters{table}{totaltable} \usepackage{float} \restylefloat{table} \restylefloat{figure} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage{caption} \makeatletter \AtBeginDocument{% \let\caption@@caption\caption \RenewDocumentCommand{\caption}{som}{% \IfBooleanTF{#1}{% \caption@@caption{#3}% }{% \IfValueTF{#2}{% \caption@@caption[#2]{#3}% \pdfbookmark[2]{#2}{\@captype:\number\value{total\@cap@type}}% }{% \phantomsection \caption@@caption{#3}% \pdfbookmark[2]{#3}{\@captype:\number\value{total\@captype}}% }% }% } } \usepackage[a4paper, margin=3cm, top=3cm, bottom=3cm]{geometry} \usepackage[bookmarks=true]{hyperref} \usepackage{bookmark} \hypersetup{ linktocpage=true, colorlinks=true, linkcolor=blue, filecolor=blue, urlcolor=blue, bookmarksopen=true } %\captionsetup[figure]{format=bookmarksfig} %\captionsetup[table]{format=bookmarkstab} \bookmarksetup{numbered} \title{\begin{center} My Title \end{center} } \date{} \author{} \begin{document} \begin{titlepage} \maketitle \end{titlepage} \setcounter{page}{2} \newpage \pdfbookmark[0]{Contents}{Contents} \tableofcontents \listoffigures \listoftables \newpage \section{My first section} Bla, bla bla. \begin{figure}[H] \caption{My first Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My first Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end{tabular} \end{table} \newpage \section{My second section} More bla, bla. \begin{figure}[H] \caption{My second Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My second Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \end{document}

Update
This does not use xassoccnt but a simple check of \@captype and increases the relevant \total... counter then.
It uses \currentpdfbookmark which takes care of the section level.
\documentclass[12pt]{article} \usepackage{todonotes} \usepackage{graphicx} \newcounter{totalfigure} \newcounter{totaltable} %\usepackage{xassoccnt} %\DeclareAssociatedCounters{figure}{totalfigure} %\DeclareAssociatedCounters{table}{totaltable} \usepackage{float} \restylefloat{table} \restylefloat{figure} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage{caption} \usepackage{xparse} \makeatletter \AtBeginDocument{% \let\caption@@caption\caption \RenewDocumentCommand{\caption}{som}{% %checking which caption type is here and stepping the relevant total counter \def\temp@@a{figure} \def\temp@@b{table} \ifx\@captype\temp@@a \stepcounter{total\@captype}% \fi \ifx\@captype\temp@@b \stepcounter{total\@captype}% \fi \IfBooleanTF{#1}{% \caption@@caption{#3}% }{% \IfValueTF{#2}{% \phantomsection \caption@@caption[#2]{#3}% \currentpdfbookmark{#2}{\@captype:\number\value{total\@cap@type}}% }{% \phantomsection \caption@@caption{#3}% \currentpdfbookmark{#3}{\@captype:\number\value{total\@captype}}% }% }% } } \makeatother \usepackage[a4paper, margin=3cm, top=3cm, bottom=3cm]{geometry} \usepackage[bookmarks=true]{hyperref} \usepackage{bookmark} \hypersetup{ linktocpage=true, colorlinks=true, linkcolor=blue, filecolor=blue, urlcolor=blue, bookmarksopen=true } \bookmarksetup{numbered} \title{% \begin{center} My Title \end{center} } \date{} \author{} \begin{document} \begin{titlepage} \maketitle \end{titlepage} \setcounter{page}{2}% \newpage \pdfbookmark[0]{Contents}{Contents} \tableofcontents \listoffigures \listoftables \newpage \section{My first section} Bla, bla bla. \begin{figure}[H] \caption{My first Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My first Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end{tabular} \end{table} \newpage \section{My second section} More bla, bla. \begin{figure}[H] \caption{My second Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My second Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsection{Foo subsection} \begin{figure}[H] \caption{My third Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My third Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsubsection{Foo subsubsection} \begin{figure}[H] \caption{My fourth Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My fourth Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \clearpage \section{Yet another section} \begin{figure}[H] \caption{My sixth Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My sixth Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsection{Foo subsection} \begin{figure}[H] \caption{My seventh Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My seventh Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsubsection{Foo subsubsection} \begin{figure}[H] \caption{My eighth Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My eighth Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \end{document}
Next update: With figure etc. numbers
\documentclass[12pt]{article} \usepackage{todonotes} \usepackage{graphicx} \newcounter{totalfigure} \newcounter{totaltable} %\usepackage{xassoccnt} %\DeclareAssociatedCounters{figure}{totalfigure} %\DeclareAssociatedCounters{table}{totaltable} \usepackage{float} \restylefloat{table} \restylefloat{figure} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage{caption} \usepackage{xparse} \makeatletter \AtBeginDocument{% \let\caption@@caption\caption \newcommand{\generatebookmark}[1]{% \belowpdfbookmark{\csname \@captype name\endcsname\ \csname the\@captype\endcsname: #1}{\@captype:\number\value{total\@captype}}% } \RenewDocumentCommand{\caption}{som}{% %checking which caption type is here and stepping the relevant total counter \def\temp@@a{figure} \def\temp@@b{table} \ifx\@captype\temp@@a \stepcounter{total\@captype}% \fi \ifx\@captype\temp@@b \stepcounter{total\@captype}% \fi \IfBooleanTF{#1}{% \caption@@caption{#3}% }{% \IfValueTF{#2}{% \phantomsection \caption@@caption[#2]{#3}% \generatebookmark{#2}% }{% \phantomsection \caption@@caption{#3}% \generatebookmark{#3}% }% }% } } \makeatother \usepackage[a4paper, margin=3cm, top=3cm, bottom=3cm]{geometry} \usepackage[bookmarks=true]{hyperref} \usepackage{bookmark} \hypersetup{ linktocpage=true, colorlinks=true, linkcolor=blue, filecolor=blue, urlcolor=blue, bookmarksopen=true } \bookmarksetup{numbered} \title{% \begin{center} My Title \end{center} } \date{} \author{} \begin{document} \begin{titlepage} \maketitle \end{titlepage} \setcounter{page}{2}% \newpage \pdfbookmark[0]{Contents}{Contents} \tableofcontents \listoffigures \listoftables \newpage \section{My first section} Bla, bla bla. \begin{figure}[H] \caption{My first Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My first Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end{tabular} \end{table} \newpage \section{My second section} More bla, bla. \begin{figure}[H] \caption{My second Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My second Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsection{Foo subsection} \begin{figure}[H] \caption{My third Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My third Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsubsection{Foo subsubsection} \begin{figure}[H] \caption{My fourth Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My fourth Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \clearpage \section{Yet another section} \begin{figure}[H] \caption{My sixth Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My sixth Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsection{Foo subsection} \begin{figure}[H] \caption{My seventh Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My seventh Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \subsubsection{Foo subsubsection} \begin{figure}[H] \caption{My eighth Figure} \missingfigure[figwidth=6cm]{} \end{figure} \begin{table}[H] \caption{My eighth Table} \begin{tabular}{ |c|c|c| } \hline cell1 & cell2 & cell3 \\ cell4 & cell5 & cell6 \\ cell7 & cell8 & cell9 \\ \hline \end {tabular} \end{table} \end{document}

ToCdoes not really include theLoFetc. They are just on the same page (due to short real contents)