Base64 & URL encoder decoder
Encode and decode Base64, URL-safe Base64, and URL/percent strings — with full Unicode support. Live conversion, both directions, nothing leaves your browser.
100% client-side • Full UTF-8 • No registration
Base64 vs URL encoding
Base64 turns arbitrary bytes into ASCII so they survive transport over text-only channels — auth headers, JWT payloads, data URIs, email attachments. The URL-safe variant swaps +/= for -_ and strips padding so the result is safe in URLs and filenames.
URL (percent) encoding escapes characters that have meaning in a URL — spaces, slashes, query separators — so they're carried as literal data instead. Two flavors: encodeURI preserves URL structure, encodeURIComponent escapes everything reserved.
This tool handles all four operations with full Unicode (emoji, CJK, accents) — no btoa() "InvalidCharacterError" surprises.

Encode & decode
Pick a mode, type in either box — the other updates live
Standard Base64 (RFC 4648 §4). Includes +, /, and = padding.
data:text/plain;base64,SGVsbG8sIFNjcmFwcGV5IQ==Need to encode scraped data at scale?
Scrappey returns clean HTML, JSON, or Markdown — encode it however your downstream pipeline needs.
What this tool gets right
Built for developers who hit the edge cases
Full Unicode Support
Encodes emoji, CJK, and accented characters correctly — none of the legacy btoa() InvalidCharacterError pain.
Bidirectional Live
Type in either box; the other updates instantly. Swap sides in one click.
100% Client-Side
All encoding happens in your browser. Auth tokens, keys, and proprietary payloads never touch a server.
URL-safe Variant
Switch between standard Base64 and the URL/JWT-safe variant (no +/= padding) without juggling two tools.
data: URI Output
When encoding Base64, get a ready-to-paste data:text/plain;base64,... URI for HTML/CSS embeds.
Code Snippet Export
Copy the equivalent Python or Node.js snippet for whatever mode you have selected — Unicode handling baked in.
Use in your code
Snippets that handle Unicode correctly
import base64
text = "Hello, Scrappey!"
encoded = base64.b64encode(text.encode("utf-8")).decode("ascii")
print(encoded)
# Decode
decoded = base64.b64decode(encoded).decode("utf-8")
print(decoded)Perfect for
Auth & API Tokens
Inspect Basic auth headers, JWT segments, and bearer tokens without dropping secrets into third-party servers.
Build data: URIs
Embed small assets or JSON payloads into HTML, CSS, or YAML config without a separate file.
Debug Webhook Payloads
Decode percent-encoded or Base64 webhook bodies during integration work — see what the sender actually meant.
Build Query Strings
Verify a search or filter value survives URL encoding cleanly before you wire it into your scraper or client.
Integrations
n8n
Automate workflows visually. Streamline data collection processes.
n8n Template
Pre-built template for modern websites. Simplifies Scrappey integration.
RapidAPI
Access via API marketplace. Easy integration with comprehensive docs.
Apify
Scalable actor-based automation. Reliable browser rendering.
MCP Server
AI-powered browser automation. Intelligent session management.
Scrappey CLI
Scrape from your terminal. One command, pipeable output, CI-ready.
Claude Code Skill
Portable skill for Claude Code + Codex. Browser-backed data access on demand.
LangChain
LangChain connector — clean web data for any chain or agent.
LlamaIndex
LlamaIndex reader — load modern web pages straight into RAG.
Zapier
Connect with 7,000+ apps. Automate workflows easily.
Make
Visual workflow automation. Connect with 1,000+ apps easily.
Start building with Scrappey
Try it free. No subscription, no credit card, instant setup — your trial is waiting.