Base64 to TSV with real tabs
The Base64 to TSV tool decodes a Base64 string and shows the tab-separated result with highlighting, one row per line. Because the output contains genuine tab characters rather than spaces, you can copy it straight into Excel, Google Sheets or LibreOffice and the values land in separate columns.
Example
Base64 input:
aWQJbmFtZQljaXR5CjEJQWRhCUxvbmRvbgoyCUxpbnVzCUhlbHNpbmtpDecoded TSV:
id name city
1 Ada London
2 Linus Helsinki
Pasting into a spreadsheet
- Click Copy on the output panel (selecting text by hand can miss trailing tabs).
- Click the top-left cell in your spreadsheet where the data should start.
- Paste. Each tab moves to the next column and each line break to the next row.
Alternatively, use Download to save a file and open it in your spreadsheet application, choosing tab as the delimiter if asked.
Checking the structure
- All values in one column? The original data may have used spaces or commas instead of tabs. For commas, decode with Base64 to CSV instead.
- Ragged rows? An empty value between two tabs is still a column. Rows with fewer tabs than the header are missing trailing values.
- Hex dump output? The bytes are not UTF-8 text — possibly a legacy encoding, a compressed file or a spreadsheet file format.
If the decoded table has a header row, keep it when pasting so column names travel with the data; most spreadsheet and import tools can use the first row as headers automatically.
Encoding pitfalls in exported tables
- A leading byte-order mark. Base64 that starts with
77u/contains the UTF-8 BOM (EF BB BF). It is invisible in most editors but can end up glued to the first header, so a script looking for the columniddoes not find it. - UTF-16 exports. Excel's “Unicode Text” format saves tab-separated data as UTF-16 with a BOM, and its Base64 begins with
//. Every character is followed by a zero byte, so the result is not readable UTF-8; save as UTF-8 before encoding instead. - Windows line endings. Files from Windows end each row with CR LF. Spreadsheets handle that fine, but a stray carriage return stays at the end of the last value in each row when you split lines in a script, which breaks exact comparisons.
Command-line alternative
In a terminal, echo "<base64>" | base64 -d | column -t -s $'\t' decodes the data and lines the columns up for reading. This tool gives you the same result with highlighting, plus copy and download buttons, without needing a shell.
Converting further
Tab-separated data converts easily to other formats. Turn it into JSON with TSV to JSON for APIs, or into comma-separated data with TSV to CSV for tools that expect CSV. To encode edited data again, use TSV to Base64.
Privacy
The decoding runs in your browser, so exported tables containing customer or financial information are not sent to our server. Clear the editor when you are done if you are on a shared computer.