How to insert a table in Substack
And improvements in iPhone performance over the years
I investigated how Nate Silver's Substack incorporates complex tables and charts. Initially, I thought he had a special arrangement with Substack, but I discovered that anyone can do the same using Datawrapper. The tool is useful for both Substack and self-hosted blogs/websites, being free and highly customizable. Here's the process:
Go to Datawrapper's Chart/Table creation page.
Paste or upload your data.
Select a presentation format, ranging from classic raw data tables to various chart types. There are numerous customization options, such as hiding specific columns on mobile devices.
Register an account (if you haven't already) and click Publish. You'll receive a link like datawrapper.dwcdn.net/fk22i/1/.
Copy-paste this link into your Substack post (or embed the HTML for self-hosted blogs) to display your table or chart.
Note: You'll need to republish and update the link in your post whenever you make changes to your Datawrapper content.
It’s weird that Substack has been so ‘quiet’ about the Datawrapper integration despite releasing it back in May 2023: it’s not visible in the Substack writers menu and there’s no ‘How do I insert a table?’ page on their support website. It’s an awesome tool and probably the best embeddable table/chart solution that I’ve seen.
Update: Substack published an official list of supported embeds in December 2024, but it’s incomplete. Here’s the full list, including several I found by inspecting Substack’s source code:
Officially documented: YouTube, TikTok, Spotify, Datawrapper, Polymarket, LaTeX, TradingView (financial charts)
Undocumented (found via source code): Instagram, Vimeo, SoundCloud, Apple Podcasts, GitHub Gists, Bandcamp, OpenSea, Lichess
All of these work by simply pasting a URL into the editor. It’s odd that Substack still doesn’t surface most of these in their writer menu or documentation.
Here are a couple of sample tables I’ve generated. The first one shows the progress of iPhone’s improvements over the years. Some interesting facts:
The first iPhone is 106x less powerful than the iPhone 17. It’s now been 18 years since the first iPhone came out, which means CPU performance has been doubling every 32 months on average, somewhat worse than Moore’s law predicting a doubling every 24 months.
iPhone 3G had the exact same CPU as the first iPhone, but then 3GS improved performance by 100% over a single upgrade cycle.
The frequency of “worthwhile” upgrades (defined as 2x CPU performance improvement) has been decreasing, supporting the common wisdom that yearly upgrades are no longer worth it.
And here’s the table for the ‘Pro’ series:

UGH so complicated. I just want simple tables.... this is too many steps for an old person.
This might not be the solution you're looking for, but it's possible to insert tables in the form of LaTex. Unfortunately only built-in packages seem to work, I couldn't get "table" or "tabular" so you're very limited in terms of formatting.
Example:
\begin{array}{c c}
\textbf{Measurement outcome} & \textbf{Expression} \\
\hline
00 & \alpha |0\rangle + \beta|1\rangle \\
01 & \alpha |1\rangle + \beta|0\rangle \\
10 & \alpha |0\rangle - \beta|1\rangle \\
11 & \alpha |1\rangle - \beta|0\rangle \\
\end{array}