Introduction
Markdown is a popular lightweight markup language that enables users to create formatted text easily. While it’s straightforward for adding images with basic syntax, adjusting image size or centering them isn’t directly supported by standard Markdown. However, you can achieve these effects using HTML and some specific implementations of Markdown.
This tutorial will guide you through different methods to control the dimensions and positioning of images in Markdown documents, ensuring compatibility across various platforms like GitHub, GitLab, Jupyter Notebook, StackOverflow, and others.
Understanding Basic Image Syntax in Markdown
To insert an image in Markdown, you typically use:

This syntax is simple and supported universally. However, it lacks options for resizing or centering images directly within the text.
Method 1: Using HTML Tags
The simplest way to resize images in Markdown is by embedding an HTML <img>
tag within your document. This approach is widely compatible with various Markdown renderers.
Example: Resizing an Image
To specify width and height for an image, use:
<img src="drawing.jpg" alt="drawing" width="200" height="100">
This will render the image at 200 pixels wide by 100 pixels tall. The alt
attribute is essential as it provides alternative text in case the image fails to load.
Example: Centering an Image
To center the image, wrap the <img>
tag with HTML paragraph tags and a style for alignment:
<p align="center">
<img src="drawing.jpg" alt="drawing" width="200" height="100">
</p>
While align
is not standard in strict Markdown or HTML5, many renderers support it.
Method 2: Using Custom Image Syntax
Some Markdown processors, like Mou and Marked 2 (macOS), allow custom syntax to specify dimensions directly after the image URL. This method may not work universally but is convenient when supported:

You can omit either the width or height if you only want to specify one dimension, like so:
-
Specify only the width:

-
Specify only the height:

Method 3: Creating Clickable Thumbnails
For scenarios where you need a smaller preview (thumbnail) that links to a larger image, combine Markdown with HTML:
[<img src="small-image.png" width="250"/>](large-image.png)
This syntax renders small-image.png
at 250 pixels wide. When clicked, it opens the full-size large-image.png
. This technique is particularly useful in documentation and presentations.
Compatibility Considerations
The methods discussed here offer flexibility but have varying support across different Markdown renderers:
- HTML Method: Generally supported wherever HTML is allowed within Markdown.
- Custom Syntax: Limited to specific Markdown processors like Mou or Marked 2. Test before using it universally.
- Clickable Thumbnails: Works well in environments supporting both Markdown and inline HTML, such as Visual Studio Code, GitHub, GitLab, Jupyter Notebook, and StackOverflow.
Conclusion
While standard Markdown syntax doesn’t support resizing or centering images directly, embedding HTML within your documents provides a flexible solution. Whether you’re looking to adjust image size, create clickable thumbnails, or align images, these methods cater to most needs across various platforms. As always, test your chosen method in the target environment to ensure compatibility and desired formatting.