Website profiles · Technology insights · Alternatives

roughnotation.com

A small JavaScript library to create and animate hand-drawn annotations on a web page

No paid content found
Visit website
Profile views 9 Outbound visits 2 Normal
RoughNotation Full homepage screenshot

At a glance

Category
Development
Language
English
Paid-content signal
No paid content foundObserved
Registered
2020
Hosting
NetlifyInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is RoughNotation?

RoughNotation is a small JavaScript library for adding hand-drawn, sketch-style annotations to elements on a web page. Instead of polished borders or standard CSS effects, it renders marks that look as if someone drew them by hand, and it can animate them into view.

Its annotation styles cover the common ways you might mark up text or UI:

  • Underline: a sketchy line below an element.
  • Box: a rough rectangle around the element.
  • Circle: an irregular circle around it.
  • Highlight: a highlighter-pen effect.
  • Strike-Through: a hand-drawn line through the content.
  • Crossed-Off: an X-like rejection mark.
  • Brackets: hand-drawn brackets on one or more sides of a block, such as a paragraph.

It also supports annotating inline content that spans multiple lines, and lets you group annotations so that calling show animates them in sequence. Styling options include things like color, stroke width and animation duration, and you can skip animation entirely so a mark simply appears. Code and documentation are on GitHub, with project contact via Twitter at @preetster.

Where it fits, and where it doesn't

RoughNotation is best for moments when you want emphasis to feel informal or human: a tutorial that circles the button a reader should click, a landing page that underlines the one sentence that matters, a slide-like explainer that crosses out an outdated claim. Because it is small and focused, it suits developers who want a specific visual effect without pulling in a full drawing or animation framework.

The trade-off is that it is decorative rather than semantic. Screen readers and search engines will not treat a hand-drawn circle as meaningful structure, so important information should still live in real text, headings or labels. Its hand-drawn look also clashes with strict, corporate design systems, and heavy use of animated annotations can distract rather than guide.

A practical next step

Pick one element on a page you are building — a key phrase in an introduction or a primary call-to-action — and annotate only that. Compare RoughNotation with the plain CSS alternative (a solid underline or background highlight) and ask whether the sketch style adds meaning or just novelty. If it adds meaning, use a single annotation; if not, keep the simpler CSS.

How do I add RoughNotation to my project and start annotating elements?

Install RoughNotation in your project, then create an annotation on a target element with a style like underline, box, or circle. Call .show() when you want it to appear. The library is a small JavaScript tool for drawing and animating hand-drawn annotations on a web page.

Basic setup

Add it to your project with your package manager, then import it:

import { annotate } from 'rough-notation';

const element = document.querySelector('#my-text');
const annotation = annotate(element, { type: 'underline', color: '#f00' });

annotation.show();

The page lists these annotation types: underline, box, circle, highlight, strike-through, crossed-off, and brackets. Styling options include color, strokeWidth, and animation duration. If you don't want the animation, the annotation simply appears when show is called.

Practical next steps

  • Animate in sequence: Create an annotation group and pass a list of annotations. Calling show on the group animates them in order. This is useful for onboarding tours, step-by-step explanations, or a landing page that reveals points one at a time.
  • Style to match your page: Set color and strokeWidth so the sketch effect fits your design instead of clashing with it. A highlight in a soft brand color reads differently from a bright red circle.
  • Annotate inline text that wraps: The library supports annotating inline content that spans multiple lines, which matters for highlighting a phrase inside a paragraph rather than a single-line heading.

When this fits, and when it doesn't

Situation RoughNotation is a good fit Consider something else
Drawing attention to a phrase, stat, or button Yes — underline, circle, highlight, box —
Showing rejection or correction Yes — crossed-off, strike-through —
Sequential, guided explanations Yes — annotation groups animate in order —
Complex diagrams, charts, or freehand drawing — A full drawing or charting library
Static decorative borders that never animate — Plain CSS

A concrete scenario: a documentation site wants to walk a new user through a settings panel. You annotate the relevant field with a circle, the save button with a box, and group them so the circle draws first, then the box. The user follows the motion instead of reading a wall of text.

For exact syntax, options, and framework-specific examples, check the official documentation and repository at GitHub.

