You’ve probably tried this. You paste your resume into ChatGPT, ask it to tailor it to a job posting, and the content that comes back is… actually pretty good. Better wording, better keywords, tighter bullets. Then you paste it back into your document and everything is destroyed. Columns are gone. Spacing is wrong. Your carefully designed layout looks like it was fed through a blender.

So you try again. “Please preserve my formatting.” “Keep the same layout.” “Don’t change the structure.” It doesn’t matter. The formatting is still gone. And the frustrating part is it feels like it should be easy — like the AI is just being lazy or ignoring you.

It’s not. There’s a real technical reason this happens, and once you understand it, the fix becomes obvious.

ChatGPT literally cannot see your formatting

This is the thing most people don’t realize. When you paste your resume into ChatGPT, it doesn’t see what you see. You see columns, bold headers, carefully aligned dates, consistent spacing, maybe a subtle line separating your sections. The model sees a flat stream of text.

Large language models work with tokens — chunks of text, roughly a word or part of a word at a time. They have no concept of visual layout. They don’t know what “left column” or “right-aligned” means. They don’t understand margins, font sizes, or whitespace. When you paste formatted text, all of that visual structure gets flattened into a single stream of characters.

So when you say “preserve my formatting,” you’re asking the model to preserve something it never received in the first place. It’s like handing someone a transcript of a song and asking them to keep the melody.

Why “just use a Word template” doesn’t work either

The common workaround people suggest is to use a Word or Google Docs template — get your tailored text from ChatGPT, then manually paste it back into your template. This works, sort of. But it’s tedious and error-prone. You end up spending 20 minutes fixing bullet alignment, re-bolding headers, adjusting spacing that shifted when you pasted. If you’re tailoring to multiple jobs, multiply that by every application.

The deeper problem is that Word and Google Docs store formatting as invisible metadata attached to text. When you copy text out, the formatting metadata stays behind. When you paste new text in, you’re fighting the template’s existing formatting rules. It’s a constant battle between what you want and what the word processor thinks you want.

The trick: give the AI code, not text

Here’s the insight that changes everything. Language models are terrible at understanding visual structure (because they can’t see it), but they’re excellent at understanding code (because code is text). And there’s a document format where the structure is written explicitly as code: LaTeX.

LaTeX is a typesetting language used heavily in academia and increasingly in tech. Instead of using invisible formatting rules like Word, LaTeX describes your document’s structure in plain text commands. A bold section header isn’t secretly bold — it’s wrapped in a command that says “make this a section header.” Columns aren’t invisible layout guides — they’re explicitly declared in the code.

When you give ChatGPT a LaTeX resume, it can see everything. The sections, the hierarchy, the bullet structure, the spacing, the layout — it’s all right there in the code. The model can modify the content while leaving the structural commands completely intact, because it understands the difference between “this is a bullet point” and “this is what the bullet point says.”

What this looks like in practice

Say your resume has a bullet point that looks like this in LaTeX:

\resumeItem{Built internal data pipelines to automate quarterly reporting}

And you want to tailor it for a job that mentions “ETL development.” You paste your full LaTeX resume plus the job posting into ChatGPT and tell it to tailor the content. The output preserves the structure exactly:

\resumeItem{Developed ETL pipelines to automate data ingestion, reducing manual processing time by 40\%}

The \resumeItem{} command is untouched. The formatting is guaranteed to be identical when you compile it. Only the words inside changed. (For more on the line between rewording and fabrication, see how to tailor your resume without lying.)

How to actually do this

If you want to try this yourself, here’s the process:

  1. Get a LaTeX resume template. Overleaf has hundreds of free ones. Pick one you like, paste in your information, and compile it to make sure it looks right.
  2. Copy your full LaTeX source code. This is the raw .tex file, not the compiled PDF.
  3. Paste it into ChatGPT along with the job posting. Tell it something like: “Here is my resume in LaTeX and a job posting. Tailor the resume content to this role. Only modify text inside commands — do not change any LaTeX structure, commands, or formatting.”
  4. Paste the output back into Overleaf and compile. Your formatting should be preserved exactly.

This works because you’ve given the model what it actually needs: structure described in a language it understands. Instead of asking it to preserve something invisible, you’ve made the structure visible.

The catch

There are a few. LaTeX has a learning curve. If you’ve never used it, getting your resume into a LaTeX template for the first time is a real time investment — expect an afternoon of fiddling. You need to use a tool like Overleaf to compile it into a PDF. And you still have to manually do this for every job application: copy the LaTeX, paste it with the job posting, review the output, compile, download the PDF.

It works. But if you’re applying to 15 or 20 roles, the manual overhead adds up fast.

Why this matters beyond the trick

The broader point here is that formatting is not a cosmetic problem. A badly formatted resume gets skipped. Recruiters spend an average of 6–7 seconds on an initial scan — if your layout is inconsistent, your spacing is off, or your sections don’t align, that’s time wasted parsing structure instead of reading content. (We cover more on what recruiters actually care about in how to tailor your resume in 2026.)

The reason so many AI-tailored resumes look bad isn’t that the AI is bad at writing. It’s that the AI was never given the formatting in the first place. The content-structure gap is the root cause, and LaTeX is one way to close it.