Tilt to Read
Tilt to Read hides a short line of text by stretching it k times too tall. Perspective shortens that same axis by cos(θ), so the words come back only when your eye sits arccos(1/k) off the screen's normal. At the default 4× that is 75.5° off: rest the phone almost flat, about 14.5° above the table, and sight along the screen.
Reveals at 75.5° from the screen's normal — the phone raised 14.5° from lying flat.
Drag the slider — or move the pointer down the window — to simulate lowering the screen. For the real illusion, tilt the device itself and sight along the screen.
How to use
- Type your secret message in the field above.
- Pick an illusion strength — a higher number needs a flatter view, with the phone raised less from the table.
- Open this page on a phone or tablet and tilt it almost flat, then look along the screen from the bottom edge.
- Share the link or download the PNG — your friend has to tilt to read it.
Share Your Hidden Message
Popular Tools
How does tilt to read text work?
Every letter is scaled on the vertical axis only. Head-on you see type that is k times too tall and reads as texture. Move your eye off the screen's normal and perspective shortens that same axis by cos(θ). The two cancel exactly when cos(θ) = 1/k.
That one equation is why this page can tell you the angle before you go hunting for it. At 4× the message resolves 75.5° off the normal, the phone raised 14.5° from flat. At 8× you need 82.8°, a sliver above the glass — which is why nobody stumbles onto an 8× message by accident.
What angle does each stretch strength need?
The whole illusion in numbers. Pick a strength on the tool above, then read across for the angle at which the words snap back into shape.
| Stretch (k) | Reveal angle from the normal | Phone raised from flat | Feels like | Good for |
|---|---|---|---|---|
| 2× | 60.0° | 30.0° | A shallow lean, phone half raised | Printed cards and notes read at arm’s length |
| 3× | 70.5° | 19.5° | Head dropped to desk height | Stories and Reels, where viewers tilt once |
| 4× | 75.5° | 14.5° | Phone almost flat on the table | Default — the safe all-round setting |
| 5× | 78.5° | 11.5° | Eye almost level with the table | Group-chat puzzles |
| 6× | 80.4° | 9.6° | Cheek nearly on the glass | Escape-room and treasure-hunt clues |
| 8× | 82.8° | 7.2° | Sight grazing the surface | Nobody finds this by accident |
Column two is measured from the screen's normal — the line running straight out of the display. Column three is the same angle expressed as device tilt: how far the phone is raised from lying flat while your eye stays where it is. That is the number the live readout tracks, and the window shrinks with strength, from roughly 10° wide at 2× to about 2° at 8×.
How do I make tilt to read text on a phone?
Type up to 50 characters and choose a strength. Nothing has to be granted or installed: the screen simply holds the line at the stretch you picked, and that stretched line is the anamorphic image itself. Send the share link or the PNG to the phone that will read it, and let the reader do the tilting.
Rest the phone almost flat and sight along the screen from the bottom edge. As your eye leaves the normal the stretched letters shorten, and they read as words at arccos(1/k): 75.5° off the normal at 4×, the phone raised about 14.5° from flat, and 82.8° — barely 7.2° above the glass — at 8×. The tilt slider under the preview walks through the same angles on screen, so you can watch the reveal before you send it.
How do I turn a hidden message into a tilt to read meme?
Use the download button. The export draws your text on an 800 × 400 PNG at the strength you selected, adds the one-line hint and a small freewebtools.com watermark, and saves it as hidden-message.png. Post that instead of the link when a platform strips URLs or when you want the reveal to happen inside the feed.
Keep meme text short and in capitals. The canvas shrinks the type until it fits 720 pixels of width, and again if the stretched line would stand taller than 250 pixels on the 400-pixel canvas, so a long caption at 8× ends up small before it is ever stretched — and a small stretched letter is easy to read head-on, which kills the joke.
Why can't I read it on a desktop screen?
Because a desktop screen stands upright in front of you: your eye is close to its normal, where the stretch is at full height. There are two ways round it. Move your eye — lower your head until it is nearly level with the bottom edge of the monitor — or use the on-screen simulation: dragging the tilt slider, or moving the pointer down the window, foreshortens the letters for you, and at 4× they read as words about five sixths of the way down. This page never reads motion sensors, on a desktop or on a phone: freewebtools.com sends a Permissions-Policy header that switches the gyroscope off site-wide, so there is no prompt to accept and nothing to enable.
Sources
About Tilt to Read
Tilt to Read turns a short line of text into an anamorphic message: the letters are stretched along one axis so that, seen straight on, they collapse into tall smears, and snap back into words only from a steep viewing angle. It is the trick painters were using in the sixteenth century — the skull at the foot of Holbein's The Ambassadors is unreadable from in front of the canvas and resolves when you walk past its right-hand edge — moved onto a phone screen.
The maths is a single line. If the type is stretched by a factor k, foreshortening cancels it when cos(θ) = 1/k, where θ is the angle between your eye and the screen's normal. At 4× that is 75.5° off the normal, which is a phone raised about 14.5° from lying flat; at 8× it is 82.8°, a sliver above the glass. The strength control moves k between 2× and 8× and prints the matching angle as you drag, so you can aim for a mild squint or for something almost nobody finds by accident.
On screen the preview holds the text at the stretch you chose, which is exactly the anamorphic image; you recover it by moving your eye, not by waiting for the page to react. The tilt slider under the preview simulates that move — 0° is the phone flat on the table, 90° the screen upright in front of you — and the rendered height is the strength times the sine of that angle, so the message clears as that product passes 1: a window about 4° wide at 4× and 2° at 8×. On a desktop the pointer height does the same job. The page reads no motion sensors on any device, because the site sends a Permissions-Policy header that switches the gyroscope off, so there is no permission prompt and nothing to enable.
While you type, nothing leaves your browser: the preview is drawn on your own device. A share link is different — the message rides in the ?msg= and ?k= parameters, so whoever opens that link hands the text to this site's web server in the request, and to the analytics and advertising scripts the page loads. Share one like a postcard, not like a safe. The PNG export redraws the same stretched text on a dark 800 × 400 canvas at the strength you chose, ready to post somewhere a link would not survive.
Use Cases
How to use
Type the message you want to hide, up to 50 characters.
Set the illusion strength between 2× and 8×; the page shows the viewing angle each setting needs.
Open the page on a phone, or send the share link — nothing has to be granted, enabled or installed.
Lower the phone until it is nearly flat, sight along the screen from the bottom edge, then copy the share link or download the PNG to send it on.
Pro Tips
- Keep it under about 20 characters. A longer line is shrunk to fit the frame, and on a phone a really long one wraps on to several lines; either way the letters end up smaller, and small stretched letters are easy to read head-on, which spoils the hiding.
- Capitals hide better than lowercase: letters with no descenders, dots or bowls stretch into clean vertical strokes with far fewer giveaway shapes.
- Start at 3× or 4×. At 2× the message is close to legible head-on; at 8× the reveal window is barely 2° wide and most people give up before they find it.
- On a phone the reveal sits about 14.5° off the table at 4× — rest the device nearly flat and lower your eye toward the bottom edge slowly, instead of waving the phone around.
- Send the PNG rather than a screenshot of the preview: a screenshot freezes whatever angle the preview happened to be at, and the illusion goes with it.
Frequently Asked Questions
The letters are scaled on the vertical axis while their width stays put, so head-on you see type k times too tall. Tilting the screen away compresses that axis by cos(θ), where θ is the angle between your eye and the screen's normal. The two cancel when cos(θ) = 1/k — at the default 4×, 75.5° off the normal.
About 14.5° at the default 4×: leave the phone nearly flat on the table and lift the far edge a touch, or keep it flat and drop your eye toward the bottom edge. What counts is the angle between your eye and the screen's normal — 75.5° here — and the window is roughly 4° wide at 4×, only 2° at 8×. The tilt slider under the preview walks through the same angles on screen.
Because you are sitting square in front of the screen, where the stretch is at full height. Drag the tilt slider under the preview, or move the pointer toward the bottom of the window, and the page foreshortens the letters for you. For the genuine optical version, lower your head until your eye is nearly level with the bottom edge of the screen, or open the share link on a phone you can lay flat.
Yes. Type the message, choose a strength, then press the download button. You get an 800 × 400 PNG with the text stretched at that strength, scaled so the stretched line always fits inside the frame, plus a one-line hint and a small watermark. Because it is a flat image it survives Instagram, WhatsApp and Discord compression and works anywhere a link would be stripped.
Copy the share link. Your text travels in the ?msg= part of the URL and the strength in ?k=, so the page rebuilds the same illusion when your friend opens it. The message box also starts masked on their screen, so a shoulder-surfer does not read the plain text before they do.
Nothing is stored on our side, and while you type the text stays on your device. A share link is the exception: the message rides inside the URL, so opening that link sends it to this site's web server in the request, and the analytics and advertising scripts the page loads see that address too. The exported PNG carries the words as pixels. Treat a share link like a postcard — fine for a punchline, wrong for a password.
That is deliberate. The preview never drops below 35 percent opacity, so people can see there is something to find instead of assuming the page is broken. The stretch, not the fading, is what hides the words: at 4× each letter is four times its normal height and the eye reads it as texture.
It sets k, the vertical stretch. 2× resolves 60° off the normal, an easy lean. 4× needs 75.5°. 8× needs 82.8°, about 7° of tilt above a flat phone, which almost nobody finds by chance. Higher strength also makes the letters taller, so the message looks more obviously like it is hiding something.
Yes, on both, and it asks for nothing: the illusion is optical, not sensor-driven. The phone shows your line at the stretch you chose, and you recover it by laying the device almost flat and sighting along the screen — the same move that works on the exported PNG or on a printed card. This page reads no motion sensors at all, because the site sends a Permissions-Policy header that switches the gyroscope off, so no permission prompt appears on iOS or Android.
Yes, one axis of it. Anamorphosis distorts an image so that it only composes from a single viewpoint — Holbein's 1533 painting The Ambassadors hides a skull that resolves from the right-hand edge, and pavement artists use the same trick. Here the distortion is a pure vertical scale, which is why the recovery angle has a clean formula.