ack in the early 1980s, DOS filenames couldn’t be more than 8 characters long with a period and a 3-character extension. That was limiting, so when Apple developed the Mac operating system in 1984, it allowed longer names and eliminated the need for an extension, although Mac OS X’s Unix roots meant a return of the filename extension in 2001. Since then, filename restrictions have loosened to the point where it’s easy to think that they no longer exist.
If only that were true! In some ways, the situation has become even cloudier, thanks to additional limitations from file-sharing services like Dropbox, OneDrive, and Box. (Google Drive’s native Web interface reportedly has no naming limitations, but files whose names contain Windows or macOS forbidden characters may not sync via Google Drive’s desktop software.) Plus, people tend to move files between operating systems more than ever before—if you’re sending a file from your Mac to a Windows user through Dropbox, you need to make sure that all three can deal with the filename.

At least length isn’t something that you generally have to think about these days, since both macOS and Windows—and the cloud services—accept filenames up to 255 characters in length. Technically speaking, Windows limits directory paths (the enclosing folder names along with the filename) to 255 characters, but even still, that shouldn’t be difficult to avoid.
What could go wrong if you run afoul of a naming restriction? macOS and Windows may simply not let you type the character—for example, you can’t put a colon in a Mac filename. Putting a period at the start of a Mac or Unix filename will hide the file. Cloud sharing services might rename the file, or you might encounter syncing issues where files don’t appear where they should. Certain characters can also cause trouble when files are used at the command line.
Here are the characters to avoid and the operating systems and services that prohibit them:
-
: (colon): macOS, Windows, Dropbox, OneDrive, Box
-
. (period): macOS (at the start of a name), Dropbox
-
/ (forward slash): macOS, Windows, Dropbox, OneDrive, Box
-
\ (backslash): Windows, Dropbox, OneDrive, Box
-
< (less than): Windows, Dropbox, OneDrive, Box
-
> (greater than): Windows, Dropbox, OneDrive, Box
-
" (double quote): Windows, Dropbox, OneDrive, Box
-
| (vertical bar or pipe): Windows, Dropbox, OneDrive, Box
-
? (question mark): Windows, Dropbox, OneDrive, Box
-
* (asterisk): Windows, Dropbox, OneDrive, Box
-
\^ (caret): Windows (using FAT-formatted drives)
In addition, avoid using special characters like the © (copyright) symbol or emoji 🤷 in filenames. They might work locally, but all bets are off if you share the files in any way.
A few other recommendations:
-
Avoid unusual punctuation; in particular, note that OneDrive renames filenames containing:
-
, (comma) to \^J
-
# (number sign) to \^N
-
& (ampersand) to \^O
-
~ (tilde) to \^F
-
-
Never start or end file or folder names with a space, and avoid spaces in filenames that will be uploaded to a Web or SFTP server.
-
Avoid putting more than one period in a filename, and don’t put a period after a filename extension.
-
Never assume that names are case sensitive—always make sure that similarly named items differ by more than just case.
If all that seems like a lot to keep in mind, here’s the simple rule that will ensure your filenames will work everywhere:
Name files only with uppercase (A-Z) and lowercase (a-z) letters, digits (0-9), and the hyphen (-) and underscore (_), plus a single period (.) and extension.
AI Usage Transparency Report
Pre-AI Era · Written before widespread use of generative AI tools
AI Signal Composition
Score: 0.06 · Low AI Influence
Summary
Filenames should only contain uppercase and lowercase letters, digits, hyphen, underscore, period, and extension. Avoid special characters like colon, forward slash, backslash, less than, greater than, double quote, vertical bar or pipe, question mark, asterisk, caret, comma, number sign, ampersand, tilde.
Related Posts
Leaving Flickr: Migrating 20,000+ Photos to Synology and Taking Back Control
There’s a certain kind of friction you start to notice when you’ve been using a service for a long time. Not enough to make you leave immediately, but enough to make you pause. Flickr had been that kind of service for me. It quietly held years of photos, uploads from old phones, albums I hadn’t looked at in ages, and a massive "Auto Upload" collection that had grown into something I didn’t fully understand anymore.
How I Finally Passed the PMP Exam (After 12 Years of Waiting)
Back in 2013, I registered for a PMI membership with every intention of pursuing my PMP certification. I downloaded the handbook, bookmarked the eligibility requirements, and even told a few friends that I was going to do it "soon." At the time, I thought getting certified would be a straightforward process, but little did I know what lay ahead in terms of studying and preparation.
10 Things You Didn't Know You Could Do With Apple Configurator (That Save Mac Admins Hours)
Most of us treat Apple Configurator like a fire extinguisher: break glass, DFU, restore, move on. But it can do a lot more, and when you know the edges, you can turn a bricked morning into a ship-it afternoon. Below are ten things I regularly use (or wish I’d used sooner) that demonstrate its capabilities beyond just emergency recovery.
The Evolution of Apple Certification: A Journey Through Versions, Challenges & Growth
When I recently passed the Apple Certified Support Professional (ACSP) exam again, I paused to reflect — not just on this milestone, but on the long path I’ve walked through Apple’s certification landscape. My first certification dates back to macOS 10.5, and over the years, I’ve earned credentials across nearly every version since. In that time, the exams — and Apple itself — have transformed significantly.
Secure Software, Secure Career: How I Passed the CSSLP
After passing the CISSP earlier this year, I decided to follow it up with the **Certified Secure Software Lifecycle Professional (CSSLP)** certification. For those unfamiliar, CSSLP is an ISC2 certification that focuses specifically on secure software development practices across the full SDLC—from requirements and design to coding, testing, deployment, and maintenance. My goal in pursuing this certification was to further develop my skills in ensuring the security of software throughout its entire lifecycle.
Managing Bring Your Own Device (BYOD) for Android with Microsoft Intune
Alright, so today we're going to be talking about the management of bring your own device BYOD for Android devices. There's a lot of information out there for the management of iOS devices and you can do that with pretty much any Apple MDM on the market. We just happen to use Jamf where I work, but you could use anything from Braavos to SimpleMDM to Kanji or JumpCloud. Mosyle is also a great option.
BYO with me in 2025: iOS with User Enrollment in JAMF Pro
It really depends on your company's needs. For example, many companies need to hire 1099 contractors and in such a case they come with their own devices but not the correct security settings or enforcements. Remember BYOD is a security construct. The idea here is that you should be securing the company's sensitive data in all forms. This may involve implementing policies for contractor-owned devices, ensuring that all devices accessing company data meet minimum security standards, and regularly reviewing and updating these standards to stay ahead of emerging threats.
Securing BYOD Email Access: Exploring Strategies in Microsoft 365
In today’s mobile-first world, organizations increasingly rely on Bring Your Own Device (BYOD) programs to empower employees while optimizing costs. However, this flexibility introduces unique challenges, particularly around securing email access. To mitigate risks, we are implementing a comprehensive strategy to block email access on non-company devices by default and ensure only sanctioned apps can access organizational email accounts. This approach will help prevent unauthorized access and data breaches, aligning with our commitment to maintaining the security and integrity of company communications.
How I Conquered the CISSP Exam: 9 Months, Top Resources, and Proven Strategies
Passing the CISSP (Certified Information Systems Security Professional) exam is no small feat. It’s known for its breadth, depth, and ability to test not just your knowledge but your practical understanding of cybersecurity. After nine months of intense preparation, I’m thrilled to say I’ve joined the ranks of CISSP-certified professionals! Here's a detailed account of my experience, including the resources I used, some tips that helped me along the way, and what I learned from the process itself.
Get more out of scripting than you may expect
Expect is an extension to the Tcl scripting language written by Don Libes. The program automates interactions with programs that expose a text terminal interface. Expect, originally written in 1990 for the Unix platform, has since become available for Microsoft Windows and other systems. Its functionality allows users to interact with these programs through scripted commands, eliminating the need for manual input.