What annotation styles does RoughNotation offer, such as underline, box, circle, highlight, and strike-through?

RoughNotation offers seven annotation styles, plus supporting features for grouping, styling and multi-line content. The styles, as listed on its own page, are:

  • Underline — a sketchy underline below an element.
  • Box — a hand-drawn box around an element.
  • Circle — a hand-drawn circle around an element.
  • Highlight — a highlighter-pen effect behind the element.
  • Strike-Through — a hand-drawn line through an element.
  • Crossed-Off — a crossed-out effect used to signal rejection.
  • Brackets — hand-drawn brackets around a block, on one or multiple sides.

Beyond the style list, the page describes three capabilities that matter when choosing between them. Multiple lines lets you annotate inline content that spans more than one line, which is the usual constraint that rules out a simple box or circle. Annotation Group orders the animation: you pass a list of annotations to a group, and calling show animates them in sequence rather than all at once. Annotation Styling exposes properties such as color, stroke width and animation duration, and animation is optional — an annotation can simply appear when show is called.

A practical way to pick: use highlight for emphasis you want readers to absorb without interrupting the sentence, underline for a lighter emphasis on a phrase, and box or circle when the annotated item is short and self-contained. Reserve strike-through and crossed-off for content you are explicitly negating — a deprecated option, a rejected proposal, an outdated price. Brackets suit longer blocks such as a paragraph or a quoted passage, especially when you want the mark on only one or two sides. If your target text wraps across lines, check the multiple-lines support first, since that shapes which styles remain usable.

As a next step, sketch the annotation on the actual page at its real text width before committing. A style that looks right on a short label can crowd a wrapping paragraph, and the multi-line behaviour is easier to judge in place than in the abstract.

How can I animate annotations in sequence using annotation groups?

Create an annotation group by passing your annotations into annotationGroup, then call show() on the group. RoughNotation animates the annotations in the order you list them, so sequence is controlled by array order rather than by calling show() on each annotation separately.

How it works in practice

The page describes RoughNotation as a small JavaScript library for creating and animating hand-drawn annotations, with styles including Underline, Box, Circle, Highlight, Strike-Through, Crossed-Off and Brackets. Its Annotation Group feature exists specifically to order animation: you pass a list of annotations to create a group, and when show is called on the group, the annotations animate in sequence.

A practical reader scenario: you write a tutorial page and want a highlight to appear first, then a circle around a key term, then a bracket around a whole paragraph. Instead of triggering three separate show() calls with your own timers, you create the three annotations, collect them in a group, and call show() once. The group handles the ordering.

Points to plan around

  • Order is the list order. Decide the narrative sequence before building the group, because rearranging annotations means rearranging the array.
  • Grouping is about sequencing, not styling. Color, stroke width and animation duration remain per-annotation properties, so a group can mix a fast highlight with a slower circle.
  • Animation is optional. The page notes that annotations do not have to animate; they simply appear when show is called. That gives you a fallback for reduced-motion preferences or for static screenshots.
  • Multi-line content is supported, so a group can include an annotation spanning several lines of inline text without breaking the sequence.

Choosing between a group and individual calls

Approach Best for Trade-off
Annotation group A scripted reveal where order matters Less control over exact gaps between steps
Individual show() calls Precise timing or conditional triggers You manage the sequencing logic yourself

If your sequence is fixed and you want the library to handle the pacing, a group is the simpler route. If annotations should appear in response to scrolling, clicks or other events, individual calls give you the trigger points you need.

For setup details and the exact API, the page points to the project's code and documentation on GitHub, and the author, @preetster, is reachable on Twitter for questions.

Can I customize the appearance of annotations, like color, stroke width, and animation duration?

Yes. RoughNotation exposes annotation styling properties, and the page specifically names color, strokeWidth, and animation duration as configurable. Animation is also optional: an annotation can simply appear when show is called rather than being animated.

What you can adjust

  • Color — set the annotation's stroke or highlight color.
  • Stroke width — control how thick the hand-drawn line is.
  • Animation duration — control how long the drawing animation takes.
  • Animation on/off — you don't have to animate at all.
  • Annotation type — underline, box, circle, highlight, strike-through, crossed-off, and brackets.
  • Multiple lines — inline content that spans multiple lines can be annotated.
  • Grouping — an annotation group lets you pass a list of annotations so they animate in order when show is called on the group.

