Change table font sizes in LaTeX and Overleaf.
Place a font switch like \small or \footnotesize directly inside your table environment right before \begin{tabular}. The declaration applies to every cell in the tabular block and stops at \end{table}, keeping your surrounding document text untouched.
The short answer: write \small inside \begin{table} before \begin{tabular} to scale down an entire table. For a single column, load the array package and add >{\small} to your column specification.
Change font size for an entire table
The cleanest way to resize a table is placing a standard LaTeX font size switch inside the floating environment.
| Command | 10pt Base | 11pt Base | 12pt Base |
|---|---|---|---|
| \tiny | 5pt | 6pt | 6pt |
| \scriptsize | 7pt | 8pt | 8pt |
| \footnotesize | 8pt | 9pt | 10pt |
| \small | 9pt | 10pt | 11pt |
| \normalsize | 10pt | 11pt | 12pt |
| \large | 12pt | 12pt | 14.4pt |
| \Large | 14.4pt | 14.4pt | 17.28pt |
| \LARGE | 17.28pt | 17.28pt | 20.74pt |
| \huge | 20.74pt | 20.74pt | 24.88pt |
| \Huge | 24.88pt | 24.88pt | 24.88pt |
A LaTeX float environment forms its own local group. Any font command issued between \begin{table} and \end{table} automatically resets once the float ends, so you do not need to wrap the switch in extra curly braces.
Insert the switch immediately after \begin{table} or after your \centering command. Standard document classes like article, report and book support ten relative font switches: \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge and \Huge. There is no command called \medium; the default baseline body size is always \normalsize.
Four ways to adjust table type size
Whole-table sizing with standard switches
Place
\smallor\footnotesizebefore your tabular environment. This keeps font metrics proportional and maintains uniform row spacing across the whole tabular grid.\begin{table}[htbp] \centering \small \begin{tabular}{llr} \hline Experiment & Method & Score \\ \hline Alpha & Stochastic & 84.2 \\ Beta & Deterministic & 91.0 \\ \hline \end{tabular} \caption{Evaluation scores with small font.} \end{table}Exact point size and baselineskip
When predefined steps do not fit your page geometry, set arbitrary point values with
\fontsize{size}{skip}\selectfont. Always specify the second parameter roughly 1.2 times the point size to stop multiline cells from overlapping.\begin{table}[htbp] \centering \fontsize{8.5pt}{10.5pt}\selectfont \begin{tabular}{p{4cm}r} \hline Observation Summary & Value \\ \hline Long descriptive item that wraps nicely & 19.4 \\ \hline \end{tabular} \caption{Table set to an explicit 8.5pt font size.} \end{table}Column-specific font size with the array package
Load
\usepackage{array}in your preamble and prepend>{\small}or another switch before any column specifier. Every cell in that column receives the chosen font automatically without touching individual cell text.% In your preamble: \usepackage{array} \begin{table}[htbp] \centering \begin{tabular}{l >{\footnotesize}p{5cm} r} \hline Code & Description & Cost \\ \hline A1 & Detailed notes formatted in footnote type & 120 \\ B2 & Secondary explanations spanning multiple lines & 450 \\ \hline \end{tabular} \end{table}Modern tables with tabularray
The
tabularraypackage isolates font commands cleanly from cell content. You set type rules for the whole table, specific rows, or target columns inside the environment options.% In your preamble: \usepackage{tabularray} \begin{tblr}{ colspec = {llr}, row{1} = {font = \bfseries}, column{2} = {font = \small}, rows = {font = \footnotesize} } Trial & Approach & Error \\ 1 & Linear & 0.04 \\ 2 & Quadratic & 0.01 \\ \end{tblr}
Handling single cells, headers and captions
| Target Element | Recommended Approach | Required Package |
|---|---|---|
| Entire table body | \small inside \begin{table} | None (built-in) |
| Individual cell | {\footnotesize cell content} | None (built-in) |
| Single column | >{\small} before column specifier | array |
| Header row | \rowfont{\bfseries\small} or tabularray row{1} | tabu or tabularray |
| Table caption only | \captionsetup[table]{font=small} | caption |
If you only need a single cell or header to change size, scope the font switch manually inside braces: {\scriptsize text}. Because ampersands (&) and row breaks (\\) act as group boundaries in LaTeX tables, a font command placed inside one cell will never leak into adjacent columns.
Captions behave differently. Placing \small inside \begin{table} can shrink both the tabular content and the caption text, depending on where you put the command. To keep your table body compact while leaving the caption at the standard document size, load the caption package in your preamble and configure caption typography independently.
Apply table font sizes globally
Typing \small in dozens of tables wastes time and introduces formatting inconsistencies across a thesis or paper.
You can enforce a uniform font size across every table in your document by appending a hook to the standard table environment. Place the etoolbox patch inside your preamble. Every subsequent table float will automatically adopt the specified font switch.
This patch leaves your captions standard-sized if configured with the caption package, yet scales every tabular and booktabs block without requiring manual edits in each file.
Why resizebox causes unreadable tables
A common mistake when squeezing wide tables in Overleaf is wrapping the tabular environment inside \resizebox{\textwidth}{!}{...}. While this forces the table inside the margins, it treats the table as a raw graphic.
This scaling creates two major visual flaws: it scales down text arbitrarily, resulting in unreadable 4.2pt or 6.1pt fonts that vary wildly from table to table, and it scales your border rules unevenly. Thin rules become hair-thin lines while thicker horizontal rules distort.
Instead of resizing the graphic box, reduce padding with \setlength{\tabcolsep}{4pt}, shorten wordy headers, allow automatic multiline wrapping with tabularx or the p{...} column specifier, and use a consistent font switch like \small.
Document font size vs Overleaf editor font size
Searchers often confuse typesetting font sizes in the compiled PDF with changing the text size of the code editor itself inside Overleaf.
To make the code larger while typing in Overleaf, click the Menu icon in the top left corner of the editor interface. Under the Settings heading, find Font Size and switch from the default 12px to 14px, 16px or 18px. This only alters your browser screen while writing and will not change a single dimension in the generated PDF.
Questions
Where should I put \small in a LaTeX table?
Place \small right after \begin{table} and before \begin{tabular}. Because the table float acts as a group, the smaller font applies to the whole table and automatically ends at \end{table}.
Can I use \medium to set table font size?
No, LaTeX does not have a \medium font command. The baseline size between \small and \large is called \normalsize, which restores your document's default text size.
How do I change the font size of just one column?
Add \usepackage{array} to your preamble and use >{\small} in your column specification. For instance, \begin{tabular}{l >{\small}c r} sets only the center column to small text.
Why did \resizebox make my table font too small?
The \resizebox command scales a table like an image until it matches the specified width. When a table has many columns, it shrinks letters down to tiny fractions of a point, creating irregular and illegible text.
How do I change the font size of table captions only?
Use \usepackage{caption} in your preamble, then write \captionsetup[table]{font=small}. This adjusts table caption text throughout the project without touching the font size of the table cells.
How do I set an exact point size like 9.5pt in a table?
Use \fontsize{9.5pt}{11.5pt}\selectfont directly before your tabular environment. The first value sets the font height and the second value sets the line baseline spacing.
How do I make table code larger inside the Overleaf editor?
Open the Overleaf project Menu located in the top-left corner, scroll to Settings, and adjust the Font Size setting. This changes the editor display on your screen without modifying your compiled document.
Try your own paper in Texeno.
Start free, upload a project as a .zip and press Recompile. Upgrade when you need longer compiles.
Start writing