Press
+V
Becomes
→ live at /b/yourblog

Paste to publish

Press Cmd/Ctrl+V on the home page and your clipboard becomes a real blog post - with its own URL - in under a second. A photo, a screenshot, an article URL, a YouTube link, a paragraph of text: paste it, get a page. You can also drag-and-drop a file from your desktop. No uploader, no setup, no account between paste and a live URL.

No sign-up between paste and a live URL

URLs unfurl into rich preview cards automatically

Claim the blog with an account when you're ready

Tout ce que vous pouvez glisser, coller, importer

Pas de conversion préalable, pas d'export-import. Posez un fichier sur la page, ou collez son contenu — chaque type est reconnu et inséré au bon endroit, avec le bon rendu.

  • Images

    PNG, JPEG, WebP, GIF — plus HEIC from iPhones (auto-converted on upload).

  • Vidéos

    MP4, WebM, MOV, MKV, AVI, OGG. Hébergées en lecture inline.

  • Audio

    MP3, WAV, FLAC, AAC, M4A. Lecteur HTML5 natif intégré au post.

  • Markdown & texte

    .md, .markdown, .txt — convertis en blocs riches à l'import.

  • HTML

    Déposez un .html : on l'héberge en embed interactif sandboxé.

  • Liens

    YouTube, Vimeo, articles — collez l'URL, on génère un aperçu.

drop · anything

glisser un fichier ici

PNG
JPEG
WebP
MP4
MOV
MP3
.md
.txt
.html

Write first, sign up later

Paste anything from the home page and a real blog appears at a real URL — no account, no email. The blog lives, the URL is shareable. When you're ready, sign in once and claim it. The posts you wrote anonymously become yours.

No friction: paste, get a URL, share it

Claim later — your existing posts come with you

Your browser remembers — only the original creator can claim

1
Paste — no sign-in
⌘V → /b/k3p4mz9q
2
Write more, share
URL is live, posts pile up
3
Claim when you're ready
Sign in → archive becomes yours

Migrate from your old blog in one paste

Paste your existing RSS or Atom feed URL and we pull every post in. Images are downloaded and rehosted — no broken hot-links the day your old platform goes offline. Slugs and dates are preserved.

WordPress, Ghost, Substack, Medium — anything that exposes a feed

Images mirrored on our servers so the migrated archive is self-contained

Original publish dates and slugs kept — your old links stay meaningful

import · rss
WordPress
Substack
Ghost
Medium
https://oldblog.com/feed.xml
42 posts · 87 imagesdone

Photos: paste, drop, done

Drop a photo from your desktop, paste a screenshot from your clipboard, or drag a file straight onto the page. The image appears inline, full-quality, with a resize handle. Type**bold**, ## headings, or any other Markdown shortcut and it converts as you type. No image-host setup, no upload-then-paste-the-URL dance.

Paste images straight from your clipboard with Cmd/Ctrl+V

Drag-and-drop a file from your desktop, anywhere on the page

Resize handles, sketches, and freehand drawing built in

Same affordance for videos and audio - drop it, embed it

Markdown shortcuts work too if that's how you write

Untitled
Drop image hereor paste with Cmd/Ctrl+V
javascript
async function paste() {
  const blog = await clipboard.read()
  return 'live in 1s'
}

Code blocks, real ones

Paste a snippet — the editor detects the language and syntax-highlights it. Drop a .py, .js, .html, .json file from your desktop and the same thing happens. No fenced-markdown gymnastics, no copy-paste-reformat dance.

Auto-detected language, manual override available

Light or dark theme, picked per block

Drop a code file → instant code block with the right lang

200-buttons.html
interactive · sandboxed

Upload an HTML file, get a live page

Drop a .html file and we host it as an interactive embed — sandboxed, served on your subdomain. Design mockups, micro-tools, one-off pages: publish them without standing up a separate site.

Real iframe rendering — not a screenshot, not a paste

Sandboxed: scripts allowed, same-origin denied

Title and OG description auto-pulled from the HTML

99

Your words go public on your

99th birthday

LettersMemoirsAdvice

Digital Testament

Write letters, memories, and life advice today. They stay completely private until a date you choose -- like your 99th birthday. Then they're published automatically for the people who matter.

Learn more about the testament

Publish in One Click

