Click here to Skip to main content
15,124,011 members
Articles / CodeProject
Posted 8 Mar 2010

Tagged as



82 bookmarked

CodeProject Article FAQ - Part 2: How to Post an Article on CodeProject

Rate me:
Please Sign up or sign in to vote.
4.97/5 (52 votes)
17 Feb 2015CPOL14 min read
This is the first article in our Article FAQ series. In this entry we focus on the the actual nuts and bolts of posting an article on CodeProject.
Here we look at how to post an article on CodeProject. We look at: how to submit an article, how to choose your article's section, how to use the article editor, and how to post a Tip and a Reference.

Table of Contents

CodeProject Articles

  1. How do I submit an article?

    You can submit the article and code to in one of three ways:

    1. You can submit the article yourself using our submission wizard.
    2. Through our address. Just download the submission template file, write your article, gather your images and download files, and zip them all together in one file and email them to us and we'll take care of the rest.
  2. Why submit an article via the CodeProject Editors?
    • Article checked for grammar, spelling, and punctuation
    • Article formatted correctly to CodeProject Guidelines
    • Improved readability
    • Easier for author, no processing or using a submission tool, or messing with HTML
    • Article process time is typically 1-2 days

  3. Why submit through the submission wizard?
    • Submitted immediately
    • May not follow CodeProject format and submission guidelines - please format carefully!
    • Might be less readable, and less accessible
    • Have to fuss with HTML and wizard yourself

  4. Where do I submit an article?

    From the home page, here:

    Image 1

  5. How do I choose my article's section?

    As you may have noticed, we have changed the Taxonomy. It is no longer Chapter > Section > Subsection which will determine where articles live, but it will be done by tag.

    You can add tags while posting or updating your article:

    Image 2

    Currently we have series of taxonomy topics: Artificial Intelligence, Internet of Things, DevOps, Containers, High Performance Computing, etc, many of which have a corresponding taxonomy parent tag, like artificial-intelligence, IoT, DevOps, containers, etc. Then, within these we have taxonomy children. So, for example, artificial-intelligence has the following taxonomy children: big-data, data-science, deep-learning, machine-learning, etc.

    When an article is created and give tags, where it sits in the taxonomy will depend on the tags chosen. There are several considerations that go into this decision and it is decided based on a hierarchy. What matters first and foremost is the taxonomy tag, the second thing that matters is the sort order, and then lastly then the length of the trail of the tags.

    Taxonomy Tag

    If you put in a tag that is a taxonomy tag, or associates with a taxonomy parent (like artificial-intelligence, IoT, DevOps, containers, etc.) this will be favoured greatly, and the article will likely be sorted into the corresponding Topic. For example, Articles / Artificial Intelligence

    Sort Order

    Image 3

    This is the order of how our taxonomy tags are listed. So, for example, you can go on the articles dropdown at the top of the page, hover over articles, then Browse Topics, this is the order in which taxonomy tags are valued. So if you have a taxonomy tag of artificial-intelligence, and another taxonomy tag, IoT, because Artificial Intelligence is higher in the sort order than Internet of Things, the article will be sorted into Articles / Artificial Intelligence

    Length of Trail

    One thing we want to do is consider is the length of a tag trail. The longer the tag trail the better. So, for example, if you put a C#4 tag, and this is a child of C#, which is a member of the Programing Languages topic, this is a longer trail than say, an algorithm tag, which simply has JUST the General Programming layer above it. So a C#4 tag would be of a higher value.

    Bear in mind that this is an evolving this system. There are other factors that go into article placement considerations like Topic parents, where if a tag can’t be traced back through a taxonomy parent, it will walk through a topic parent.

    Let’s look at an example. Here is:

    Building a Database Application in Blazor - Part 1 - Project Structure and Framework.

    It has the following tags:
    C#, ASP.NET, HTML, Markdown, .NET-Core, Blazor

    C# is a language tag, and is in the Programming Languages topic, while ASP.NET, HTML, and Blazor are Web Development tags. Because Web Development is higher in the Topic Hierarchy than Programming Languages, it gets preference and the article is placed into Articles / Web Development / Blazor. If you look at the list of tags within the Web Development Topic, you see:

    • Blazor
    • CSS3
    • flask
    • HTML5
    • Kestrel
    • LESS
    • nginx
    • Node.js
    • React
    • SCSS
    • Spring
    • Vue.js
    • ASP.NET
    • CSS
    • Apache
    • HTML
    • IIS
    • XHTML

    Note that Blazor is at the top of this list. This is why the article is placed in Blazor, rather than Articles / Web Development / ASP.NET. .NET-Core and Markdown are not child tags that are associated with any particular topic, so in terms of placing the article, they are discounted.

    For a full list of Topics and corresponding child tags, please look at our Site Map. If you have any questions, problems, or Topic suggestions, please feel free to reach out to us on the Bugs and Suggestions forum, or send us an email at

  6. How is my article's URL decided?

    The URL of your article will depend on the title you give it. For example, if your title is 'coolcode' then your article's URL will be ''

    This name is important, as it helps search engines find your article. Make sure you name it something appropriate.

  7. What should I put in the description?

    300 characters or less (spaces included), on what your article's purpose. Be clear, and concise; it will decide whether or not someone reads your article.

  8. How do I use tags and location?

    Simply begin typing into the Tags field. As you type, a dropdown of current tags will be displayed. Select accordingly.

    Image 4

    Also note the secondary dropdown where you can scroll through lists of languages, platforms, technologies, and audiences that apply.

    ArticleFAQ/ParentAttributes.png Note: Some attributes are parent attributes. If you selecting C++ as shown, you are actually selecting all children: VC6, VC7, VC7.1, VC8.0,and VC9.0

    If you use the dropdown to select attributes, DO NOT check the parent attribute if all the children attributes do not apply

  9. What tags should I choose?

    When picking tags for your article, it is important not only to pick tags that are applicable to your article, but also tags that consider CodeProject's taxonomy. If your article is easier to find on CodeProject, it is more likely to be seen. The CodeProject editor only allows you to pick eight tags, so please choose wisely.

    The first thing to consider is the taxonomy tag. These are tags that are related to our taxonomy sections like, Artificial Intelligence (artificial-intelligence), Internet of Things (IoT), DevOps, Security (security), Web Development (web), Mobile Apps (mobile), Desktop Programming (desktop), Database Development (database), Productivity Apps and Services (productivity), Game Development (game), Multimedia (multimedia). Picking one of these tags will greatly improve how things are categorized on CodeProject, as well as make your article easier to find.

    The next tags to consider are your topic parent tags. These are tags that are nested within the taxonomy tag. Picking one of these lengthens the trail of your tags and better sorts your article into the correct place. For example, if you're writing an article about artificial intelligence, don't just pick the artificial-intelligence tag, dig a little deeper. Does your article contain or relate to deep learning (deep-learning)? Big data (big-data)? Machine learning (machine-learning)? Select those tags as well to better place the article.

    Also, remember to consider a language tag. Sometimes you might be writing an article on a topic that won't necessarily have tags that are in our primary taxonomy hierarchy. Picking a language tag will ensure your article has a home.

    Next to consider is search term related tags. We include the tags in the search data. In addition, Google sees some of the tags when crawling the page, but the same data is probably already in the article text, or should be. If you want to show a particular tag higher in our searches, consider adding it to the article. For Google searches, using the tag within the body of the article will also be important.

    Finally, you want to consider how many of the tags you want to choose actually exist on CodeProject. You can check our tag list here to check which tags you want to include. Picking a tag that is hardly used means your tag is less likely to get searched, or help feature your article anywhere. For example, if you are down to choosing your last tag, and are deciding between a game tag, and a doom tag, there are no articles or questions with a doom tag, so it is far better to select the game tag.

  10. What license should I use?

    We have a list of licenses here to help you choose the license appropriate for you and your code.

  11. What files should I upload?
    • Small screen shot (PNG/GIF/JPEG only, maximum width 640 pixels)
    • Zip file containing your source files (if appropriate)
    • Zip file containing your sample application (if appropriate)

    PLEASE NOTE: The only image files we accept are PNG, GIF, and JPG. Our article editor currently does not support SVG.

  12. How do I upload them?

    On the far right of the screen you will see an "Upload Files" heading. Below it you will see a dotted box that indicates "Drag and Drop Files Here." Simply drag and drop your files into that box, and its done!

    Image 6

  13. OK I uploaded my files. Where did my files go, and how do I use them?

    Each file can be added using the yellow arrow icon as shown below. Simply place the cursor in the article area where you want the file to be located, then click the arrow to place the image/file there.

    Image 7

    For zip files containing code there is a shortcut to adding files. Underneath "Current Files" you will see a insert button and link entitled "Add selected zip files to article." Simply click that link to automatically add neatly formatted files to your article.

    If you are adding files to the article without the button, you would do the following in the HTML:

    <ul class="download">
    <li><a href="">Download source - X KB</a>

    If you are adding images to the article without the button, you would simply do the following. (Note: It is important to keep paths within the href free of extraneous pathway. Simply add the filename inside the quotations).

    <img src="imagename.png" />
  14. I have to finish my article later. How can I do this and not lose my progress?

    Check this teenie, tiny box:

    Image 8

    And make sure you have saved your draft:

    Image 9

    Later when you come back check "My Articles" here:

    Later when you are ready to finish return to the submission page and access your draft from here:

    Image 10

  15. How do I use the article editor?
    You know HTML

    Knowing HTML is the ideal for the editor. Select the Source button to switch between HTML and WYSIWYG (What You See Is What You Get) modes. Please note, class designations (ie. table class="ArticleTable") have specific capitalization.

    Use this Source button to switch between the two modes:

    Image 11

    <p>Paragraphs go in paragraph tags.</p>
    <li>Unordered lists go in these tags</li>
    <code>All your variables, class names, properties, etc. must go inside</code>
    <strong>If you really want to bold something, use this tag. But we don't like it</strong>
    <em>All file names inside the article must be italicized: .zip, .cs, .html, etc.</em>
    <img src="imagename.png" />

    Headings must be used like this

    <h2>Main Headings</h2>
    <h3>Sub Heading to h2 Heading - a Sub Topic to the Previous Topic</h3>
    <h4>Sub Heading to h3 Heading - a Sub Topic to the Previous Topic</h4>
    <h5>Sub Heading to h4 Heading - a Sub Topic to the Previous Topic</h5>
    <div class="Caption">Captions go in this div class</div>
    <table class="ArticleTable">
    <td>Tables with borders. This cell a bolded and colorized border because of thead</td>
    <td>This cell in this row ALSO has a bolded and colorized border because of thead</td>
    <td>This cell in this row is not bolded and colorized</td>
    <td>Neither is this one</td>
    <table class="ArticleTableNoBorder">
    <td>This table has no borders</td>
    <td>This table has no borders</td>

    You don't need to worry about colorizing your articles. We have a colorizer that takes care of this for you. If your article already contains colorization then don't worry - the colorizer cleans out all previous colorizing before recolorizing the entire article

    <pre lang="cs">int myVar = 0;</pre>

    The currently supported languages are:

    • ASM (lang="asm")
    • ASP (lang="asp")
    • ASP.NET (lang="aspnet")
    • BAT / CMD (lang="bat")
    • C# (lang="cs")
    • C++ (lang="C++")
    • C++/CLI (lang="mc++")
    • COBOL (lang="cobol")
    • CSS (lang="css")
    • Dart (lang="dart")
    • F# (lang="f#")
    • FORTRAN (lang="fortran")
    • HTML (lang="html")
    • Java (lang="java")
    • Kotlin (lang="kotlin")
    • JavaScript (lang="jscript")
    • Lua (lang="lua")
    • MSIL (lang="msil")
    • MIDL (lang="midl")
    • Objective C (lang="objc")
    • Pascal (lang="pascal")
    • PERL (lang="perl")
    • PHP (lang="php")
    • Python (lang="python")
    • Razor (lang="razor")
    • Scala (lang="scala")
    • Shell (lang="shell")
    • SQL (lang="sql")
    • Swift (lang="swift")
    • VB.NET (lang="")
    • VBScript (lang="vbscript")
    • XML (lang="xml")

    Other languages can be added on request.

    Colorizing works on PRE and CODE tags. If you have a block (or line) of text you don't wish to be coloured, set the lang value as "text".

    If you have the same code snippet shown in multiple languages (eg C# and VB versions of the same code) you can wrap multiple PRE blocks inside a <div class="code-samples"> and have the multiple code blocks appear in a tabbed form, similar to MSDN


    <div class="code-samples">
    <pre lang="C#">
    <pre lang="VB.NET">

    Just make sure you set the lang attribute correctly

    You DON'T know HTML

    You can paste your article into the editor and modify it using the buttons. ArticleFAQ/BoldButton.png Bold, ArticleFAQ/ImageButton.png Add Image, ArticleFAQ/CodeButton.png Indicate Code in Paragraphs as Variables, Class Names, Properties, ArticleFAQ/ListButtons.png Create Lists, ArticleFAQ/LinkButton.png Add Link, ArticleFAQ/RemoveFormattingButton.png Remove Automatic Formatting of Original Text Application (like Word), ArticleFAQ/TableButton.png Insert Table.

    There's also Cut, Paste, Redo, and Undo. Beyond these, we wouldn't recommend messing with other icons. CodeProject articles have very simple formatting, which is the way we (and more importantly, members) like it.

  16. How do I update my article?

    Every article on CodeProject can be modified by their author if they are logged in. Simply click on the "Update Article" link just under the title of the article.

    Image 19

    This will take you to the article editor where you can make your desired changes. Afterwards, your article will return to the "Articles Needing Approval" queue where members and editors will approve your changes.

    If you have trouble with HTML you can send your update to us. Please use the "Get Article’s HTML" from the link in the upper right hand corner of your article, click on this and then save the HTML for your article using the File | Save menu in your browser. Ignore the stuff at the top and bottom of your page - you will see "Article Starts" and "Article Ends" tags in the HTML that point to where the actual text for your article is. Strip out everything above and below these markers and edit the HTML directly. When you are finished please send both updated HTML and zipped sourced code to us at submit[at] Note: your article and code must be compressed into a .rar archive, or rename your zips to, say, MyArticle.nozip (Our email provider will not accept emails with .exe attachments, or .zips with .exe attachments). Also please remember to include the name of the article and its URL in the email body.

    If you only have a very small addition to make, or want to report spelling/grammar or link errors then you can just send these in as plain text.

  17. How do I embed video in my article?

    To add a video to your articles simply do the following

    <iframe style="height:250px;width:100%" src="//"></iframe>
    The article editor will show only a placeholder while viewing in WYSIWYG mode. The current list of supported video hosting sites are:
    • YouTube (,
    • Vimeo
    • Channel 9 (,
    • Vine (

    If you want to start a YouTube video at a specific time, add a ?start= as shown below:

    <iframe style="width:560px; height:315px" src=""></iframe>


    • Slideshare (
    And as a bonus extra.
    • JS Fiddle (

    Simply replace the src URL with the URL of the embedded resource, set the width/height, and we'll take it from there.


  1. What is a tip?

    A Tips and Tricks post is a single problem, with a single solution, and a super-short write-up. Ideally you could consume it in under 30 seconds. Here is an example of a tip:

    Kendo UI NumericTextBox Enable/Disable Issue

  2. How do I post a tip?

    From the home page, here:

    Image 20

    Then change the dropdown on "Post your" to "Tip/Trick" and hit the "Start Writing" button. From here on out, everything is identical to submitting an article.


  1. What is a reference?

    A Reference article is a short (typically 1 page) article used to lookup common information such as tables (eg. ASCII tables, HTTP codes etc) or function or class explanations. Typically there will be few if any images, and no downloadable code (though both are possible if the author wishes)

  2. How do I post a reference?

    From the home page, here:

    Image 21

    Then change the dropdown on "Post your" to "Reference" and hit the "Start Writing" button. From here on out, everything is identical to submitting an article.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Sean Ewington
Technical Writer CodeProject
Canada Canada
Sean Ewington is the Content Manager for CodeProject.

His background in programming is primarily C++ and HTML, but has experience in other, "unsavoury" languages.

He loves movies, and likes to say inconceivable often, even if it does not mean what he thinks it means.

Comments and Discussions

QuestionLink from article to source code? Pin
Alexandros Pappas20-Jun-19 22:48
professionalAlexandros Pappas20-Jun-19 22:48 
QuestionGitHub Pin
Paula Scholz17-Oct-17 8:28
MemberPaula Scholz17-Oct-17 8:28 
AnswerRe: GitHub Pin
Chris Maunder25-Jun-19 7:18
cofounderChris Maunder25-Jun-19 7:18 
We do! All you need to do is select "Import GitHub Project" from the articles dropdown.
Chris Maunder

AnswerGood ! Pin
sosserrurierorleans4-Nov-16 18:28
Membersosserrurierorleans4-Nov-16 18:28 
QuestionRecently written article Pin
Rahul VB28-Oct-16 1:59
professionalRahul VB28-Oct-16 1:59 
AnswerRe: Recently written article Pin
Sean Ewington28-Oct-16 6:18
editorSean Ewington28-Oct-16 6:18 
GeneralRe: Recently written article Pin
Rahul VB28-Oct-16 6:44
professionalRahul VB28-Oct-16 6:44 
GeneralRe: Recently written article Pin
Sean Ewington28-Oct-16 6:46
editorSean Ewington28-Oct-16 6:46 
GeneralRe: Recently written article Pin
Rahul VB28-Oct-16 6:52
professionalRahul VB28-Oct-16 6:52 
GeneralMessage Closed Pin
14-Apr-17 20:33
Memberpuravidacream14-Apr-17 20:33 
QuestionWriting articles on testing Pin
Rahul VB27-Oct-16 11:13
professionalRahul VB27-Oct-16 11:13 
AnswerRe: Writing articles on testing Pin
Sean Ewington27-Oct-16 11:19
editorSean Ewington27-Oct-16 11:19 
GeneralRe: Writing articles on testing Pin
Rahul VB27-Oct-16 11:25
professionalRahul VB27-Oct-16 11:25 
GeneralRe: Writing articles on testing Pin
Sean Ewington27-Oct-16 11:28
editorSean Ewington27-Oct-16 11:28 
GeneralRe: Writing articles on testing Pin
Rahul VB27-Oct-16 11:36
professionalRahul VB27-Oct-16 11:36 
QuestionGood one Pin
Vignesh Mani20-Aug-16 3:55
professionalVignesh Mani20-Aug-16 3:55 
AnswerMessage Closed Pin
14-Apr-17 20:34
Memberpuravidacream14-Apr-17 20:34 
GeneralMy vote of 5 Pin
Akhil Mittal 1-Jul-15 4:33
professional Akhil Mittal 1-Jul-15 4:33 
QuestionCo-author- Questions Pin
Akhil Mittal 1-Jul-15 4:33
professional Akhil Mittal 1-Jul-15 4:33 
BugNot working link Pin
Anton Angelov19-Feb-15 9:45
MemberAnton Angelov19-Feb-15 9:45 
GeneralRe: Not working link Pin
Sean Ewington19-Feb-15 9:55
editorSean Ewington19-Feb-15 9:55 
GeneralRe: Not working link Pin
Anton Angelov19-Feb-15 10:17
MemberAnton Angelov19-Feb-15 10:17 
QuestionHow can i link to old articles Pin
Daniel 1131753520-Jan-15 14:21
MemberDaniel 1131753520-Jan-15 14:21 
GeneralAbout Professional member type Pin
Gaurav Aroraa27-Oct-14 13:34
professionalGaurav Aroraa27-Oct-14 13:34 
GeneralRe: About Professional member type Pin
Sean Ewington28-Oct-14 6:13
editorSean Ewington28-Oct-14 6:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.