Choosing values in practice

A practical starting point: use a highlight for emphasis in body text, an underline for links or key phrases, and a box or brackets for larger blocks. Keep stroke width modest for small text and increase it for headings or callouts, since a thick stroke around small type can obscure the letters. For duration, short animations (a few hundred milliseconds) feel responsive in reading flow, while longer ones suit a single hero annotation on a landing page. If you need several annotations to build in sequence, put them in an annotation group rather than staggering timings by hand.

Where to go next

Check the library's GitHub repository for the full option list and code examples, since the properties are configured per annotation. If you want to see the styles in action before choosing, the project page at RoughNotation demonstrates each annotation type.

How does RoughNotation handle annotating inline content that spans multiple lines?

RoughNotation handles inline content that spans multiple lines through its "Multiple lines" annotation type. Rather than treating an annotation as a single shape tied to one bounding box, this type is designed for inline elements—such as a phrase inside a paragraph—that can wrap across two or more lines. The annotation is drawn per line so the effect follows the text instead of stretching around the whole block.

What this means in practice

  • Use it on inline elements (for example, a <span> around a sentence fragment), not on block containers like a full paragraph <div>.
  • The annotation adapts as the text wraps, so the visual stays aligned with the words on each line.
  • It is distinct from the "Brackets" style, which is meant to surround a block of content on one or more sides.

Choosing the right approach

Situation Appropriate style
A short phrase that may wrap across lines Multiple lines
A single word or non-wrapping phrase Underline, Circle, Highlight, Box
A whole paragraph or block Brackets
Indicating removal or rejection Strike-Through, Crossed-Off

Practical next step

If you are annotating a sentence that reflows at different screen widths, wrap the inline text in a span and apply the multiple-lines annotation, then verify the result at both narrow and wide viewports. If the annotation should instead frame an entire paragraph, switch to the Brackets style. The library's documentation and examples are available on GitHub via the project page at RoughNotation.

Related questions

More questions →
How to Customize the Appearance of RoughNotation Annotations

RoughNotation annotations are customizable through properties passed when you create an annotation. According to the library's documentation, the configurable properties include color, strokeWidth, and animation duration. You can also skip the animation entirely so the annotation appears immediately when show is called. The exact property names and accepted values are documented on the project's GitHub repository, which is the authoritative reference for the current API.

What You Can Configure

The documentation lists these styling properties:

Property What it controls
color The color of the annotation stroke (for example, the underline, box, circle, or highlight)
strokeWidth The thickness of the hand-drawn stroke
animationDuration How long the annotation takes to draw/animate when shown

These are described as "various properties of the annotation" that can be configured, so treat the list above as the documented set rather than an exhaustive enumeration of every possible option.

How the Properties Affect the Visual Result

  • color changes the ink color of the annotation. This matters most for styles like underline, box, circle, strike-through, crossed-off, and brackets, where the stroke is the visible element. For the highlight style, color determines the shade of the highlighter effect.
  • strokeWidth changes how thick or thin the hand-drawn line looks. A larger value produces a bolder, more marker-like stroke; a smaller value produces a finer pen-like stroke.
  • animationDuration changes the timing of the draw-on animation. A longer duration makes the annotation appear more slowly and deliberately; a shorter duration makes it snap into place faster.

Because these are the documented knobs, changing any one of them changes only that aspect of the appearance — the annotation style itself (underline, box, circle, highlight, strike-through, crossed-off, brackets) is chosen separately.

Turning Off the Animation

Animation is optional. The documentation states that you don't have to animate the annotation — it "just shows up when show is called." So if you want a static annotation with no draw-on effect, you configure the annotation without relying on the animation, and it renders immediately on show.

Choosing an Annotation Style First

Styling applies on top of a chosen style. RoughNotation supports these annotation types, each of which can then be styled with the properties above:

  • Underline — a sketchy underline below an element
  • Box — a box drawn around the element
  • Circle — a circle drawn around the element
  • Highlight — a highlighter-style highlight effect
  • Strike-Through — a hand-drawn line through an element
  • Crossed-Off — a crossed-off effect symbolizing rejection
  • Brackets — a hand-drawn bracket around a block, on one or multiple sides
  • Multiple lines — annotating inline content that spans multiple lines