Any document can become a public page on your own subdomain. No hosting to set up, no deploy step. Toggle "public" and your page is live atyourname.textpad.cloud.

Custom subdomain for your blog

Clean, minimal reading experience

yourname.textpad.cloud
yourname.textpad.cloud

Your blog at your subdomain

Pick a username and your public posts live atyourname.textpad.cloud. Every public document also lands on a clean archive page that lists everything you've written - no theme picker, no setup.

A real subdomain, not a path on a shared site

Auto-generated archive index of all your public posts

Or bring your own domain - see below

Bring your own domain

Already own yourdomain.com? Connect it in one click and your blog serves at your own address, fully white-label. No Textpad logo, no header, no footer, no sign-in prompt. Just your archive and your writing.

Apex (yourdomain.com) and subdomains (www, blog…) supported

SSL certificate auto-issued and renewed for you

Visitors never see Textpad, your domain, your brand

🔒 yourdomain.com
@you
12 public documents
White-label

Paste a URL, get a card

Paste any URL and Textpad fetches the title, description, image, and site name - turning a bare link into a rich preview card. YouTube and Vimeo videos embed inline. Audio files get a player. Your notes look like a magazine, not a list of links.

Automatic unfurl with title, description, and thumbnail

YouTube and Vimeo embed inline as players

Direct video and audio files get a native player

youtube.com
A video you pasted
click
reading…
34 readers spent more than 10s on this post

Likes that count, even silent ones

Readers can tap the heart, but they don't have to. A post that holds a reader for more than ten seconds gets credited automatically. The number of dwell-likes counts as a quieter signal alongside the explicit ones, so the page rewards reading, not just clicking.

One-click likes, anonymous or signed-in

Dwell-time auto-likes after ~10 seconds in view

Reader counter shows how many people lingered

Follow the writers you like

Follow any blog and new posts land in your feed. Followers see your latest entries first; you see theirs. No algorithm picking what's worth reading, just the writers you decided to keep an eye on.

One-click follow on any public blog

Followers chip on each archive shows the audience

Get notified when someone you follow publishes

128 followers

Readers can find you, if you want

Public blogs land on /discover, a chronological grid of recent posts across the platform. No algorithm, no ranking — just visibility. Stay private if you prefer; opt in when you're ready to be read.

Public blogs surface automatically on /discover

Visitors can follow you straight from a card — your future posts reach them

Hidden / private blogs never appear there. The opt-in is your blog status.

/discover
@maya
@noahw
@rin
@jpeg-only
@farah
@kit
Notifications
3
  • @yumi liked your post2m
  • @robin started following you1h
  • @dani published a new post3h

A bell you actually want to open

Likes, follows, new posts from people you follow. Everything routes through one bell in the header. No email blasts, no marketing pushes, no growth-hacky red dot. Just the things that actually happened to your blog.

Likes on your posts and follows on your blog

New posts from the writers you follow

One bell, one click, no email noise

Your feed, no algorithm

/feed shows you the latest posts from the writers you follow, newest first, period. No engagement-bait reordering, no "because you read X" recommendations. Same posts, same order, every time you open it. The boring kind of feed, on purpose.

Chronological, deterministic, no algorithm

Only the writers you chose to follow

Like and follow without leaving the feed

Feednewest first
  • @yumi
    12m
  • @robin
    1h
  • @dani
    4h
yourname.textpad.cloud/feed.xml
<rss version="2.0">
  <channel>
    <title>yourname</title>
    <item>
      <title>Notes on loneliness</title>
      <pubDate>Tue, 14 Apr 2026</pubDate>
    </item>
    <item>...</item>
  </channel>
</rss>

Built-in RSS, no setup

Every blog gets its own RSS feed at yourname/feed.xml — and there's a sitewide one at /feed.xml too. Readers can subscribe in any RSS app, no email, no algorithm in between. You write a post; it shows up everywhere they read.

A feed per blog, plus a global one

Discoverable: announced in <head>, openable in any reader

Updated as you publish — nothing to wire up

Followers-only blog

Three audiences in one switch: public for the world, private for nobody but you, or followers-only for the people who chose to follow your blog. Flip the switch when you want to share something with your readers but keep it off the open web.

Public, private, or followers-only, one toggle

Followers-only posts never get indexed by search engines

