Fixing Broken SharePoint Links

If you’ve ever worked with SharePoint, you’ve probably seen this happen:

Someone moves a folder. Or renames a file. And now the link doesn’t work…

Now you’re stuck manually going through each folder you think it might be in, hoping you get lucky or can suss out where it might have gone.

This isn’t a problem when you can just ask the document owner, but half the time, the documents are so old that you have no idea who the owner is or where to start.

The best place most people start is by analysing the URL and trying to find any folder name they recognise and try starting there.

So I built a small Python tool to help.

What It Does

You paste a SharePoint URL. Click “Run.”

It cleans the link (i.e. decodes it back into the format we’re most common with), breaks it into parts, and shows each folder level as a clickable link, with the last line (the actual file) being struck through to visually indicate it’s no longer accessible.

You can still click the last working folder and look around – most of the time, the file has just moved to a subfolder nearby.

No more manually cleaning up the URL, copy-pasting each level into your browser to see what still works, or just plain guessing around. The tool does it for you.

Why It’s Safe

I fully anticipate that some non-technical people may get a bit nervous with pasting sharepoint links anywhere other than their browser.

But to clarify:

This tool does not access, store, or transmit any SharePoint data.

In other words:

This tool doesn’t touch anything. It doesn’t scrape content, query folders, or download files.
It doesn’t read from or write to disk.
It doesn’t access your network or send data over the internet.
It doesn’t connect to SharePoint behind the scenes (there’s no connection to your SharePoint system, login credentials, or internal APIs).

It just simply decodes the URL and reconstructs the folder levels locally.

When you click a folder in the interface, it opens that URL in your default browser, just like if you had typed it yourself.

That’s it.

There’s nothing risky here. It’s just automating what we already have to do when dealing with broken links manually, it just does it faster and smarter.

Why I Built It

Partly out of frustration, but mostly because I like building things that improve efficiency.

I got tired of broken links and guesswork. I wanted something that could show me the structure of a URL and let me jump to the last known good point without wasting time.

This saves me clicks. Saves me effort. And on bigger projects with dozens of links, it adds up.

The tool is built in Python with Tkinter, so it runs as a small desktop app provided you have the prerequisites. I could wrap it up into an .exe and distribute it, but I can imagine a lot of people would have trust issues if they don’t know how to check the code for themselves, so for now it will just stay as a .py file on my desktop…

more insights

Deploying AI

Some notes on AI deployment from Sol Rashidi’s book ‘Your AI Survival Guide: Scraped Knees, Bruised Elbows, and Lessons Learned from Real-World AI Deployments‘. She’s

Read more >

SQL Dump

Crib notes from when I used SQL to manage my online platform’s database. Focuses on the most practical 20% that delivers 80% of the results.

Read more >

Automating Construction News

Reading industry news is part of the job. But doing it manually every day—clicking headlines, skimming paragraphs, filtering out noise—is a time sink. So I

Read more >