Where to Confirm Exact Syntax

The page states that all the code and documentation is available on GitHub, with a "View on Github" link, and that you can reach out on Twitter at @preetster. Since the page evidence describes the properties but does not show the exact constructor/option syntax, check the GitHub documentation for the precise property names, value formats, and defaults before writing production code.

What is RoughNotation?

RoughNotation is a small JavaScript library that creates and animates hand-drawn annotations on a web page. You use it when you want to visually emphasize a piece of content — a word, a link, a heading, or a whole paragraph — with a sketchy, hand-drawn look instead of a plain CSS border or background. It works by wrapping or targeting an element and applying one of several built-in annotation styles, which can appear instantly or animate in when you call show.

Annotation styles it provides

Based on the library's documentation, RoughNotation ships with these annotation types:

Style What it draws
Underline A sketchy underline below an element
Box A box around the element
Circle A circle around the element
Highlight A highlight effect, as if marked by a highlighter
Strike-Through A hand-drawn line through an element
Crossed-Off A crossed-off effect, used to symbolize rejection
Brackets A hand-drawn bracket around a block on one or multiple sides

What makes it useful

  • Hand-drawn look. The annotations are sketchy rather than geometric, which suits designs that want a casual, editorial, or notebook feel.
  • Animation is optional. Annotations can animate in, or you can skip animation entirely — the annotation just shows up when show is called.
  • Multiple lines. It can annotate inline content that spans multiple lines, so it isn't limited to a single short word.
  • Ordered animation with groups. You can create an annotation group by passing a list of annotations to it. When show is called on the group, the annotations animate in order, which is useful for walking a reader through several points.
  • Configurable styling. Properties such as color, strokeWidth, and animation duration can be configured per annotation.

When to reach for it

Use RoughNotation when the emphasis itself is part of the message — for example, circling a key term in a tutorial, highlighting a phrase in a quote, or crossing out an option you're ruling out. If you only need a static, precise border or background, plain CSS is simpler and lighter. If you need the annotation to draw attention in sequence, the annotation-group feature is the reason to pick this library over a static style.

Where to get it

The code and documentation are available on GitHub, and the project can be sponsored. The maintainer can be reached on Twitter at @preetster.

How to Animate RoughNotation Annotations in Order

RoughNotation provides an annotation group for exactly this: pass a list of annotations to createGroup, then call show() on the group and the annotations animate in sequence rather than all at once. This is the right approach when you want to walk a reader through several points one at a time — a step-by-step tutorial, a guided tour, or a sequence of callouts that would be overwhelming if they all appeared together.

The mechanism: annotation groups

Individually, each annotation is shown by calling show() on it. If you call show() on five annotations in a row, they all start animating immediately, so the effect reads as one simultaneous flash.

An annotation group changes that. You create a group from an ordered list of annotations, and when show is called on the group, the annotations are animated in order — the sequence follows the order of the list you passed in. The group is the ordering device; the individual annotations keep their own styles and timing.

Steps

  1. Create your annotations as you normally would, one per element you want to mark. Each annotation carries its own style (underline, box, circle, highlight, strike-through, crossed-off, or brackets) and its own configuration such as color, strokeWidth, and animation duration.
  2. Collect them into a list in the order you want them to appear. The list order is the animation order, so decide the narrative sequence here rather than relying on DOM order.
  3. Create the group by passing that list to the group-creation function.
  4. Call show() on the group instead of on the individual annotations. The group drives the animation of its members in sequence.

The expected result: the first annotation in your list draws itself, then the second, and so on, producing a guided reveal.

What you can configure

Because ordering is handled by the group and appearance is handled by each annotation, the two concerns stay separate:

Concern Where it is controlled
Order of appearance The order of the list passed to the group
Style (underline, box, circle, highlight, strike-through, crossed-off, brackets) Each individual annotation
Color, strokeWidth, animation duration Each individual annotation
Whether it animates at all Each individual annotation — animation is optional, and a non-animated annotation simply appears when show is called