Switch any post any time, no rewriting URLs

Who can see this blog?
Public
Anyone with the link
Followers only
The 128 people who follow you
Private
Only you
Reading
Gallery

Reading column or full canvas, your call

Some posts are pure reading and want a narrow column. Others are mostly photos and want the full width of the screen. Each post can switch between the two, and you can pick a default for the whole blog. No CSS, no theme picker, just one toggle per post.

Reading-column default for text-heavy posts

Full-width for galleries, screenshots, and visual posts

Set a blog-wide default, override per post

before/b/yourname/8f3c-9a21-untitled
after/b/yourname/notes-on-loneliness
edit it any time, the old URL keeps redirecting

URLs that read like titles

Every post starts with a random slug so you can publish in one click, then rename it to anything you want. Old URLs redirect to the new one automatically, so a link you shared yesterday still lands on the right post tomorrow.

Rename a post and its URL follows

Old URLs auto-redirect, no broken links

Auto-suggested from the title, manual override always available

Markdown that just becomes the page

Paste a chunk of Markdown, drop a .md file, or type Markdown shortcuts as you go. Headings, bold, italics, lists, code blocks, blockquotes, links: everything renders as the real thing, not as raw symbols. The same parser handles paste and drop, so the result is identical whichever path you take.

Headings, lists, quotes, code, links: all rendered

Inline shortcuts convert as you type

Drop a .md file and get the same rich result as paste

You type
# Title
**bold** *italic*
- one
- two
[a link](https://…)
You get
Title
bold italic
  • one
  • two
a link

Find anything you wrote

Every blog has a search box. Type any word from any post and you get the matching ones — full-text, instant, no ranking magic. Months-old notes are one keystroke away.

Full-text search across every public post

Title and body, not just title

Image alt-text indexed too

yourname.textpad.cloud
paris3 results
A morning in Paris
Apr 12 · 4 min read
Notes from the Métro
Mar 02 · 2 min
Why I came back
Feb 14 · 6 min

Your data, yours to keep

One click in Settings → Data & Privacy and you get a ZIP of every doc as Markdown + JSON metadata. No lock-in, no "we own your content" clause. If you ever want to leave, your archive walks out with you.

A ZIP with every post as a .md file

JSON sidecar per post: title, slug, dates, tags

Single post export too — one button per doc

settings · data & privacy
Download a complete archive of your documents in Markdown and JSON. Yours to keep, forever.
textpad-export-2026-05-09.zip
curl
$ curl textpad.cloud/api/public/\
       documents/a3f2…

{
  "title": "A morning in Paris",
  "content_json": { … },
  "author": "@yourname",
  "published_at": "2026-04-12"
}

A read-only JSON API, free

Every public post is reachable as JSON at /api/public/documents/<id>. CORS is wide open. Build a portfolio that pulls from your blog, a custom reader, a static-site generator that mirrors your archive — your content, your pipeline.

Public posts → public JSON, no auth needed

CORS-friendly: fetch from any frontend

Private posts stay private — only is_public is exposed

🇬🇧English
Paste anything to start a blog.
🇫🇷Français
Collez n'importe quoi pour démarrer un blog.

English and French, fully translated

Every screen, every button, every email exists in both languages. The locale is auto-picked from your browser on first visit; switch any time from the footer.

Two locales kept in sync, not partial machine translations

UI, transactional emails, error messages — all covered

Projects
Personal
Ideas.doc
Journal.doc
Work
Meeting notes.doc

Drive & Tabs

Organize documents in nested folders with drag-and-drop. Open multiple documents in browser-like tabs that persist across sessions. Right-click to rename, move, or delete -- just like your desktop.

And more

Drawings & sketches

Beyond paste-and-drop images, sketch diagrams and freehand illustrations directly inside your document.

Rich Media

YouTube, audio players, link previews. Paste any URL and it becomes a beautiful embedded card.

Private by Default

Documents are invisible until you share the link. High-entropy URLs, no indexing, no forced sign-ups.

IPFS Storage

Opt-in mirror to the decentralized web. Your data still lives on our servers — IPFS just adds a public, content-addressed copy. If we ever shut down, your blog stays reachable via any IPFS gateway. No dependency on us, no migration scramble.

Try it now

No account required. Start writing immediately.

Open the Editor