114 thoughts on “A guide to quick SharePoint 2013 branding

  1. Thanks a million times. I’ve been searching the internet for how to brand Foundation 2013, and this is the only thing I’ve found. Everyone is branding the full version, which is no help at all.

    And, yes, your description of how to do it is spot on. Didn’t find any problems. Now I can make the boss happy and get our site to look like he wants it to.

    Again many thanks.
    Chuck

    1. Thanks Chuck!!
      Appriciate the feedback, I will update the post to reflect that, with creds to you.
      Will also add a note on the quotes, you are correct, I have experienced that before myself.
      Let me know if you have any other issues like this that you can’t find a good guide to.

      Thanks again.
      Regards // Thomas

  2. I did find one problem and took a little to realize what the problem was. When copying your HTML and pasting, the quotes have to be changed. they are not the standard quotes.

  3. I did find one other problem. We are using the “Office” style as the starter point for branding our sharepoint site. If I take the CSS file as above and attach it to the master page, we lose the vertical menu bar on the left for some reason.

    What works for us is to take a blank css page, use the developer tool to identify sections to style, and add just that css to the file. Makes a much simpler file to work with, and everything seems to work better.

    1. Hi.
      Definitely a good point, that is what I do myself, this also improves performance as you do not have to load the entire core15.css every time. But for the beginner, to copy the entire file is the easiest way to keep the css working I Think, but I’ll add a note as it is good advice.
      Regards
      // Thomas

  4. Hi, This has worked for the Site Pages but has brocken the publishing pages in the Pages library. I have not made any changes to the CSS. I am getting an error message – File not found.

    1. Hi.
      Sorry about that.
      Everything in the master has to be exactly right, else it may break and then you can access nothing worst case, not even to switch back.
      If so, use SPD to change the master back to the default Seattle.master.
      Regards

      1. To test I have simply taken a copy of the Seattle.master, renamed it, uploaded it and published it with no changes at all but this still breaks the publishing pages. I’ll let you know if I find the issue. Thanks

      2. Did you put it in the same location or in a subfolder like in my guide?
        Perhaps the relative links in the master should be updated?
        If you really did like you say and made no Changes and put it in the same location as Seattle.master…it will work. Something has to be different.
        Regards // Thomas

      3. OK, having redone the steps several times I have found that if you open the masterpage in SPD2013 and save it without making any changes it breaks something. If you edit in Note Pad then it seems to work fine. Thanks

      4. 🙂
        Its probably the same as opening a html file with Word, all kinds of stuff is added…it will never be the same.
        But it is good info, I’ll add a note about it.
        If yopu could just verify that SPD is the culprit?
        Regards

  5. Best guide ever on how to modify a sharepoint 2013 master page. I’ve been looking for hours on how to do this, you’re the man! Keep up the good work.

  6. I’m having 2 problems now:

    1. When I try to “Publish major version” the option is not displaying on the dropdown menu.
    2. I cannot access to “[my team site]/_layouts/15/ChangeSiteMasterPage.aspx” I get the error “Sorry, something went wrong – An unexpected error has occurred.” I tried choosing the master page through SP Designer, would it be the same?

    Any help please? Thanks!

  7. Hi,
    Thank you for the post! It helps me a lot.
    I met a problem and hope you can give me some advice.
    I just changed ico, logo in my master page. After I applied my customized master page. The left side menu bar disappeared.
    Any help please?

    1. Hi.
      My bet is that you did change something more, intentionally or not.
      T-shoot by using a perfect copy of the Seattle content, then try again. Maybe add part by part and see where it breaks?
      Regards // Thomas

  8. Hi and thanks for your article.

    I have a problem with js file in my master folder.

    I put /css in my folder an reference it like you do and it works.

    I do the same with a /js folder to reference jQuery, I’ve got an error : unable to create secured cached URL (translated from french sorry). I put the reference like the css : /_catalgos/masterpage/truesec/js/jquey-1.9.1.min.js in my master with the control : <SharePoint:ScriptLink language="javascript" name="….

    If i try the url http://myServer/_catalogs/…. , he found the js file and invite to download it ! So why !

    As I can see, I've to put it in the layout folder…

    Thanks in advance for yout help.

    1. Hi Ben.
      Not sure why you get this, I have not tried yet to use java in this way.
      I would try to have a look at the content type of the file?
      Check this link:
      http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/85249242-55d1-4b20-8dcd-484ef42a0447
      Seems like what you are trying to do should work. As I see it you should avoid layouts since that puts the file in the filesystem and you can’t use this online for example.
      Regards // Thomas

    2. Is this btw copied from the path?
      /_catalgos/masterpage/truesec/js/jquey-1.9.1.min.js
      it should be:
      /_catalogs/masterpage/truesec/js/jquey-1.9.1.min.js
      *catalogs* not catalgos…

      Regards // Thomas

      1. Thanks.
        I found this link too, and try to prefix with ~sitecollection my path :
        – No more error : )
        – but jQuery doesn’t load… 😦

        for the “_catalogs”, it’s a bad retranscription not a copy/paste. So my path is good in my master.
        When i Get this type of error, I analyse every word ; )

        And if I copy/paste the path in IE, I can download it.

        I know it should work ! And it’s a good Way to package a branding with the new Design Manager… If I have to put some files in _layouts, some in _catalogs and anywhere else, it’s no longer a simply package…

        So… instead of using SharePoint:ScriptLink, I used classic

        It works

  9. I was working with html version of the Master.

    I try the link direct in the *.master version, an put the ~sitecollection prefix :

    Now, it works 🙂

    I don’t really understand why, but it works….
    Thanks for your help !

    1. Great!
      If you don’t mind, could you add the final reference link? I’ll later add a peice on js and masterpages so it would be great to have a verified working example.
      Remember also, the ~sitecollection prefix is not available in SharePoint online or sandboxed mode.
      Regards // Thomas

      1. I did, but it was removed by wordPress… with the code block, it should be better

        <SharePoint:ScriptLink language="javascript" name="~sitecollection/_catalogs/masterpage/truesec/js/jquery-1.9.1.min.js" runat="server"/>

        If I want it working everywhere (SPOL, sandboxed, on-premises), the classic link with script html balise is a good way as I said before :

        <script type="text/javascript" src="/_catalogs/masterpage/truesec/js/jquery-1.9.1.min.js"></script>

        But don’t forget to use $(document).ready(…) in this case, because the js load after SharePoint:ScriptLink
        Hope this help.

  10. That is a great tutorial thanks a lot. I don’t understand such a simple edit why is so complicate because of MS!! That much efford to branding a such advance system is ridicilous.

  11. After the following part is not the same with the retail version so I couln’t proceed further. I think the article also needs to be updated accordingly.

    Ok, files uploaded, all ready to use…almost.
    I have found that the master needs to be published as a major version before being accessible from the gui. Click on the dropdown arrow, then ‘Publish a Major Version’.

    1. Hi Rick.
      You don’t. Publishing is a server feature and it’s not available in Foundation.
      You don’t need it here. In Foundation, to switch master to use, try using SharePoint Designer 2013 and select to use the custom master from there.
      Regards
      // Thomas

      1. Thanks. OK, now my other dilemma. We have 2010 foundation/Designer and it works together nicely. However on 2013 I cannot seem to open it in designer. I try the URL, it says no. I don’t see a way within SP like with 2010 either.

  12. Thanks for the detailed guide.
    I have tried it step by step, and i faced no errors during implementations, however, the logo didn’t appear.
    I tried it several times but with no luck.
    is there anything that could hinder the logo from appearing.

    1. Hi.
      Could be anything.
      Typo
      Format
      Size
      Path
      Checked out
      Permissions

      Try the path to the logo on its own
      Right click the ‘no show logo’ and check properties for the path.

      If everything is done right, it should work.
      Regards // Thomas

      1. Nevermind — problem solved! I was missing a portion of the site collection path…i.e. Operator Error!

        Thanks

        rene

  13. Best guide anywhere for SharePoint branding when you have Foundation and no Publishing infrastructure – Great Post!

  14. Hi,
    Is there a way change the width of left navigation menu bar? I’d like to make it narrower so I can use more horizental space.

    Thanks

  15. Hi,

    Many thanks for the nice pretty clear post, but when I tried to change the master page, its displayed with the folder name where I uploaded, something like this folder_name/file_name. when I tried to submit that, its throwing error “Something went wrong” Go back to site.

    Many thanks in advance for your reply

    1. Hi Fazil.
      That is as it should be, if you get that error message, then something is most likely wrong in the code. Check and doublecheck the changes you have made. Also, if the site is a searchcenter site, it will not work. There you must have the seattle ‘unchanged’.
      Check also that the files are checked in and published. That could be the reason as well.
      Regards // Thomas

    1. Hi Szabolcs.
      Yes, you can rather easily do this by finding the proper class/id of that link(+New Document) for exampel using F12/Developer toolbar in Internet Explorer. Select Arrow, then point to the link and check what css classes are affecting the object, this is shown at the bottom right in dev toolbar.
      Once you know what class to use(you can even try changing it in dev toolbar to see the effect), you can add or edit that class in your custom css file to make the change permanent.
      Try it and let me know how it goes. If I had the time I would add it as a separate guide for you.
      regards // Thomas

  16. Excellent, thank you.

    One issue I’m having: After uploading my new master page, the 2nd dialog appears to select the Content Type. In my dropdown list of content types there is no ASP NET Master Page. My only options are:

    Master Page
    Master Page Preview
    JavaScript Display Template
    Document
    Display Template Code
    Design File

    Am I missing something? Thank You.

    1. Hi.
      No, not missing anything. Not sure if I am right here but I Think that you have masterpage and asp.net masterpage depending on whether you have activated the publishing site Collection feature or not.
      Something like that…I have seen both as well and you can select any one of them.

      Hope that helps
      Regards // Thomas

    2. Nevermind, didn’t have Publishing features enabled which did the trick. Thanks again for the excellent guide.

  17. Hey Thomas,

    I love your guide, I’ve followed it up to applying the master page but I’m having trouble getting the .ico file to show up as the icons on the tab, address bar and as the home button at the upper left in Internet Explorer. I’ve followed the instructions exactly and don’t have any typos on the paths in the .master file. The logo works just fine so I know that the master page file is being used and correctly but those I’d really like to get those icons working correctly. Sometimes the default SharePoint icon will turn into an IE icon on the tab and address bar icon. On Firefox and Chrome, the tab icon will show up as the specified one but the address bar icon will remain their respective defaults. Could you please advice? It would be greatly appreciated.

  18. Hello,

    Thank you for this guide. Here is my configuration: Win 8, IE10, SP2013 online, Public site, Berlin master page and sbw css

    The version of SP2013 online that I am using makes it easy to change the SharePoint logo within the webpage, but not the FavIcon in the tab of the browser. I am trying to change the FavIcon. I am neither a developer, nor an IT person.

    I am stuck right after “Now, we will edit the files and add the simple magic lines….”. I cannot find sbw or core15 in the Berlin master page. However, I found

    <SharePoint:CssRegistration Name="” runat=”server” EnableCssTheming=”true” />

    How should I proceed from here on? (a Microsoft representative told me that they do not support changing the FavIcon)

    Regards,

    Patrick

    PS: I finished building my website except for the FavIcon. Will I have to redo all the pages after changing the FavIcon?

    1. Regarding: How should I proceed from here on? (a Microsoft representative told me that they do not support changing the FavIcon)
      Well, it works…why would they not support a custom favicon? The examples in my post are actually performed in SharePoint Online…
      Regards
      // Thomas

  19. Hello,

    Thank you for this guide.

    The version of Office 365 online Plan E3 / SharePoint 2013 online which I am using makes it easy to change the SharePoint logo included in the web pages.

    What I need to do – and which is not easy for a non developer- is replace the SharePoint FavIcon in my Public Site (not Team Site) which I built using Berlin as a master page.

    I could not find core15 in the Berlin master page; however, I found:

    SharePoint:CssRegistration Name=” %SPUrl:~sitecollection/Style Library/~language/Themable/Core Styles/berlin.css % ” runat=”server”EnableCssTheming=/”true” /
    /head
    body

    (I removed the less than symbols and greater than symbols so that the text in between does not disappear, and hope that it will work)

    How should I proceed from here on? (it would be good if there is a way to just change the FavIcon without having to re-build every page of my public website)

    Regards,

    Patrick

    1. Hi Patrick.
      You should not have to redo anything but the masterpage, I have not seen the berlin.master, but a master is a master.
      Adding the line to load your own favicon should work anyway, if you add that to the masterpage then it will load on Avery page, and yes, it works in Office365 as well.
      The line that needs to be added to the master is the ‘SPShortcuticon’ tag as I have described it in my post. That tag has to Point to a favicon ico file located in the _catalogs folder(Masterpage library) so that it is available to all pages on every subsite. You cannot put it in for example a doklib or site asset catalog.

      I hope that helps?
      Best regards
      // Thomas

    1. Hi.
      Oh, my best guess is that you have missed something in the format, a > or other. Open the file in IE dieractly, that usually shows if it is properly formatted with opening and closing tags. Also, make sure to look for all of your single and double quotes and replace them, usually when you copy from the web they end up in the wrong encoding.
      Hope that helps
      // Thomas

  20. Is there any way to make your custom master page be the default applied to all future subsites that are created under that site? Seems you can use the “Reset all subsites to inherit this site master page setting” but you have to do this explicitly after a new subsite is created. I want to have all self-service sites automatically inherit the custom master page upon creation. Thoughts on how to accomplish this?

    1. Hm, I can see two ways straight off, eaither create a custom event reciever as a VS project that fires on the ‘site created’ event and sets the masterpage to your custom, or, replace the default Seattle.master with your custom.
      Its that or create a new web template with your custom master as the default.

      No better way comes to mind.
      Hope that helps.
      // Thomas

    2. A other not so nice way, is to have a powershell script that runs at regular intervals and sets the master on all that don’t have the custom.master.
      Create a task in task scheduler that fires the powershell script.

      // Thomas

  21. From developer tool i got following information.

    In case of Webpart page(develop by me)
    css file url is:
    /_layouts/15/1033/styles/themable/core15.css?rev=BdxJNFd%2FTPOed3Z8IKEJ9A%3D%3D
    I think above is default

    In case of page without webpart
    css file url:
    /comm/_themes/6/corev15-51C31438.themedcss?ctag=11

    regards,
    pragayanshu

    1. Ok, next step Pragyanshu. Some basic t-shooting rules:

      Start by ruling out Everything else, the more parameters that can affect things the harder to find the answer.
      Setup a default teamsite with a default page with no wp added but the default. Works?
      Then, use the same site, use a default webpart page, a default wp, then see what happens?

      If it works then, change to your custom page, see what happens, and so on…

      You have to find out exactly what is affecting the styles, one amll step at the time, the smaller the better.

      Regards
      // Thomas

  22. Hi Thomas,
    I wonder if you may be able to help me with my little problem… I have changed the background color of the left navigation, the thing is that I want the background color to fill the rest of the empty space under the menu, down to the bottom of the page. How can I make the left navigation´s height to expand dynamically, depending on how much the main content “grows”?
    There is no problem setting a static height (height: 400px;) in my CSS-file, but when I try to set it to height:100% “nothing” happens with the height. The element that I´m using is .ms-core-sideNavBox-removeLeftMargin.
    Regards
    Ash

      1. Hi.
        No…
        Its like this, the masterpage is always loaded, no matter what page you load, be it the homepage or a document library. The master is the framework for how SharePoints user interface structure is built, it controls the basic things such as navigation and settings menus and also the area into which pages are loaded. The homepage is really only loaded into an area inside the ‘chrome’ of SharePoint, make any sense?
        Anyway, you will always have a masterpage loaded in SharePoint. Make a change to that and everything will change to reflect that, inside the site or even the site collection depending.

  23. Hi Thomas,

    As a graphic designer, I want to balance and limit the font styles (The font size and color of ‘Paragraph’, ‘Heading 1’ etc) of my Sharepoint Wiki page, as I don’t like them as they are out of the box. But I can’t seem to find any way that doesn’t require all sorts of coding of which I don’t know the slightest thing.

    Can you help me in any way by telling how I can achieve this?

    Thanks!

    Moris

  24. This was great one… I tried it but after I applied the master page i found a problem ! when I click add an app I found only the 4 basic apps ( doc lib, custom list, tasks, site mailbox) but when I revert to the original master page ,,, there is alot of apps!

    1. Most likely, something has gone wrong.
      Try it step by step, use first a copy of seattle.master. Use that and see about the apps.
      Make one change, see apps.
      And so on…
      The modifications to the master in this guide do nothing to affect the apps.

      Regards
      // Thomas

  25. I’m not sure if you’re still monitoring this thread, but…here goes. I’ve followed the directions to updating the favicon. I’m on Office 365 SharePoint Online. Using SPD 2013 I created a folder in Master Pages, and placed my favicon.ico there along with the custom copy of the Master page. The only difference being that I edited the HTML page (not the .master page). I update the tag with with the URL of the custom favicon in my folder. Saved the changes, publish a major version of the HTML which updates the .master (I opened it in Advanced mode to check). Went to Master Pages in Site Settings to change the master page to the custom on I created and….nothing (*insert sad face here*). I would have these types of issues with On Premise vs Online but it seems that this is working for others online and I’m wondering if I’ve mucked it up somehow.

    1. Hi.
      I have no idea why that does not work, what is different from a master genereted from a html…but test it with a copy of a working master, then only change the favicon url and see if that works?
      Verify the url as well by pasting the ull url in the addressfield in your browser, you should always be able to open the favicion in the browser.
      It can be as simple as the favicon file not beeing published?

      Good luck
      Regards
      // Thomas

      1. Hi Thomas,

        Thanks for responding so quickly. I read a comment above regarding IE cache. I cleared the cache and reopened IE to see the default IE icon (rather than SP) so that was a step in the right direction. I opened the site in Chrome and it’s the same. I can open the .ico file following the direct path. The url in the master is set to “/_catalogs/masterpage/_MyFolder/favicon.ico”. I checked out and then checked (to Publish a major version) the ico file.

        I got the same result when following your method: copying .master and editing in Notepad (I was only trying to achieve the icon edit for now) and then uploading both to folder in Master Page and publishing major version. Again, the favicon will open in the browser for both scenarios so I wondered if it had something to do with how it’s reading the URL in file.

        Thanks for your efforts – I fear it may be a lost cause though.

      2. Hi Thomas,

        I got it to work. Either one of these things fixed it:

        – Created a favicon with 2 formats, 16×16 and 32×32 in one image
        – Changed the URL to the full path, i.e. ‘https://mysitecollection/sites/mysite/_catalogs/masterpage/Images/favicon.ico’

        Thanks so much for your helpful post!

      3. Nice.
        The full URL works if it never changes, like if you have onprem SP with one url for internal access and another for external.
        But, the relative URL should work as well.

        Glad you got it to work.
        Regards
        // Thomas

    1. Hi Divyesh.

      I have not seen any good 2013 package, and I have not had the time really to create something similar to my 2010 Project.
      My manual guide is the best I know of…:-) I have not seen any simple-to-use package yet.

      Regards
      // Thomas

  26. Hello,
    I’ve read through the post and have a question before I attempt this.
    I have SharePoint 2013 that comes with Office 365 and a few things look different in the css file.

    The first difference is that it doesn’t appear to be pointing to the corev15.css file. It has this instead:
    <SharePoint:CssRegistration Name="” runat=”server” EnableCssTheming=”true” />

    I tried getting the berlin.css file and but when adding the path, the file is not found.

    Perhaps I could get around this by just having the changes I want in my css file instead of replicating everything but I’m new to this so wanted to take the easier route.

    The other question I have is if it’s possible to change the size of the “big” logo that SharePoint comes with. I find it pretty small and since my logo has my company’s name built in, I’d rather not have the Title and just spread my logo out over the whole banner.

    Thank you,
    Eric

    1. Hi.
      That should not matter, what you do, is just add the same line, a second css (your custom) will then be loaded after the default.
      Add the styles you want to change to the custom css and it should all work.

      Good luck, let me know how it goes.
      // Thomas

    2. Hi again.
      Regarding the second part about the logo. Averyhting(more or less) can be changed, use F12 develeoper toolbar to find what style gives the logo its size.
      Change it but beware, if made to big, other things may move around in certain scenarios, so make sure you get the size big but not too big 🙂

      Regards
      // Thomas

      1. Hello,

        I got near the end of your instructions but got stuck on publishing the new master page.

        I went to “Site collection features” and enabled “SharePoint Server Publishing Infrastructure”. Tried opening the page [URL to your team site]/_layouts/15/ChangeSiteMasterPage.aspx but get the error “Sorry, something went wrong”.
        I also tried activating “SharePoint Server Publishing” but get an error that I have to enable “SharePoint Server Publishing Infrastructure” first, which I’ve already done.

        The other issue I ran into is when I uploaded my *.master file, I wasn’t able to choose ASP NET Master Page as you suggested…it wasn’t in the list. Instead I just chose Master Page.

        Thoughts?

        Thank you,
        Eric

      2. Hi Eric.
        If you can’t activate the site/web publishing feature, then most likely, the site Collection feature is not activated. Disable and reactivate again?
        Make sure it is…
        The ‘ASP.Net Master’ or just ‘Master’ is the same, don’t know actually why there are different…they act the same as far as I know.

        Regards
        // Thomas

      3. Hi Thomas,

        I got it to work. There were a couple things that caused me issues. The first is I set the “SharePoint Server Publishing Infrastructure” in the wrong place. I clicked on “Sites” and then went to Site settings and enabled it, but it wasn’t at the right place. When I went to the team site and Site settings there was a link called “Go to top level site settings”. After setting it there things were better.

        The other issue I ran into is I uploaded the *.master file and associated files at the site level instead of the team site level.

        Now I can play…

        Thank you for all your help.
        Eric

  27. HI
    I am new to sharepoint and I am using sharepoint foundation 2013. I need to create a custom master page for my site. I followed this documentation as well But
    1. When I try to “Publish major version” the option is not displaying on the dropdown menu.
    2. I cannot access to “[my team site]/_layouts/15/ChangeSiteMasterPage.aspx” I get the error “Sorry, something went wrong – An unexpected error has occurred.”

    1. Hi.
      1. Do a check out/check in – as major version
      2. You can’t access that path directly
      3. Have no solotion for that, the publishing feature is server only…and is required for the masterpage change gui. Google for a solution on how to change the master on foundation. No, wait, use SPD! 😃

      Regards
      // Thomas

  28. Thomas, EXCELLENT post, and worked perfectly for me right up until the point of selecting a content type for my new files, and then publishing a major version. I don’t see an answer for my specific problem above, but I AM using the Enterprise version of SP 2013. I expect that makes a difference. However, I used your instructions since I don’t have any editing tools right now except Notepad!

    Okay, so the content type field was not even part of the of properties for my uploaded files. Instead there was a field called “UI type.” I selected “4” for my custom master page and “15” for the css page. Not sure if that was right, but anyway…

    I edited the library settings to allow management of content types so that the content types field would appear. That worked fine. After that I edited the properties for my custom master and custom css files.

    The content type “master page” was available so I chose that for my custom master. But there was no “design file” content type at all. My only two content types were “master page” and “device channel mappings”! In an attempt to add the appropriate content type, I tried to “add from existing content types” and viewed all available content types. I looked for “design” anything or “css” but found nothing.

    Server publishing was turned on at the site collection level already, but not at the site level, so I turned that on. Major versions was already turned on for my site so it didn’t ask for major versions. I checked my file in and out several times and each time it created a new version but it did not show up on the list of master pages. My style sheet also did not show up on the list. Maybe because of the unsolved content type issue above.

    Also, I did all this in a subsite so that I could test without bad consequences, but used relative paths starting with /_catalogs/etc. as you suggested so I don’t think that should make a difference.

    Help!

    1. Hi Kay.

      I would, as a start, create a new site Collection and do the steps there, to see if it is something inthe existing site Collection that interferes. For example, if you can’t select ANything more then Master and Device channel. There is something else you(or someone else) have done or you are simply in the wrong Place 🙂

      Try it if possible in an empty SC, thats my best tip right now.

      Good luck
      // Thomas

  29. Great post, very thorough. We are using SharePoint Online and as a SharePoint novice, I was having trouble getting the favicon to work. Our SharePoint administrator had made me the owner of a site, and I was trying to use the following path:

    /_catalogs/masterpage/finance/Favicon.ico

    when what I really needed to be including was the site in the path as well

    /teams/Finance/_catalogs/masterpage/finance/Favicon.ico

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s