That last point matters for sequencing: if one annotation in the group has animation disabled, it still participates in the group's order — it just appears instantly at its turn instead of drawing itself.

Common snags

  • Calling show() on the annotations instead of the group. This is the most likely reason a sequence collapses into a simultaneous reveal. The group is what enforces order.
  • Assuming DOM order determines sequence. It doesn't; the order of the list you pass to the group does.
  • Expecting a group to unify styling. It doesn't. Set color, strokeWidth, and duration per annotation if you want them to differ.
  • Forgetting that multi-line inline content is supported. If an annotation spans multiple lines, it still behaves as a single member of the group and takes its turn in the sequence.

When this is the right tool

Use an annotation group when the order of emphasis is part of the message — for example, annotating three clauses of a policy one after another so the reader follows the argument, or circling a button only after underlining the instruction that leads to it. If all the marks are meant to be read as a single static diagram, you don't need a group at all; just create the annotations and show them.

The library's code and documentation are on GitHub, and the project is maintained by @preetster on Twitter.

What annotation styles does RoughNotation support?

RoughNotation supports seven annotation styles: underline, box, circle, highlight, strike-through, crossed-off, and brackets. Each one draws a hand-drawn-looking mark around or over an element, and you pick the style by name when you create the annotation. The library also handles inline content that spans multiple lines, so a single annotation can wrap across a paragraph rather than breaking at the first line.

The seven styles

Style What it draws Typical use
Underline A sketchy underline below an element Emphasize a word or phrase
Box A box around the element Call out a block or card
Circle A circle around the element Draw attention to a short label or number
Highlight A highlighter-pen effect over the element Mark text like you would with a marker
Strike-Through A hand-drawn line through the element Show something is removed or no longer valid
Crossed-Off A crossed-out effect over the element Signal rejection or "not this one"
Brackets A hand-drawn bracket on one or more sides of a block Group or set off a paragraph-sized block

Underline

Draws a sketchy line beneath the element. This is the lightest-weight option and works well when you want emphasis without covering the content.

Box

Draws a box around the element. Use it when the thing you're marking is a self-contained block, like a card or a button.

Circle

Draws a circle around the element. It reads best on short, compact targets — a single word, a number, or a small badge — because the circle has to enclose the whole element.

Highlight

Creates a highlight effect as if marked by a highlighter. Unlike underline, this sits over the content, so it changes how the text reads. It's the closest match when you want the "I marked this in a book" look.

Strike-Through

Draws a hand-drawn line through the element, creating a strike-through effect. The natural fit is anything you want to present as cancelled or superseded.

Crossed-Off

Applies a crossed-off effect to the element to symbolize rejection. It's visually stronger than strike-through and reads as a deliberate "no" rather than a simple edit.

Brackets

Creates a hand-drawn bracket around a block — such as a paragraph of text — on one or multiple sides. This is the style to reach for when the annotation should frame a larger region instead of pointing at a single word.

Annotating content across multiple lines

RoughNotation can annotate inline content that spans multiple lines. That matters for underline, highlight, and strike-through in particular, since those are the styles you'd normally apply to a run of text that may wrap. Instead of the mark stopping at the end of the first line, the annotation follows the inline content across the line breaks.

Styling and animation are separate from the style choice

Picking a style is independent of how it looks and behaves. The annotation's appearance can be configured through properties such as color, strokeWidth, and animation duration. Animation is optional too — if you don't animate it, the annotation simply shows up when show is called.

If you want several annotations to appear in a specific sequence, RoughNotation lets you order them by creating an annotation group: you pass the list of annotations into the group, and when show is called on the group, the annotations animate in order.

All the code and documentation is available on GitHub, and the project can be reached on Twitter at @preetster.

Where to Find RoughNotation's Code, Documentation, and Support

RoughNotation's code and documentation are on GitHub, and the project page links there directly. The same page also points to a sponsorship option on GitHub and to the author on Twitter at @preetster for contact. If you need the source, usage docs, or a way to reach the maintainer, those three destinations cover it.

Code and documentation

The RoughNotation site states that all the code and documentation is available on GitHub, with a "View on Github" link. That single link is the canonical entry point for both:

  • Source code — the library itself, described as a small JavaScript library for creating and animating hand-drawn annotations on a web page.
  • Documentation — the reference material for the annotation styles and configuration options shown on the site.

If you are evaluating the library before installing it, the GitHub repository is also where you would confirm the current API and any changes since the site content was written.

Support and contact

The site offers two ways to engage with the project beyond reading the code:

Purpose Where to go
Report issues, ask questions, contribute GitHub repository (linked from the site)
Sponsor the project GitHub sponsorship (linked from the site)
Reach the author Twitter: @preetster

The site does not list a separate forum, chat server, or email address, so GitHub and Twitter are the channels it actually points to.

What you'll find once you're there

The documentation covers the annotation styles the library supports, which is useful context for deciding whether it fits your project. The site lists these styles:

  • Underline — a sketchy underline below an element
  • Box — a box drawn around the element
  • Circle — a circle around the element
  • Highlight — a highlighter-style effect
  • Strike-Through — a hand-drawn line through an element
  • Crossed-Off — a crossed-off effect, described as symbolizing rejection
  • Brackets — a hand-drawn bracket on one or multiple sides of a block, such as a paragraph
  • Multiple lines — annotation of inline content that spans multiple lines

Beyond styles, the docs also cover ordering animations through an annotation group (pass a list of annotations to create a group; calling show on the group animates them in order), styling properties such as color, strokeWidth, and animation duration, and the option to skip animation entirely so an annotation simply appears when show is called.

Practical notes

  • The site describes RoughNotation as a small JavaScript library, so the GitHub README is likely to be short — expect the documentation to be a single reference page rather than a large docs site.
  • The site does not state pricing or licensing terms in the material available here. Check the GitHub repository for the license and any current terms rather than assuming.
  • If you only need to confirm a style name or a configuration property, the project page itself may be faster than the repository; go to GitHub when you need the actual code or want to file an issue.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality.

Domain and Registration

Registered in 2020, this domain has about 6 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is GoDaddy.com, LLC, a widely used domain service provider. The domain uses the common .com extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by NS1, indicating managed DNS hosting. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. DNSSEC signatures were not detected, so this additional DNS authenticity protection is not confirmed. The lowest observed DNS TTL is 120 seconds.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. No obvious internal addresses or debug information were found in the headers. The Server header contains the custom value Netlify. No explicit CDN or WAF marker was found in the response headers.

Technology Stack Analysis

The public page identifies Google Analytics, Netlify without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. Twitter Card metadata is configured. The title has 13 characters, within a common display range. A meta description is present, with 85 characters. The observed directives allow indexing and link following.

Hosting and Email

DNSNS1
HostingNetlify
EmailUnknown
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) United States flagAshburn, Virginia, United States Inferred 18.208.88.157

Registration details

RDAP / WHOIS

RegistrarGoDaddy.com, LLC
Registered2020-05-25
Expires2027-05-25
Domain statusclient delete prohibited、client renew prohibited、client transfer prohibited、client update prohibited
Nameserversdns1.p04.nsone.net、dns2.p04.nsone.net、dns3.p04.nsone.net、dns4.p04.nsone.net
DNSSECunsigned

DNS records

DNS

TypeNameValueTTLPriority
Aroughnotation.com18.208.88.157120—
Aroughnotation.com98.84.224.111120—
NSroughnotation.comdns1.p04.nsone.net3600—
NSroughnotation.comdns2.p04.nsone.net3600—
NSroughnotation.comdns3.p04.nsone.net3600—
NSroughnotation.comdns4.p04.nsone.net3600—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectroughnotation.com
IssuerLet's Encrypt
Valid until2026-11-22T16:15 · Remaining when checked: 43 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=UTF-8
cache-controlpublic,max-age=0,must-revalidate
serverNetlify
strict-transport-securitymax-age=31536000

Identified technologies

Google AnalyticsNetlify

Pages, Search and Sharing

Meta descriptionA small JavaScript library to create and animate hand-drawn annotations on a web page
Canonical URLNot detected
LanguageEnglish (default)
Twitter Cardsummary_large_image

No robots.txt found

No sitemaps found

User reviews (0)

  • No reviews yet.